Thursday 12 December 2013

Dipping into dart

Google GO

After spending the last 15 years writing Java on Tomcat  and Swing for the GUI interfaces my gaze switched to a new kid on the block that new kid was Google GO or golang as it is know by it users. After spending some time getting used to the new language I pretty much switched all my development to GO, it is a really nice language that feels fantastic to code in but requires a step back from the Object Orientated world that Java gives, needless to say I am a big fan.






Enter Dart

I started noticing Dart about 12 months ago but really didn't have the time to have a real play with the language, I was starting to rewrite some of my frontend javascript code and was considering a number of javascript frameworks including Ember, Angular etc, but the all made come to the same conclusion, it was the <flamewar start="true"> javascript I did not like in the same way I am not a PHP fan as these languages seem coughed up rather than designed </flamewar>. Dart seemed the answer to my frontend development conundrum, an elegantly designed language with optional static typing (yes I do like that java boy pre-generics see!) more importantly I was able to do something useful in less than a minute which is my golden rule for testing software (Blender I love you but you fail this test).

Simple and Beautiful

Dart has made design on the browser similar to developing in Java again, currently I develop in Intellij Idea 13 Ultimate and have two modules in the project called backend and frontend, these are a golang and dartlang module respectively.

Dart allows object orientated design in the browser and with the addition of the polymer UI library port allows custom components to be created in an encapsulated way.

The Future

Because Dart compiles to javascript there is really no downside to developing in Dart, even if the Dart VM is not widely adopted (I hope it is) you can relax in the knowledge that dart2js will convert your code for running on any modern browser.

The hardest part of learning any new language is to learn the "toolkit" functions that you take for granted in other languages you know well, and on that note I would like to congratulate the Dart team on some really useful well though out documentation it really is excellent.

So head on over to dartlang and grab youself a slice of the future today.