Latest Blog Posts

Polymer Expressions – Filtering

Matthew Butler, on 28 Aug 2014
Polymer is a great library. I use it every day and I’m often finding hidden gems that make life so much easier. Today I wanted to touch on some goodness of Polymer Expressions. In particular setting up and using filters. It used to be that setting up filters in Polymer was a little bit of a task, having to create a new object which implemented or extended some kind of filter object. I don’t recall now the details, just that I recall using it was very inconvenient. I’m not sure when exactly it changed, as I gave up on filters... read more

When to TDD and When Not to TDD (an exercise with Polymer.dart)

Chris Strom, on 27 Aug 2014
According to git lslt, it has been six months since I last updated the parent events chapter in Patterns in Polymer. Six months! I start my review, as always, with my tests:$ pwd /home/chris/repos/polymer-book/book/code-dart/parent_events$ ls -l testtotal 0lrwxrwxrwx 1 chris chris 11 Dec 7 2013 packages -> ../packagesSon of a… Bad developer! Bad author!I will not produce another edition without complete test coverage of the examples in the book. I will not worry about the code in the “play” area of the repository—that is mostly meant for spiking new features or exploring new facets of Polymer. But there is no... read more

Side Effects may include… being wrong!

Matthew Butler, on 27 Aug 2014
Yesterday, I wrote a post about Side Effects. My post was based on observed behaviour, as opposed to the mechanics of the Dart VM. I am happy to report that my last post was wrong. Yes I was wrong, and yes I am extremely happy about it! I received a number of comments indicating that no, Dart is a pass-by-value for everything. Additionally I received a number of comments indicating that Dart is actually always a pass-by-reference. In fact, both are correct… sort of. The fact that the responses I received also go to show that the terminology and mechanics... read more

Dart 1.6 adds support for deferred loading

Kevin Moore, on 27 Aug 2014
Dart makes creating complex applications easy, but large code size can negatively affect startup time. Dart 1.6 added support for deferred loading, which allows developers to load libraries only when needed, allowing for quicker load times and a better user experience. The Dart site has an article describing how to use deferred loading in your application.Dart 1.6 also contains a number improvements which improve the security of server applications. The Uri class is now more strict about malformed data and HttpServer now defaults to sending best-practices headers to help protect your application and your users.For summary these and others changes... read more

Side Effects

Matthew Butler, on 26 Aug 2014
Dart, like many other languages, uses pass-by-reference for complex objects, and pass-by-value for simple objects. This can occasionally be confusing or surprising to someone new to the language. It may not always be clear when your function will have side effects or not. So I decided to create a simple project which helps highlight when you can expect your function to have side effects. This post uses terminology which is totally wrong. See my follow up post Side Effects may include… Being Wrong! The table here is still good, but has been slightly modified to accurately reflect the terminology and... read more