Live data from Hacker News

Poll: Which JavaScript framework do you use (and why)?

news.ycombinator.com

51–60 of 78 posts

Re: Poll: Which JavaScript framework do you use (and why)?

#51
I use Backbone because I see it as the C of javascript "frameworks". It doesn't do anything, it doesn't pretend to be all-encompassing but it's small and efficient. The fact that it's been in use for quite some years also created an ecosystem of good practices and additional software to complement what some people consider shortcomings of Backbone itself. But shout out to all the other frameworks who are tackling the problem from different angles and provide choice and competition to the field, this is all very healthy and will make developers and ultimately users happiers in the end.

Re: Poll: Which JavaScript framework do you use (and why)?

#52
post #47

I chose Angualar due to having the largest community, biggest backer (Google), and the positive reviews. I'm a huge fan but sometimes think there's a bit too much "magic" happening. The worst part however is the learning curve, which can be brutal for new javascript devs. Still, the more I hear about Angular 2.0, the more I realized AngularJS was the right choice and will be the dominant framework for the web moving…

So I've been using angular almost daily for a year and a half now and I might be biased, but from what I've done on other frameworks angular is still my personal favorite. Good choice.

I'm curious what you mean by "magic." Once you understand how it all works, there's no magic. Though you are right that it takes time to understand. I feel like the magic is just part of that learning curve.

Re: Poll: Which JavaScript framework do you use (and why)?

#54
Ember, Ember, Ember. Oh, how I love thee.

There are a few types of javascript styles that I've found are pretty common.

- Event Based (jQuery-esq) - Class Based with router (backbone, marionette, et al) - Declarative with routing (Ember, Angular)

Of those, I think the declarative applications tend to build out into easy to maintain systems. State management is easier, extending is easier, and most tend to build easy to digest components that are small and cohesive.

I've found that Ember scratches a number of itches for me when it comes to building out a declarative system. The biggest win for me is the fact that Ember's router is a really, really fantastic bit of engineering. The way that you can build out state into your router and have classes and components that react to those state changes is a super elegant way to develop web applications, for me. Combined with the outlet system for managing complex view trees, and it's a slam dunk.

Ember's system of routes, controllers, and views help me maintain single responsibility principles, because I have a clear definition of what a route does, what a view does, and what a controller does. Things are even easier when you get down to the refactor stage and start moving everything you possibly can into components (which are forward compatible with the upcoming specifications for web components).

The only reservation is that, because the style of MVC that ember follows, the learning curve can be a bit drastic. They've been solidly improving since 1.0 dropped and the wealth of materials out there that are outdated or old (pre RC days) are dropping off of the SERPs pretty rapidly.

Ember's a joy to work with. For 85% of the web applications out there, you probably won't need to venture out of the framework all that much. However, when you DO need to venture out of the framework, it can be a really frustrating experience. The primary example would be integrating something along the lines of D3 or Three.js, or honestly any library that expects to manipulate the DOM directly, as ember's reliance on handlebars is pretty complete. This means that having a view class manage user interaction events really can't be decoupled from the rendering of the view itself, which I feel like is ember's biggest issue right now. Secondarily, there is a personal need for better hooks for view lifecycle events, for providing things like animations / transitions in and out. animated-outlet is a potential solution, but I'd much rather do it the 'ember way' with hooks I can define in my controller classes rather than using a one-size-fits-all style solution (which is what I feel like animated-outlet is).

Don't let these things detract you from really diving into Ember. It's honestly a super refreshing and highly efficient way to build javascript applications. The state management of URLs within the router as well as the very clear and well enforced separation of concerns helps reduce code rot and smells before they even get started. Once you're past the initial learning curve, you'll be shocked at how rapidly you can develop robust, focused applications.

Re: Poll: Which JavaScript framework do you use (and why)?

#55

Backbone (though I want something lighter weight and w/o the jquery dependency), backbone-signal, Handlebars, browserify. I have a single app model which uses a bunch of reactive signals and other registry data. The great thing about browserify if it give you commonjs for the client side. commonjs takes care of the structure & naming of your domain logic. It also allows you to create fine-grained modules, which is wo…

