great resources for getting good with and JavaScript.
Last year, I wrote about and recommended some great resources for getting good with and JavaScript. A year is a long time in Internet terms and I figured now was a good time for a refresh. JavaScript continues to explode in terms of adoption and being fully embraced, not only in the browser but also on the server. So it's about time we revisit the list and update it with good places to stay current.
Professional JavaScript for Web Developers
I'm keeping this one on the list because I honestly haven't seen a new book that so thoroughly covers the JavaScript language like Nicholas' does. As I mentioned previously, it's a complete reference that will serve you well, no matter if you're starting out or just want to look up something. It doesn't go into ES6 but I'm sure that the next revision will include plenty about it.
Learning JavaScript Design Patterns
There's no argument that leveraging good design patterns helps in building maintainable code. Finding a good place to actually learn and understand those patterns is the real challenge. The Internet is littered with irrelevant information, so being able to point to someone who really knows his stuff is great. That's why I recommend Addy's book. Not only is he an outstanding writer, but he's also one of the most knowledgeable front-end developers out there. His day job on the Google Chrome team puts him in a great position to tinker with JavaScript all day and understand what works and what doesn't. This book is a clear derivative of that hard work.
The best part is the Addy worked it out with O'Reilly to release this book under a Creative Commons license, meaning you can read it online for free or purchase the paperback.
Principles of Object-Oriented Programming in JavaScript
One of the consistent issues developers face with JavaScript is the concept of object-oriented programming. Since JavaScript isn't a traditional class-based programming language, those coming from Java or C# initially struggle with grokking the best way to encapsulate code. Nicholas once again offers a great book that's concise yet small, making it easily readable and focused. To be clear, this is not a book for beginners and is clearly targeted at developers with an understanding of JavaScript and/or object-oriented programming. Nonetheless, it's worth adding to your library.
DOM Enlightenment
In browser-based development, there's really no getting around the Document Object Model (DOM), if you want to do anything useful. So understanding how it works and getting your hands dirty with it, without the benefit of a DOM library like jQuery, is extremely beneficial. Cody's book does precisely that, teaching you to use plain ‘ole JavaScript to manipulate the DOM. It's written in a cookbook-style format, allowing you to dive into specific types of capabilities that you'd like to learn about.
And like Addy, Cody has offered a free online version that you can peruse or you can purchase the paperback.
Node.js In Action
The Node.js JavaScript-based application server has blown-up in popularity with top companies like PayPal fully embracing it in their production systems. What started out as a proof-of-concept a couple of years ago at JSConf, has now blossomed into an amazing server technology that allows developers to leverage the same language on both the front-end and back-end.
This book gives you a good ramp up into learning Node.js and is written by some of the best developers in the world. In fact, one of the authors, T.J. Holowaychuk, is the creator of the most popular Node.js framework, Express.
If you want to learn about Node.js, pick up this book.
Third-Party JavaScript
It seems like every site you go to today is trying to offer some sort of embeddable script, that offers some type of neato functionality. Whether it's a login button, a social media widget or even analytics, it's clear that being able to create these third party scripts can add value to your site. Wouldn't you like to know the ins-and-outs of creating them?
Third-party JavaScript is the only book I've found that dives deep into this topic and teaches you the in-and-outs of creating embeddable scripts that you can extend the reach of your site and the abilities of your users with.
Ben works at Disqus which offers this very same functionality to its customers, allowing them to embed feature-rich commenting capabilities into their site. Anton is now at Mozilla, but he was also part of the Disqus team. So both of these guys know their stuff when it comes to third-party JavaScript.
The great thing is that if you're a JavaScript developer or looking to branch into this world, the options continue to grow as JavaScript slowly becomes the lingua franca of web development.
Books
With JavaScript's continued adoption rate, there's been an explosion of books but from what I've seen, only a small percentage are offering new and interesting reading material. Here are the ones I've enjoyed so far:Professional JavaScript for Web Developers
by Nicholas Zakas
I'm keeping this one on the list because I honestly haven't seen a new book that so thoroughly covers the JavaScript language like Nicholas' does. As I mentioned previously, it's a complete reference that will serve you well, no matter if you're starting out or just want to look up something. It doesn't go into ES6 but I'm sure that the next revision will include plenty about it.Learning JavaScript Design Patterns
by Addy Osmani
There's no argument that leveraging good design patterns helps in building maintainable code. Finding a good place to actually learn and understand those patterns is the real challenge. The Internet is littered with irrelevant information, so being able to point to someone who really knows his stuff is great. That's why I recommend Addy's book. Not only is he an outstanding writer, but he's also one of the most knowledgeable front-end developers out there. His day job on the Google Chrome team puts him in a great position to tinker with JavaScript all day and understand what works and what doesn't. This book is a clear derivative of that hard work.The best part is the Addy worked it out with O'Reilly to release this book under a Creative Commons license, meaning you can read it online for free or purchase the paperback.
Principles of Object-Oriented Programming in JavaScript
by Nicholas Zakas
One of the consistent issues developers face with JavaScript is the concept of object-oriented programming. Since JavaScript isn't a traditional class-based programming language, those coming from Java or C# initially struggle with grokking the best way to encapsulate code. Nicholas once again offers a great book that's concise yet small, making it easily readable and focused. To be clear, this is not a book for beginners and is clearly targeted at developers with an understanding of JavaScript and/or object-oriented programming. Nonetheless, it's worth adding to your library.DOM Enlightenment
by Cody Lindley
In browser-based development, there's really no getting around the Document Object Model (DOM), if you want to do anything useful. So understanding how it works and getting your hands dirty with it, without the benefit of a DOM library like jQuery, is extremely beneficial. Cody's book does precisely that, teaching you to use plain ‘ole JavaScript to manipulate the DOM. It's written in a cookbook-style format, allowing you to dive into specific types of capabilities that you'd like to learn about.And like Addy, Cody has offered a free online version that you can peruse or you can purchase the paperback.
Node.js In Action
by various authors
The Node.js JavaScript-based application server has blown-up in popularity with top companies like PayPal fully embracing it in their production systems. What started out as a proof-of-concept a couple of years ago at JSConf, has now blossomed into an amazing server technology that allows developers to leverage the same language on both the front-end and back-end.This book gives you a good ramp up into learning Node.js and is written by some of the best developers in the world. In fact, one of the authors, T.J. Holowaychuk, is the creator of the most popular Node.js framework, Express.
If you want to learn about Node.js, pick up this book.
Third-Party JavaScript
by Ben Vinegar & Anton Kovalyov
It seems like every site you go to today is trying to offer some sort of embeddable script, that offers some type of neato functionality. Whether it's a login button, a social media widget or even analytics, it's clear that being able to create these third party scripts can add value to your site. Wouldn't you like to know the ins-and-outs of creating them?Third-party JavaScript is the only book I've found that dives deep into this topic and teaches you the in-and-outs of creating embeddable scripts that you can extend the reach of your site and the abilities of your users with.
Ben works at Disqus which offers this very same functionality to its customers, allowing them to embed feature-rich commenting capabilities into their site. Anton is now at Mozilla, but he was also part of the Disqus team. So both of these guys know their stuff when it comes to third-party JavaScript.
Blogs
Over the last year, I've worked to better curate the list of blogs that I follow, to better manage the signal to noise ratio. The following are the ones that I've found continue to offer the best information relating to JavaScript:2ality
Dr. Axel Rauschmayer has been on a mission to breakdown the JavaScript language into easily digestible bites. His posts typically are highly detailed about a specific area of the language, providing great insight into how that feature works and the main points. You will learn a lot from him.DailyJS
DailyJS continues to be a great resource for news about JavaScript. It uses a blend of framework roll-ups with deeper code-based featurettes sprinkled in between, allowing you to stay on top of cool new frameworks and also get an understanding of how to use them.Nicholas Zakas
With two books listed here, it's understandable that I would list his blog here as well. This is where a lot of his deeper analysis comes into play and where you'll find his future-facing ES6 thoughts and demos.JavaScript Weekly
Newsletters come and go, so I'm so happy to keep recommending JS Weekly. Not only has Peter Cooper kept his weekly delivery cadence, but he continues to deliver excellent pieces to read.Node Weekly
This is another excellent newsletter from Peter Cooper with a specific focus on Node.js. Like JS Weekly, it is one of the best resources out there for staying on top of what's happening in the Node.js world.Addy Osmani
Even though he's not writing as much as he used to on his blog, the content is so darn good that I have to keep Addy on this list. Just be sure to ping him so he keeps his writing up. You won't be disappointed.Ben Nadel
Ben is one of those quiet guys that's totally unassuming, just wants to do his work and share his experiences with everyone. The key thing is that he's also an incredibly talented developer who creates some fantastic posts about JavaScript. He's very vested in AngularJS right now and he's pushing the framework to the hilt in his startup, so you'll get some real-world feedback from his writing.HTML5Rocks
Don't let the name fool you. It may say HTML5 but it includes a lot of JavaScript tutorials in there. See, you need JavaScript to truly leverage most of the features in HTML5, so it goes without saying that you'll see great stuff from a variety of writers including the Google Chrome team.SuperheroJS
The first thing that will hit you when you visit this site is the awesome artistry that went into it. It reminded me of a classic Dick Tracy comic book. From there, you'll immerse yourself in one of the best spots for aggregated resources on JavaScript.Tuts+
I'm still biased because we have great authors who write great stuff. You wouldn't be reading this if you didn't agree. :)Beyond the Books
When a book or blog won't do and you want to get your hands dirty, you now have a ton of courses, both offline and online, to get you up-to-speed:Tuts+ Courses
From building JavaScript web apps to getting good with Angular, Tuts+ ever-growing curriculum has you covered, not only on front-end development but on working with the full stack.Khan Academy's Computer Programming Curriculum
With jQuery-creator John Resig working as the Dean of the Computer Science curriculum at Khan Academy, you can bet there's going to be a whole lot of JavaScript in the learning process. While the catalog isn't very big right now, you'll at least have free courses to get you into the game.Codecademy
Codecademy really made a splash when it came on the scene offering an interactive way of learning programming and using JavaScript as its primary language to teach. While it has expanded the languages you can now learn, JavaScript and jQuery are still front and center and best of all, it's free!Nodeschool.io
This community-driven effort helps you ramp up to speed via courses designed and contributed freely by the Node.js community. One of the key unique aspects of it, though, is the fact that it also has a real-world aspect to it with live, on-site node schools being hosted by folks around the world. Check out this list of events that are happening in case you want to go in person.JavaScript Jabber
For those of you that like podcasts, this is for you. JS Jabber consistently gets top guests and topics and have maintained a consistent cadence of podcasts, something that's non-trivial to do.Getting Help
It's still hard to find a good support resource for JavaScript development which is why this list hasn't changed much.JSMentors
I still think that JSMentors is one of the best places to get thoughtful replies to your JavaScript questions. The community rules are specifically designed to ensure a good experience and prevent some of the rude behavior experienced by developers on other sites. I also think that StackOverflow offers a lot of value, but it's important to really vet the feedback you get as with so many people contributing, you're bound to get some jacked up answers.Conclusion
As you can see, the list of resources has changed quite a bit since last year and that's because the JavaScript world is evolving with new resources becoming available and new influencers stepping up to help guide the way.The great thing is that if you're a JavaScript developer or looking to branch into this world, the options continue to grow as JavaScript slowly becomes the lingua franca of web development.
Comments
Post a Comment