Skip to content

Comment on Why I switched to Spine.js

Comments

Nice overview. Have you ever looked at knockout.js?

My team & I originally tried out a non-trivial app using KnockoutJS, AngularJS and EmberJS.

Knockout was comfortable for me, as I had a Dojo templating background where you'd often specify "dojo-attach-point"s for direct references to specific DOM nodes within your view/template. Knockout seems to be half-angular (DOM attribute bindings) and BackboneJS (Javascript views, logic).

AngularJS seems to be all DOM-specific logic, binding, etc. You're able to extend it for your custom logic, but as things got more complicated we had difficulty grepping the large markup.

EmberJS polluted the DOM too much for us, particularly when creating dynamic forms, although it seemed to be a much more opinionated BackboneJS.

Currently, we're back to using BackboneJS + RequireJS, specifically where our Views have no idea what markup is under them, and the template only defines which "attach points" are needed for events.

Really, BackboneJS, SpineJS, AngularJS, EmberJS & KnockoutJS are all extremely fine frameworks, each with their own methodologies (or lack thereof). We've found that each one is best when applied to a specific use-case, while none are ideal for the majority of cases. (Some would argue Backbone is great in every case, but that's because it's practically a blank slate. That's like saying Javascript is great in every case! :D)

That review is helpful. I'm going to keep BackboneJS + RequireJS for my project. Technically BackboneJS + almond.js since I build require for production. It seems BackboneJS is the most abstract implemented framework. I always prefer unobtrusive framework.

Thanks for the quick review. I'll be curious to see how the javascript MVC & MVVM patterns come of age when Windows 8 and Metro apps allow for native javascript applications.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.