A long time ago, in a galaxy far, far away, JavaScript was a hated language. In fact, “hated” is an understatement; JavaScript was a despised language. As a result, developers generally treated it as such, only tipping their toes into the JavaScript waters when they needed to sprinkle a bit of flair into their applications. Despite the fact that there is a whole lot of good in the JavaScript language, due to widespread ignorance, few took the time to properly learn it.
Ironically, it turns out that much of what the development community hated had very little to do with the JavaScript language itself. No, the real menace under the mask was the DOM, or “Document Object Model,” which, especially at the time, was horribly inconsistent from browser to browser.
Luckily, the community has matured immensely since those days. In fact, there’s never been a more profitable time to become a JavaScript developer than now. There’s much to learn, but it’s well worth the effort. Hopefully, you’ll find that, despite the naysayers, JavaScript is a beautiful language.
The Basics
As a first step into these waters, an understanding of the fundamentals will prove essential. Though you might be tempted to immediately dive into jQuery, take at least the first month, and dedicate yourself completely to vanilla JavaScript.
-
JavaScript Fundamentals
Without a doubt, JavaScript is the most popular programming language in the world. This course focuses on the basics of the two fundamental aspects of client-side development.
-
Advanced JS Fundamentals
This follow-up course will focus on DOM scripting and events. If you’re a complete beginner, this is the course for you.
-
Object-Oriented JavaScript
JavaScript is not a strict object-oriented language, but it does have the features of one. Join us as Jeremy teaches you how to take your JavaScript understanding to the next level.
-
Object-Oriented JavaScript (eBook)
This book treats JavaScript as a serious object-oriented language.
The Wonder of jQuery
Now that you have a solid understanding of the basics, it’s time to dive into jQuery, which can drastically improve the JavaScript experience. All of that tedious code can now be wrapped into a simple method call. You’ll love it!
-
30 Days to Learn jQuery
Give me thirty minutes every day for the next month, and I’ll transform you into a jQuery pro!
-
Mastering jQuery (eBook)
Choosing the right plugins, creating bookmarklets, setting patterns or manipulating images can be challenging even for experienced programmers.
-
jQuery Plugin Development Best Practices
This course will explain the fundamental aspects of writing great jQuery plugins.
-
jQuery Anti-Patterns and Best Practices
This article will provide a variety of pitfalls to watch out for when working with jQuery.
jQuery on the Go
Did you know that jQuery can also be used to develop gorgeous mobile applications that you’d swear were native? Why learn yet another framework when you can continue to use the language you already know?
-
Go Portable With jQuery Mobile
In this course, we’ll review the widgets that come with jQuery Mobile and how they can be initialized and configured.
-
jQuery Mobile: Beyond the Basics
In this course, we delve deeper into the framework and move beyond using data-attributes to configure widgets or behaviour.
Modern Frameworks
At some point in your JavaScript training, you’ll begin to realize the necessity for better tooling. Although jQuery is fantastic, it was never meant to serve your every need. When structure and organization become paramount, it’s time to research dedicated frameworks.
-
Connected to the Backbone
In this course, I’ll painstakingly go over each and every Backbone detail. It’s time to improve your JavaScript chops!
-
Advanced Backbone Patterns and Techniques
Backbone’s sparse but stalwart set of features might leave you thinking that it just isn’t the right tool for advanced web applications. Nothing could be further from the truth!
-
Extra Credit: Let’s Learn Ember
Backbone isn’t the only JavaScript framework; there’s lot of them! If you find that you need a more full-stack framework than what Backbone provides, then Ember should be your next choice!
-
Extra Credit: JS Apps With Angular
Developed by Google, Angular, yet another framework, takes a different approach from Backbone and Ember.
Testing JavaScript
There was a basic cycle to writing JavaScript in the early days: write some code, and then reload the browser to ensure that you didn’t break anything. While this is a perfectly fine way to begin, as your coding matures, so should your workflow. Wouldn’t it be amazing if every time you saved a file a series of tests would automatically run to verify your changes?
-
JavaScript Testing With Jasmine
Admit it: you say that you test your JavaScript, but, in reality, you… don’t. That’s okay; the idea of testing JavaScript is a relatively new thing. Let me help!
-
Techniques for Test-Driving jQuery Plugins
In this hands-on screencast, from scratch, we’ll use test-driven development to build a jQuery plugin. Along the way, we’ll take advantage of Grunt, QUnit and GitHub to build, test and distribute our plugin, respectively.
JavaScript on the Server-Side
You already use JavaScript on the client-side, but what if you could also use it for the back-end? Pretty neat, right? One language to rule them all? Well, in fact, you can!
-
Build Web Apps With Node and Express
Node.js is the JavaScript engine for Chrome, moved to the command line for use as a general programming language. In this course, you’ll learn how to make use this engine to build web applications with ease.
-
The Node Beginner Book (eBook)
The aim of The Node Beginner Book is to get you started with developing applications for Node.js, teaching you everything you need to know about advanced JavaScript.
-
Extra Credit: Single Page Web Apps in Meteor
Meteor.js is a relatively new JavaScript framework with a lot of rather interesting twists to it.
Tools
In addition to frameworks, there are a variety of tools and utilities at your disposal. CoffeeScript offers a more Ruby-like syntax that compiles down to vanilla JavaScript; RequireJS is an elegant module loader; Yeoman is a collection of tools and best practices to make developing for the web even better. All of these should have a place in your JavaScript tool belt.
-
Cleaner Code With CoffeeScript
If you haven’t had the chance to test drive this neat little language — but have wanted to — I hope this course will give you that opportunity.
-
The Essentials of AMD and RequireJS
In this screencast, we’ll review RequireJS, an asynchronous module loader and dependency manager, and AMD, which defines the mechanism and guidelines for declaring and importing modules.
-
Organizing Testable Backbone and RequireJS Apps
In this screencast, I’ll break everything down. In addition to Backbone and Require.js, we’ll be using Jam to load our dependencies, and Testem, which provides an easy interface to perform automated tests (using Jasmine). Finally, we’ll create a minimal build script.
-
Your Obedient Assistant: Yeoman
Preprocessors, performance tuning, testing, image optimization and minification represent but just a few of the key factors that the modern day front-end developer must keep in mind.
-
Essential Tools for a Modern Development Workflow
In an ocean of tools, libraries and frameworks, which ones should you use? Or, put more directly, how do you separate the abandonware from the cream of the crop?
In Closing
My, how the tides have turned. Ten years ago, JavaScript was seemingly doomed to copy and paste hell. Fast-forward to today, and the language and community are more vibrant than ever before. And the best part? It’s still getting better. There’s never been a better time to become a JavaScript developer. So get to it, and rest assured that when new techniques and tools come along, we’ll be the first in line to teach you!
Comments