Tag Archives: angularjs

Coding again

I’ve rolled up my sleeves and started coding again.

My development team on Crisply really doesn’t like front-end work.  We’re solving some very interesting problems on the back-end and those problems are truly the make or break for the product.  This made it easy to ignore the UI or at least to spend as little time as possible.

The current app is a split between traditional rails views and a Backbone front-end. The Backbone front-end is itself a hybrid with ERB generated templates and javascript.  It’s generally no fun to maintain.

So I decided to roll up my sleeves and make a fool of myself.  I’ve been playing around with Javascript since 1995 when I first started working on Internet Explorer.  Many things have changed but Javascript is still both great and awful.  It’s like assembly language Scheme.  No macros and a messy syntax.

After looking at many frameworks I concluded that the good ones had a bad case of language envy.  Like Java beans things like properties are explicit methods on top of the language.  This is where Javascript sucks.  It’s very difficult to create abstractions that feel language integrated.  Instead it feels like you’re reading the output of a compiler.  All the time.  ECMAScript 5 will help a lot.

The one framework that stood out was Angular.js.  It reminds me a lot of the data binding features in IE that my friend Sam Bent worked on.  After much experimentation I feel that my initial instincts were valid.  Although Ember.js is almost certainly more mature than Angular, I think Angular is a better fit for me and my team.  It allows all us to write code that all of us can extend and maintain.

I’ll be most posting more as I continue to learn and hopefully master Angular but the primary goal is of course a working UI for Crisply.