Hacker News new | ask | show | jobs
by znebby 3550 days ago
For someone wanting to learn modern javascript, it's so hard to know where to start. So many different frameworks to pick from.

There doesn't seem to be much point asking for suggestions either, as everyone has a different opinion on what's best.

5 comments

You should start with React, honestly. Learning React is a bit about learning the framework but in order to be a good react dev, you mainly need to know how to write some good JS. React views are not templates, they are just javascript function calls (JSX is just some sugar on top of some JS function calls).

After that you can basically try anything, but at least you will know pretty much everything about what modern JS has to offer!

I would recommend starting with create react app [1]. I think it can be used with other libs than react as well, the thing is just a strong webpack + eslint preconfiguration so you don't have to worry about it.

[1]: https://github.com/facebookincubator/create-react-app

I second it. If you are starting out, React is the way to go. Of all the frameworks I have tried, React is the one that seems most "sane" to me. Either React or Elm.
If you're interested in Vue.js, Laracasts has a pretty great free series on it here: https://laracasts.com/series/learning-vue-step-by-step
Once you learn how one framework works, it becomes much easier to try out other ones. Most of them adopt similar patterns. Sort of like programming in general :)

If I had a recommendation, it would be to just stick to one for a little while, and then once you're comfortable, branch out and try to 'optimize your opinion'.

edit: and I wouldn't recommend any specific one. If it's the first one you ever learn, and aren't building any serious projects with it, honestly choose whatever the hell you want.

I'm in a very similar boat. I always avoided the Front End like the plague in jquery days. I played with Vue 1.x and liked it a lot. 2.x certainly captures my imagination I may build something beyond an API ;)
That seems to be a big problem in the JS world (I am a mainly back end dev).