Live data from Hacker News

Ask HN: What is the best JavaScript stack for a beginner to learn?

news.ycombinator.com

11–20 of 61 posts

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#11
post #2

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 so…

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.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#12
I would go with Ember. The router will feel familiar as well as some of the concepts in ember-cli. The documentation is great. Ember Data is very stable (has been for the past 6+ months) and shouldn't be too difficult to grasp from ActiveRecord

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#13
post #2

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 so…

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 y…

The word "framework" should always raise flags, because it implies a coding universe that is unfriendly to external software, thus hampering composability.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#14
The phrase "Rails of javascript" doesn't make sense to me. What exactly is Rails...er...the "Rails of"? I'm assuming you mean something analogous to, "Rails is to full stack web-development as X is to JavaScript"...but that doesn't make any sense. Web development is a profession. JavaScript is a language. Maybe you're thinking that Rails is to back-end development as Something is to front-end development? But that doesn't make a lot of sense either, as modern Rails is pretty entwined into modern front-end development.

So I don't really know what to tell you, except that you probably have the wrong idea about JavaScript, and so the best recommendation is, as others have said, to work without a framework (other than jQuery, of course) until you understand what JS's role is in web development.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#15
I have to strongly disagree with people proposing Ember. Several teams I work with, teams with very strong js and rails background, have tried it out and uniformly rejected it as being too restrictive, pointlessly baroque, monolithic, unstable, and with immature tooling (ember-cli in particular). I know a lot of people may disagree with that list but that is my experience and that of several people I respect.

I'm not saying this is the "ideal" front end stack (because that has yet to be created) but a good simple starting point IMO would be backbone + react. Very simple, flexible introduction to concepts like router, functional reactive, and components.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#17
My 2c: stay away from any complex framework until you have a really good understanding of the language itself. Learn the DOM APIs with all it's drawbacks and bugs, DOM events, standalone browser APIs like Canvas, Audio, etc. Write simple node apps with express and modules whose sources you can read. Start using lightweight libraries like underscore / Backbone - you'll come to understand many of the issues that plague evented architectures and DOM manipulation; then you can approach Angular / React / Ember and actually understand how each one is solving those problems.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#18

I have to strongly disagree with people proposing Ember. Several teams I work with, teams with very strong js and rails background, have tried it out and uniformly rejected it as being too restrictive, pointlessly baroque, monolithic, unstable, and with immature tooling (ember-cli in particular). I know a lot of people may disagree with that list but that is my experience and that of several people I respect. I'm not…

Also, while I get where people are coming from who recommend plain js, really learning how to do good front end development is only in part about knowing js itself. The OP would also benefit a lot from learning some high level concepts you won't get from doing vanilla js - routing and components in particular - so keep that tradeoff in mind when deciding.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#19
I would start with implementing some backend in Node and Express, and with LevelUp for the database. Since you're familiar with Rails and backend development, it should be easy to build something quickly. Just make a simple API. That should show you the basics of JS!

After that, you should have enough JS knowledge to start building a client-side app that consumes your API. I honestly prefer AngularJS, but React+Flux seems like a fine choice.

Re: Ask HN: What is the best JavaScript stack for a beginner to learn?

#20
To provide a counterpoint to many of the responses here, I find that the best way to ramp up quickly in a language is to build a few small things using one or two of the main frameworks or libraries, rather than trying to just learn the language or specifically working only with microframeworks.

There are a lot of benefits that come from using mainstream existing frameworks and libraries from the beginning. You learn conventions pretty quickly, and immediately learn to write idiomatic code for that language. When you use a major framework or library there are typically a lot of blog posts and stackoverflow answers, more so than just for a language itself. When you track down errors you'll end up learning about how the frameworks and libraries work, and thereby learning about how to implement things you wouldn't have considered independently.

As a result, what I'd recommend is coming up with two extremely simple ideas for tools that he'd find useful for himself and implement one each with Ember and React.

Personally, I've been following this approach for many years (I'm currently simultaneously working on three new projects in multiple new-to-me languages like this) and it works extremely well in my experience.

Post reply on HN