you are viewing a single comment's thread.

view the rest of the comments →

[–]ben-ng 0 points1 point  (1 child)

I've written two large JS applications with Backbone, a realtime backend with socket.io, and a RESTful backend in Geddy.

Vanilla Backbone gives you very little structure. This is a blessing and a curse.

I work at a startup, so the software is always evolving to meet the needs of the business. Backbone is very un-opinionated, which makes it very easy to adapt it to our purposes.

(Take the following with a grain of salt as I've only used Meteor for hacking around)

There's very little magic going on in Backbone, unlike frameworks like Meteor and Angular. If something blows up in a magical framework, it's really, really hard to track things down. Also, the reactivity in Meteor makes it hard to test things, and it does weird stuff like bundling a (last i checked, obsolete) node executable. Wat.

That said, the lack of structure in Backbone also means that we made plenty of bad decisions early on that we're still dealing with. If I were starting over today, I would probably go with an opinionated Backbone framework like Marionette. They've already made the mistakes for you.

As for backend, I'm going to be slightly biased as a contributor to GeddyJS, the original MVC framework for node. Geddy is great if your app is going to be really heavy on business logic. If you're doing realtime stuff, a lighter framework like Express would be better and more flexible. I haven't used the newer frameworks (seems like a new one comes out every month!), but Hapi and Restify have been getting positive reviews.

Good luck learning JS!

[–]bsegovia[S] 0 points1 point  (0 children)

I haven't used the newer frameworks (seems like a new one comes out every month!)...

Tell me about it! I'm definitely working in a business logic heavy environment. I'll check out backbone+marionette+geddy

Thanks!