backbone's only hard dependency is underscore, it's also the lightest library on this list by a solid margin

Re: Poll: Which JavaScript framework do you use (and why)?

#56

Ember, Ember, Ember. Oh, how I love thee. There are a few types of javascript styles that I've found are pretty common. - Event Based (jQuery-esq) - Class Based with router (backbone, marionette, et al) - Declarative with routing (Ember, Angular) Of those, I think the declarative applications tend to build out into easy to maintain systems. State management is easier, extending is easier, and most tend to build easy…

I've been working on a less-JS heavy declarative client-side library called intercooler: uses partials, REST-ful url conventions and declarative HTML5-style attributes to drive AJAX-based apps:

http://intercoolerjs.org

Hoping to get some video tutorials up in the next day or two.

Re: Poll: Which JavaScript framework do you use (and why)?

#57
As it happens, most of these projects are JavaScript libraries leaving only Ember, Spine, and Batman labeled as bonifide "frameworks" by their respective maintainers.

If your intention is to build JavaScript applications and the different philosophies of these projects isn't obvious to you, then I think it's worth hearing Yehuda Katz and Tom Dale make the case for frameworks (specifically Ember) in their keynote presentation at Fluent 2014: http://youtu.be/jScLjUlLTLI

Re: Poll: Which JavaScript framework do you use (and why)?

#58

Disappointed (but not surprised) to see Twitter Flight missing from this list. Flight + jQuery has been stellar for me, building several applications of varying complexity (one basic CRUD app with a little bit of flair, one pretty client-intensive app, though no client-side routing, and a few in between).

Came here wondering if I'd see anyone else using flight. Really liking it as a light weight framework/lib so far.

Re: Poll: Which JavaScript framework do you use (and why)?

#59
Both Angular and Ember. I love them both. Sue me.

I've written 2-3 large applications in Angular, I've contributed ~1200 lines to Angular 1.3, and racked up a lot of points on StackOverflow answering questions around Angular.

However, I'm currently working on a pretty crazy real-time app for Netflix that's all in Ember, and I wouldn't have it any other way. I have the pleasure of working with @ebryn there, and it's been an awesome experience.

In this poll, there are really just those two frameworks. The others frankly aren't in the same league right now.

I've yet to read what I thought was an unbiased, honest comparison of the two. Generally, anyone that does a comparison has one favorite, and the other they barely know. I'm hoping to remedy that at some point, but I still feel my Angular experience out-weighs my Ember experience. At least for now.

However, preliminarily, I can say that both frameworks are absolutely brilliant attempts to solve similar problems in completely different ways. I think they both have a LOT they could learn from one another. I prefer a convention-based approach, which is one thing I love about Ember... That said, I prefer Angular's constructor-based DI over the setter-based DI of Ember... That said, both of them have somewhat primitive IOC containers that could be better (which is a whole blog post by itself)... THAT said, Angular allows developers to put too much logic in their templates via expressions (harder to test)... THAT said, Ember's structure and composition isn't quite as easy to pick up if you're new to the framework... THAT said, Angular doesn't require any other libraries and is very compact... THAT said Angular's directives allow for wild-west spaghetti code and give developers enough rope to hang themselves... blah blah blah

... the point is, I could go on forever. Both libraries have REAL advantages over one another, but libraries have REAL disadvantages over one another as well.

# Embular.js in 2016!! Change the world!

What I'm hoping for is that the incredibly brilliant minds behind these two efforts see the light and join forces. Even work with the folks designing ES6/7 and the future of HTML/DOM...

What I'm hoping stops is the "my framework is better than your framework because _______." silliness.

Re: Poll: Which JavaScript framework do you use (and why)?

#60

Earlier quoted context omitted.

This should be, "Do you know JavaScript inside out?". Native JS is where people should be starting.

Exactly... As crockford would say "The World's Most Misunderstood Programming Language Has Become the World's Most Popular Programming Language" http://javascript.crockford.com/popular.html

jQuery -- The world's most popular misunderstanding ...
Post reply on HN