

Ask HN: What JS framework do you use for web apps? - colinhowe

Trying to find out what JS frameworks people <i>actually</i> use to build web applications rather than what people talk about ;)<p>By frameworks, I'm referring to things like Angular, Dojo, etc. If in doubt, mention it.<p>I'd also love to hear about what people think of the ones they've used.<p>I'll collate all this together and report back :)
======
kls
Surprised it has not been mentioned but almost everything I build not matter
the higher level framework, starts with require.js. Require alone goes a long
way to cleaning up code structure and overall architecture. I like Dojo for
really big corporate apps where I am basically replacing a desktop app with a
web based equivalent. It's popularity has faded in the past few years which is
a shame, because it and Ext are really the only two frameworks around that are
targeting enterprise apps.

For consumers facing stuff I generally use a combination of Backbone, jQuery,
underscore and some other libs added in as needed. That is probably the most
common stack you will see out there.

------
stopcyring
jquery.

fancy frameworks introduce complexity, bloat, bunch of magic that works behind
the scenes. for small stuff you don't care about it might be nice, for
anything serious i would run my own code.

~~~
bmelton
That's funny, as someone who's got a ton of bloated jQuery that we've mostly
migrated to Backbone, I would have argued exactly the opposite.

Our front-end guy, who is a jQuery wizard but new to Backbone, originally
looked at the conversions I'd done and was quick to remark at how clean it all
was.

Is there magic? Sure, but in Backbone, not that much of it. There's decidedly
more in Ember, but they're both open projects so you're welcome to go scour
through the magic and figure it out for yourself.

I would feel remiss if I didn't also point out that code you write in Backbone
is just as much your code as code you wrote in jQuery. As for magic quotient,
I would also suggest that jQuery is more magical than Backbone, on the whole.
If you think otherwise, that probably just speaks to a lack of familiarity
with one compared to the other.

~~~
Jemaclus
Serious question. I haven't figured out the need for MVC in JS. I'm primarily
a PHP programmer, and I use a custom MVC on the back-end. I don't see the
point in having two MVC frameworks (one in front, one in back). At the end of
the day, the front-end has to talk to the server to get data, doesn't it?
What's the difference?

~~~
bmelton
You may not, necessarily, but Javascript Frameworks 1) aren't necessarily
exactly MVC anyway and 2) if you're using the MVC in both frameworks, that's
sort of the wrong way to do it.

Using Django as the example (which has its own stack behind it) and Backbone
as the front-end, the only part of Django I really end up using, from an end-
user's perspective, is the ORM and JSON serializers.

The way that backbone works is that your 'models' don't read to or write using
the database, they read and write using APIs that you define with your normal
framework. So, where in Django, you might execute a .save() on a model to
commit it to the database, that same .save() operation in backbone will
execute a PUT or PATCH request to your API endpoint to which its bound.

------
wpiel
angular.js

This series of quotes from a dev I work with captures a common visceral
experience of working with angular.js for the first time: "I've never been so
frustrated with code before" ..an hour later.. "You stare at something broken
for 20mins, then the fix occurs to you and the truth of it is just so
beautiful." We switched from backbone.js to angular.js about 8 months ago, and
the team is generally very happy.

------
gabrielgrant
EmberJS: <http://emberjs.com/>

It's primarily author is Yehuda Katz, the man behind (much of) Rails 3

------
domrdy
jQuery + Backbone + Marionette for rapid prototyping. I usually throw in
Handlebars for templating.

------
entelarust
Backbone.js

------
chudi
jquery, jquery mobile only for the page/events system, not the ui

------
logn
SilkJS and Enyo

------
ttrashh
knockout.js

require.js

durandal.js

~~~
colinhowe
How do you find Durandal? It looks pretty much exactly what we want

------
mahesh_gkumar
Angular.js

