Stefan Ritter blogging on JavaScript

 

Best Resources to Become a JavaScript Pro in 2015

Over the past couple of years I’ve done a lot of reading and learning to spice up my JS skills. Although I know there’s still and always more to learn, if I were to go back in time to advice my past self on what to focus on this is what I’d recommend. I believe this to be a run down of the best resources to take you from a beginning jQuery-reliant JavaScript developer towards becoming a JS pro. Hit me up on Twitter if you’d like to add to the list or correct me on my choices.

Vanilla JavaScript

  1. John Resig’s Tricks of the JavaScript Ninja Amazing book. Should be on every developer’s shelf. Period.

  2. Effective JavaScript A great companion to Resig’s book. Where Resig focuses more on functions, this book will give you the lowdown on the prototypical inheritance and the prototype chain.

  3. raganwald’s JavaScript Allongé & JavaScript Spessore These two are the Little Schemer of JavaScript. Reginald “raganwald” Braithwaite did a fantastic job in making me fall in love with the hard core functional programming capabilities of JavaScripts.

  4. Crockford on JavaScript The ultimate history and coding lesson by the man who discovered the good parts of JavaScript. In this epic multi-hour lecture series Douglas Crockford thought me the historic context of where JS is coming from and why it’s such a powerful language.

  5. Oh my JS This is a genius collection of the best JS articles on the web. Put together by Azat Mardan, it’s a great intro to Angular’s dependency injection and includes the article that brought about Promises as an ES6 feature.

  6. Answering the HTML5 boilerplate front-end interview questions This repo is a collective effort to collect the best front-end interview questions. Going through them one by one and making sure I can answer them all with certainty was one of the best exercises I’ve done.

Node / IO.js

These are my three top pics for learning node and server side JavaScript:

Performance

Steve Sounder’s books are still a great starting point for the basics of performative web development. Also make sure to checkout the videos from the annual Velocity conference (best found on youtube), which is organized by Steve and dedicated to web performance.

Hands down the best overview on performance, critical render path, and website optimization can be found in these two Udacity courses:

AngularJS

There are thousands of Angular tutorials and books out there. It’s a very popular framework. If I would have to recommend one and one only book on Angular, however, I’d know immediately which one I would recommend:

AngularJS: Up and Running

The book is co-authored by Brad Green, who leads the Angular team at Google. And it shows. This book will teach you Angular how it was intended to be used, starting you off with testing your app properly right from the start.

ReactJS

React is a must learn. If you’re familiar with any front end MVC framework, React will feel like a breeze to learn. There are basically only two main concepts to understand:

  1. everything in React is a component
  2. some components have state

The best way to learn React at the moment is via the main site’s tutorials - including those from the Flux site as well. There are books starting to appear, but React’s API is still changing rapidly as it approaches 1.0 so these books are already out of date by now.

Canvas, Audio API & Gaming

There is one resource I can’t recommend high enough to learn these shiny new-ish HTML5 features:

Udacity’s HTML5 Game Dev course

The course will talk you through thinking in frames per second and writing pixels to Canvas rather than thinking in DOM trees. It’s a very demanding course, but worth every bit of effort you put into it — even when you’re not intending to ever become a game developer: your debugging skills will benefit from getting into a frame per second mindset, and learning more about the mechanics of rendering will make you more sensitive to the performance implications of how you build your DOM.

Animations

This is tough one to give recommendations on, the area is changing so rapidly and animations is something really best learned by doing, tweaking, and trying it yourself.

Here are some great resources to start you off with animations: