5 ms·
Ask HN: What's the best path for learning JavaScript for web development?
I'm a web developer who doesn't know Javascript. Yes, that's a bit shameful to say, since Javascript is the language of the web. I've basically managed thus far with just backend languages and frameworks and hacking together CSS/Bootstrap/a tiny bit of jQuery, but obviously I need to learn JS.
Assuming I have close to zero JS knowledge but know how to program, what's the best learning path for me to become competent in frontend development?
One idea I had was
1. Read Eloquent Javascript
2. Read Javascript--the good parts
Work on side projects using this stuff as I read through it
3. Read a book on jquery, keep doing side projects
And then eventually start learning a framework. Is this a good plan? Any suggestions?
- atmosx 11y agoI have this one[1] and it seems to be extremely well written. http://www.amazon.com/JavaScript-Definitive-Guide-Activate-Guides/dp/0596805527 http://www.amazon.com/JavaScript-Definitive-Guide-Activate-G...
- gt565k 11y agoI think you've got a pretty good starting point. Once you get fairly decent with JavaScript, I'd like to recommend 3rd Party JavaScript http://www.amazon.com/Third-Party-JavaScript-Ben-Vinegar/dp/1617290548/ref=sr_1_1?s=books&ie=UTF8&qid=1445985347&sr=1-1&keywords=3rd+party+javascript http://www.amazon.com/Third-Party-JavaScript-Ben-Vinegar/dp/... It's a great book that taught me how to create JS widgets (think twitter feed or disqus comment widget).
- kat 11y agoI learned Javascript from a desktop app background. I started by just reading the Javascript docs. Memorizing the available functions, and then I focused on learning how to write things javascripty. Personally I find learning more rewarding when I move faster, so I dove into frameworks first instead of learning the low-level javascript (prototypical inheritance, etc).
- rnovak 11y agoI've really never learned anything well by learning a book, maybe you'll have the same luck (or lack-thereof). Id' start building stuff. Follow tutorials, and then starting looking at API docs and experimenting. After that, I'd follow along with 'JavaScript Ninja'[1], straight from John Resig (who designed/wrote? jQuery), which gets into the prototypical inheritance, etc. I've gotten past some fairly well-known Technical interviews through the above approach. Either way, good luck with your journey. http://ejohn.org/apps/learn/ http://ejohn.org/apps/learn/
- Mimick 11y agoIt's not shameful, JS is one of the most complex languages out there. And most web developers just ignore it and go for jQ like it's the new JS. What I did once is I worked on a project only with pure JS, and did some complex ideas there and since then I feel comfortable working with it. I work with it purely only on my personal websites since it's take longer time.
- ggurgone 11y agoForget about Bootstrap and jQuery, learn vanilla js. Reading Eloquent JavaScript is a good starting point. Once you are done with that, build something and join #javascript @ FreenodeIRC and ask for help when you get stuck on something. The good parts is nice but keep in mind that it is very opinionated, still it is worth reading. There are some lectures by Crockford on youtube too (tl;dr) https://www.youtube.com/watch?v=JxAXlJEmNMg&list=PL7664379246A246CB https://www.youtube.com/watch?v=JxAXlJEmNMg&list=PL766437924... Also this on OOP https://www.youtube.com/watch?v=DwYPG6vreJg https://www.youtube.com/watch?v=DwYPG6vreJg Finally you may want to familiarize with the most common JavaScript design patterns (some are not unique to js) http://addyosmani.com/resources/essentialjsdesignpatterns/book/ http://addyosmani.com/resources/essentialjsdesignpatterns/bo...
- pomba 11y agohttps://www.udemy.com/understand-javascript/ https://www.udemy.com/understand-javascript/ Try this out man, one of the best tutorial ever!
- Ch_livecodingtv 11y ago1. Understand what JavaScript Is and Isn’t 2. Enroll a java script tutorial. 3. Read JavaScript and try coding together with it. 4. See people actually doing it. This video might just help you. https://www.livecoding.tv/video/javascript-fundamentals-2/ https://www.livecoding.tv/video/javascript-fundamentals-2/