Hello fellow developer, have you heard that we entered a new era recently – the era of the JavaScript language? You sure must have heard that alongside complex web applications, today you can use HTML5/CSS3/JavaScript combo to develop applications for mobile, desktop, server and tv. For years languages are competing to dominate the world of software development. Java started as a candidate for the one language to rule them all, but failed at it. Years later, JavasScript took over that role and it looks like it could win the race. The number of JavaScript related jobs is exploding.

JavaScript ninja Jobs at Indeed.com

Now, if you want to learn JavaScript better than being able to copy/paste a script here and there, we provide you the Top 5 Resources that will make you a JavaScript Ninja.

1. JavaScript: The Definitive Guide by David Flanagan

There are books titled JavScript Bible and similar, but don’t be fooled, The Definitive Guide is THE bible. It’s comprehensive, detailed and covers the JavaScript language and the browser environment from A to Z. Once you’ve read it, you will get back to it regularly and use it as a reference.

2. YUI Theater videos of Douglas Crockford’s lectures

YUI Theater has a ton of useful talks uploaded but the ones that are crucial for the beginners are these three:

  • Douglas Crockford — The JavaScript Programming Language
  • Douglas Crockford — Advanced JavaScript
  • Douglas Crockford — An Inconvenient API: The Theory of the DOM

Scroll down the YUI Theater page to find them. Since reading can be boring sometimes and some people react better to visual and audio stimulus, these talks are going to be a great supplement to the Definitive Guide book.

Don’t get discouraged by the age of the talks, they are full of relevant information and a great first step on the path to JavaScript mastery. Besides, it’s useful to see what kind of problems developers faced years ago and the environment in which JavaScript frameworks evolved.

3. JavaScript: The Good Parts by Douglas Crockford

Now that you are familiar with the basics and the advanced features of the JavaScript language, you’ve probably noticed there is stuff that needs to be avoided while developing your software in JavaScript. It’s a powerful language, but it can turn wild if you don’t pay attention. The circumstances of its creation allowed it to be awesome, but not perfect. Here Crockford’s book The Good Parts comes into play. It will teach you how to use this powerful tool in the best manner possible.

I’ve read this book before I started serious JavaScript development and as a result I never found myself hating the language for loosing the precious hours on the bad parts of it. Once you identify the bad parts and learn how to avoid them, you will be more productive, you won’t feel the frustration of the regular JavaScript developer and even your sex life will get better (ok, I don’t guarantee the last one).

4. JavaScript Patterns by Stoyan Stefanov

Ok, so you’ve mastered the language, you know the good parts, the bad parts and you start working on your one page AJAX/RIA/web application. You start with one screen, but soon the others come and now you have ten of them. And each of them has five different variations. Applications needs to talk to the server, transform the data, display it in the UI, collect user input, validate the data, store the changes, trigger the changes on one or two specific screens which user might return to. Who would have thought that client code can get so complex. You certainly want to avoid being an author of the spaghetti coded application, right? JavaScript Patterns to the rescue. It teaches you how to organize your code so it can be easily maintained. It describes how to use OOP best practices and design patterns in a dynamic environment. And overall, it provides the basics needed for building JavaScript frameworks and large applications.

5. Your code

Yes, a ton of your code. You will learn from your code as much as from any book you have read or any lecture you have seen. Like in every other language, experience is irreplaceable. The more you code, the better you get at it. Universal truth. Now, go get your hands dirty.

I wish you happy coding and let me know if this article was helpful to you.