Advertisement

Become a Professional JavaScript Developer with Tuts+ Courses

by
Student iconAre you a student? Get a yearly Tuts+ subscription for $45 →

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.


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 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.


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.


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.


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!

Advertisement