AngularJS, the Good Parts

Douglas Crockford's seminal book JavaScript, The Good Parts has this to say about JavaScript:

Most languages contain good parts and bad parts. I discovered that I could be a better programmer by using only the good parts and avoiding the bad parts... JavaScript is a language with more than its share of bad parts.

Crockford goes on to point out that JavaScript also has lots of good parts which can make it a great language to use. The key is avoiding the bad parts.

(Crockford's book should be required reading for all JavaScript developers. At, we keep a few extra copies on hand on the off-chance that one of our developers has not already read this great book.)

What Crockford says about programming languages applies equally well to frameworks: most have good parts and bad parts. Our approach to AngularJS 1.x has somewhat resembled Crockford's approach to JavaScript. AngularJS 1.x does not have nearly the same kind of warts as JavaScript, but it does have features that will help you shoot yourself in the foot, even as many of its other features help you build highly scalable software. When we've taught this course, we always tried to highlight "the good parts" and to show how you can use them to your advantage.

The upcoming Angular 2 brings a number of changes. Some of those changes involve removing those parts of Angular that have proved to not work well. Other changes involve borrowing the best ideas from outside the Angular ecosystem. Finally, another large set of changes aims to take advantage of new features that are becoming available in ES6, the new version of JavaScript.

Angular 2 is not yet ready for real-world use, but anyone who is starting to work on an Angular application today should be planning an eventual transition to Angular 2.

This course teaches you to write applications using Angular 1.4 the Angular 2 way.