Hacker News new | ask | show | jobs
by otto_sf 4200 days ago
Familiarity with frameworks is useful, but knowing plain JavaScript inside out is way more valuable than being able to recite various APIs. But if your friend hasn't found the job yet, and therefore doesn't know what framework he will spend his days learning to loathe, I'd say put together a few small projects with a smattering of libraries to get a better sense of their strengths and weaknesses, what problems get solved, etc.
3 comments

This is the right answer. The best stack for a JS beginner to learn is JS, HTML, and CSS. Throw in some localStorage if you need persistence. The OP is definitely coming at this from the wrong perspective (the need to pick a framework). Instead, learn the core fundamentals and perhaps the nuances of a few different libraries, before you have to pick a stack. Otherwise, you won't even know the pros/cons of the stack you've chosen.
The word "framework" should always raise flags, because it implies a coding universe that is unfriendly to external software, thus hampering composability.
Totally agree. I would go so far as to say one shouldn't use (or even pick) a framework, before having the skills to write such a framework. The benefit of a framework should be time savings; it cannot make up for lack of understanding of what the framework is doing and why. Continued use of the framework should always be weighed against the cost (unfriendliness to external software and composability).
I agree - I definitely think its worth exploring a few. A good first framework to try is Backbone.. Backbone would not be my choice if I were starting a serious new project today, but because it is small, simple, and has very approachable and well annotated source code it is an easy framework to pick up and understand deeply. I would recommend reading through and then implementing a simple example like a to-do list, and then taking an hour to read through the annotated source.

After doing a small project with backbone, other frameworks like react + flux / angular or ember will be easier to pick up, and the tradeoffs they make will be easier to understand.

Agree with learning plain JavaScript.

Then I would suggest building a project with jQuery. It has been around for years. Any seasoned JavaScript programmer will have encountered a project that was based on jQuery. It will also help you understand the motivations behind the creation of the more recent frameworks: React, Angular, etc.