

Ask HN: Which JavaScript framework should a beginner chose? - lnk2w

I&#x27;m learning web development right now, and every time I search for a framework or library I get lost in how many options I have. So far what I got is:<p>Angular: Google&#x27;s framework, is the framework teached by freeCodeCamp.<p>React: New kid on the block, made by facebook. People seems to like.<p>Ember + Handlebars: Some people said that is better than Angular.<p>Backbonejs: All I know is that is teached by The Odin Project.<p>For someone who is starting, after JS which framework should I choose.
======
spankalee
I'm biased because I work on Polymer, but I'd say.... No framework - use
custom elements.

Frameworks tie you into their silo, which is different and isolated from all
the others. This is a terrible situation for developers (and ultimately users
as dev effort is wasted duplicating things for each framework).

Custom elements are a way to define your own HTML tags. These work like other
elements: they have attributes, events, child nodes and properties. They can
be placed on a simple static web page, or wired together into complex apps.
Elements are (mostly _) naturally interoperable with other elements and even
the plethora of frameworks.

Where Polymer fits in is that it's a library that help you write custom
elements with support for templates, marshaling attributes, data-binding, etc.
as well as some polyfills for web component standards.

It's very useful, IMO, but the real beauty is that Polymer elements don't_
leak to the outside that they're made with Polymer - they're just elements. If
you use another custom element framework you can still use Polymer-made
elements.

* The big caveat is this thing called Shadow DOM which is hard to polyfill. Polymer uses a near-polyfill called Shady DOM that can be important to use in some situations. It's still possible to interop with other frameworks with some configuration though.

------
skadamat
I would hold off on any of these and actually work with vanilla JS + some
jQuery. Once you outgrow those, THEN move to one of the above. The first 25%
of most web apps won't need need anything past plain old Javascript and some
jQuery. IMO it's better to learn the framework only when you out-grow the
basic beginning tools, that way you also have a greater appreciation for the
philosophy behind why some of these frameworks emerged.

------
rndywcks
If you're just beginning, and don't have a particular need for any one
framework, I'd say go with Angular. It's by far the most widely used and
popular of the choices (using github stars, # of modules, stackoverflow
questions, github contributors, and github forks as indicators).

------
vdaniuk
You're learning, there is no practical benefit in limiting yourself just to
one framework.

Spend at least several weeks at learning all of them: Angular 2, Ember 2 and
React. Learning by comparison will be much more beneficial for your
understanding than doubling down on one framework.

