I think BackBone is a much better way to create apps than Angular

0    16 Jun 2016 05:44 by u/prahladyeri

Folks,

I've been an Angular.js dev for the large part since last few years. But since I discovered BackBone.js a while ago, I was overwhelmed by its simplicity and its minimalistic approach to app design. I like the fact that it doesn't force you into a convention like `ng-*` attributes, dependency injection pattern, directives, etc. It just hands you clean `Events` and `Routing` modules that you can take and extend into whatever you want.

I'm a programmer more than a web-designer, so I don't like restraining myself by not using jQuery and the ng-* attributes just feel too crippling. I think using BackBone.js instead of Angular has the following advantages:

1. No forced convention to follow like DI, attributes, directives, etc. 2. Performance boost. As your app starts to scale and the number of page elements increase, Angular usually starts to crumble under the pressure. 3. Freedom to choose any JavaScript/jQuery library like DataTables.net, jsPlumb, jsTree, etc. You can straightaway add these in a BackBone app, whereas you have to `angularify` it first by building directives in an angular app. 4. Industry usage: There are `trello` and many such time-tested apps built with Backbone. I'm yet to see a popular one built with Angular. (If the makers of StackOverflow (Fog Creek Software Inc.) chose Backbone over Angular, it definitely means something).

In other words, I don't see a single reason to continue using Angular in future web apps. What are your thoughts?

2 comments

0

Curious, have you looked at ampersandJS?

I also like backbone, but I haven't delved into angular yet to compare.

0

This is hilarious as Backbone predates Angular.

And what you're discovering are some of the tradeoffs/pitfalls of Convention-over-Configuration frameworks.

Both are convention-over-config frameworks, but Angular more heavily than Backbone, and it appears you've begun to feel the pinch/restrictiveness of the former along with its domain-specific lexical bloat.

In in the end it boils down to what you are trying to accomplish and picking the right tool/framework for the job.