I had been hearing about AngularJS more frequently through the various channels – Twitter, blogs, newsletters, meetups, podcasts, etc. – so about 18 months ago, I started looking into it. I dabbled here and there until I had the opportunity to work on an Angular app in production, which only furthered my interest. While looking for work earlier this year, I put together a contacts manager sample app using AngularJS, Express.js and MongoDB. Since then, I’ve refactored the project to add unit testing and replaced ng-annotate with Browserify. I’ve been on the lookout for where Angular might be a better choice than a clumsy jQuery script in my day-to-day work. I’ve found several opportunities to employ it, refining my approaches, techniques and skills in the process.
To make sure I was solid on the fundamentals, I spent my October doing a deep-dive into AngularJS and other aspects of modern front-end engineering. The following was my schedule:
It was an exhausting pace, but it was fascinating and enlightening; I enjoyed every minute. I solidified my knowledge of promises and their usage, discovered an interest in functional programming, and confirmed my comprehension of the essentials. I’ll keep the $digest cycle and watch list in mind when updating my scopes and I realized how much better the UI router really is. I also learned that by writing unit tests, I have a better understanding of what my work is doing, which leads to writing cleaner, simpler code.
While going under the radar, I decided to try out different coffee shops around town to prevent stagnation and avoid distraction. I’ve compiled a list of the coffee shops I visited.
Though I haven’t halted my education, the pace has slowed to be much more sustainable. Up next is a review of the more intermediate/advanced Angular topics and of current best practices, as well as continuing to apply that information. Additionally, I’ll prepare for the near future by practicing ES6, using package bundlers to get ready for the impending AngularJS 2.0 release, and maybe take a peek at TypeScript.