Live data from Hacker News

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

news.ycombinator.com

51–60 of 61 posts

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

#51

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…

There should be a project euler for web devs. What better way to learn js than to do 1-day (1-hour?) projects with a clear and specific focus on one concept or one browser API? Example of first week complexity: make a choose-your-own-adventure player from a list of {id="sec01", text:"..", links:[{'Continue':'sec02'}, ]}s. Second week: Wrap the chrome speech API[1] to produce a "game editor" for the above format. Thir…

There are some good learning resources that take the guided approach:

- http://codecombat.com

- http://www.codecademy.com/en/tracks/javascript

- http://nodeschool.io

(I haven't used any of them, but these are the ones that I've heard about)

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

#52

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…

That sounds like the most boring possible way to learn webdev. Unless they're already a programmer, those things just aren't entertaining for most people. Making sure a beginner stays entertained is probably the most important goal, because people who get bored will give up before realizing their full potential. So if anyone's reading this and feeling bad that they don't feel like doing that, just dive in and do some…

That was just a suggestion for the technical path. Motivation is a different exercise, I agree that the best way to learn is to try and build something you find fun/interesting.

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

#53
post #27

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…

Backbone and react.js is indeed an awesome combination for single-page web applications. React makes for an awesome templating layer, and makes the performance of rendering dramatically faster than using more complex Backbone views in the traditional manner. Throw in backbone-react-component to get react views that automatically update when the underlying model or collection changes and you have a damn good stack.

IMO when already learning React it's no use learning Backbone at all. Better start with Flux.

Backbone is not needed with React and although it is possible for them to be together (hell, we lived React+Backbone for almost a year), everything gets so much nicer when you can finally drop Backbone baggage.

It might be possible though that in order to see where Flux shines, one has to sweat through limitations of Backbone. That may be valuable experience.

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

#54

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…

Absolutely agree with you, @ricardobeat. Stay away from frameworks and simply go over a Node tutorial and build simple web apps with Express.

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

#55
I'm not sure how hands on you are being teachinging your friend, but I tried going the full JS stack route with another friend with only 2-3 courses of programming under his belt, and he clearly was struggling due to the complexity of tooling, setting up environments, and generally having a difficult time figuring out the problems & coming up with solutions to them - I am not inexperienced with teaching either, having done it in various capacities (as a paid & unpaid tutor, a lecturer, and discussion section leader).

FWIW, we were working with Sails.js (http://sailsjs.org/), with the intent to getting to use Socket.io, Angular.js, and MongoDB - the setting up of Sails and understanding what things did in Sails ended up being the problem spot.

Instead, I changed my approach to act more like a mentor and have my friend go along the excellent Ruby on Rails Tutorial (https://www.railstutorial.org/). Things have been much better, although my friend has fallen on his face a few times with Git & SSH in general. I now believe a good intro text is worth far more than picking the right framework(s) to learn.

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

#56

Earlier quoted context omitted.

There should be a project euler for web devs. What better way to learn js than to do 1-day (1-hour?) projects with a clear and specific focus on one concept or one browser API? Example of first week complexity: make a choose-your-own-adventure player from a list of {id="sec01", text:"..", links:[{'Continue':'sec02'}, ]}s. Second week: Wrap the chrome speech API[1] to produce a "game editor" for the above format. Thir…

There are some good learning resources that take the guided approach: - http://codecombat.com - http://www.codecademy.com/en/tracks/javascript - http://nodeschool.io (I haven't used any of them, but these are the ones that I've heard about)

I just went through a few of the nodeschool.io courses. They're a good starting point, but don't stand alone in my mind. You'll end up supplementing the lesson "hints" with info online, but that's also a good way to familiarize yourself with various packages.

I just wrapped up the one for Hapi.js which was slightly out of date in NPM (the source on Github does seem up-to-date).

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

#57
I'd agree with most everyone here that plain javascript should be your first step. However, once you get past that stage I'd recommend the following:

- React: by far the most enjoyable UI tool I've used in a long time. Single-direction data flow is easy to reason about and requires very few new concepts to learn.

- Reflux: have your react components trigger events that update your data store. I find flux to be a little too complicated for my tastes. Reflux removes the need for a dispatcher and just has events and stores.

- Browserify: makes writing modular JavaScript much much easier by using node-style CommonJS imports.

- react-router: react style routes makes structuring your apps routes intuitive.

I've included these tools and more in a starter project I have on github: https://github.com/builtbybig/starter

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

#58

Why not AngularJS?

Not sure why you got downvoted - when I was a junior developer, I got tasked with investigating building a simple app with Backbone, Ember, and Angular in order to determine what to use going forward for the non-profit I was working at (I didn't make the call what framework to use, I was just the test monkey for how to implement a simple app in all three frameworks). Angular turned out to the easiest by far to get work done with exposure to some advanced concepts - Backbone's documentation was very confusing since everything was in a flat list with high level details buried in there & not enough explanation, and Ember's templating system was very rigid and highly dependent on build processes for someone who had no experience working with tools such as grunt or gulp at the time.

React is probably the best candidate to achieve that simplicity along with Angular, although I would give Angular the edge, simply because it does not rely on tooling to build a small app and still benefits just as well from it when it is present. The documentation, even two years ago, was better than Backbone's at the time (and as far as I can tell from a recent study of Backbone, still is) - Ember's might have been a little better, but it also threw more stuff at you upfront.

The expert can probably work with all of these frameworks just fine - in the end, finding what framework (or no framework) jives with you is the best for your long term development. Become an expert with one, then experiment with others to draw good ideas from them and incorporate it into your code style, that is what separates the good developers from the rest.

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

#60
post #26

For a single page app framework that encourages modularity and eschews unnecessary complexity, I highly recommend Mithril. It's pretty trivial to hook it up to a REST API which you can build in Rails or whatever.

I've seen Mithril around and it looks interesting, but the thing I'm wrestling with is whether it's better to check out this niche framework or start with something more popular like React (plus whatever for the M_C part of MVC), or Angular.
Post reply on HN