If you’re looking to learn a new front-end framework, you could do a lot worse than Angular JS. I spent several months debating whether or not I should learn a front end framework at all but upon deciding that it’d be a good idea, put the question out to the Nomadlist.com Slack chat room I’m part of. The opinions came in thick and fast:
The best framework to learn is Ember.js
There is no point learning Angular as they’re going to rewrite it for the launch of Angular 2.0
Why don’t you learn React? Everyone wants to learn React!
The reality, which I learned only after starting was that it doesn’t really matter. Just pick one and run with it. It was by developing in Angular that I was able to build my first single page applications Credit Card Airline Points. Learning this exposed me to task automation with Gulp (I’d already done a bit in Grunt) as well as proper project structure, scripting tools like Jade and Sass and using them through a package manager like NPM and Bower.
If you’re looking to build your first Angular JS application, here is what I’d recommend you do:
- Pick a realistic but worthwhile goal. Don’t build another fucking to-do list, build something that you yourself would actually use. In my case, I collect airline points by churning credit cards so this app made a lot of sense to me. The challenge was steep but the end goal made it wortwhile.
- With your goal in mind, start mapping out your project and figure out the most simplistic version you could build that could actually be delivered. In my case, I wanted to do all sorts with custom user inputs and compare long-term spend cards to signup bonus cards. The reality is, people don’t really care anyway and I’ve not spent enough time tracking use to see if many people are even using the app. Launch something, get some feedback and iterate on it.
- Hire a tutor if you need to – I spent $350 on a tutor to help me break through the roadblocks I knew I’d face. As a beginner, something simple like forgetting a closing semi-colon can take hours to debug and can often be enough to sap all your momentum. Working with a tutor helped me break through these roadblocks and get my application launched.
- Build it properly – use version control, continuous integration and proper package management. These things are incredibly useful on your build and make it easy for you and your tutor to work collaboratively. Don’t plan to retrofit this stuff – build it right from the start.