The Art of AngularJS
Last night, I had the pleasure of speaking at Denver's DeRailed about AngularJS. Fernand (the group's leader) asked me to speak in December, just after I'd finished a European speaking tour. The Modern Java Web Developer talk I created for that tour included a 20-minute AngularJS Deep Dive screencast. I figured it wouldn't be much work to augment the screencast and create an hour long talk, so I agreed.
When I started creating the presentation last week, I decided I didn't want to make the audience watch my screencast as part of the presentation. They could easily do that on their own time. So I wrote, from scratch, a brand new presentation on AngularJS. I tried to include all the things about Angular that I thought were important and useful for me in my learning process. The result is a presentation I'm proud of and enjoyed delivering.
You can click through it below, download it from my presentations page, or view it on SlideShare.
You might notice the presentation has a whole lot of code in it. Normally, when I copy/paste code into a presentation, I use IntelliJ IDEA and everything works. This time, there was something amiss between IDEA 13 and Keynote 6. I tried using IDEA's plugins (namely Copy on steroids and Copy as HTML), but none of them worked. IDEA 12 resulted in the same problem. Then I turned to other solutions. I installed highlight and copied code from the command line. This worked, but the fonts and colors weren't to my liking. Finally, I decided to try another editor: Sublime Text with SublimeHighlight. This worked great and I'm very happy with the results.
Most of my presentations end with a Questions/Contact slide. For this one, I added a few more: people to follow on Twitter, resources to learn from and projects with useful code. Below are a handful of links that greatly enhanced my AngularJS knowledge in the last year.
- Devoxx 2012 - Re-imagining the browser with AngularJS. This is the original video I watched about AngularJS. I learned enough from this one video to start developing my first app for a client. I wrote about it in a four-part series on Developing with AngularJS.
- ng-book: The Complete Book on AngularJS. A great book with all the nitty-gritty Angular details you ever wanted to know.
- David Mosher's Testing Strategies for AngularJS. I stumbled upon this a week ago and it's greatly enhanced my knowledge of how to test AngularJS apps. It also introduced me to Lineman, which I'm thankful for.
- Egghead.io - bit-sized videos of AngularJS knowledge. Very useful for when you want to learn how to do a specific thing quickly.
- AngularJS + REST + Spring Security. This is a sample application from Philip Sorst (ported to Spring Boot by my good friend Josh Long) that shows how to integrate AngularJS with Spring Security for stateless, token-based authentication.
One of the audience members at DeRailed recommended thinkster.io as a good resource too.
Thanks to Fernand for inviting me to speak and causing me to write this presentation. Creating it greatly improved my AngularJS knowledge and I learned about some new tools in the process. If you'd like to tap into my wealth of knowledge, I'm available for a new gig in April.
Hi Matt,
Great presentation, touches on many of the things I need to learn about AngularJS. Do you have the final project available anywhere? I did not see it in your github repository.
Thanks!
Posted by Michael Elso on March 17, 2014 at 03:32 PM MDT #
Posted by Matt Raible on March 17, 2014 at 03:35 PM MDT #
I really enjoyed your presentation on AngularJS. I was looking into using AngularJS for a future project, but I see that in AngularJS 2.0 they are designing specifically for mobile devices and there are some significant differences between the current version and version 2.
In fact, if you read their current write-up on the direction they will be moving (link below), they make it sound as if they're saying "we looked at AngularJS 1.x and saw so many things that were crappy about it that we decided to completely change just about everything in it".
Of course, those aren't the exact words they said, but it sure was the feeling I got after reading their documents. It completely through me off of using AngularJS and made me look for a different direction to take, one where the work I do today isn't going to be thought of as ancient and archaic 6 months from now by the very creators of the product I'm using.
Have you had a chance to look at the AngularJS teams vision of the future and how that will effect everyone using AngularJS today? I'd be curious about your thoughts on the matter.
Thanks, and here is the link: http://blog.angularjs.org/2014/03/angular-20.html
Posted by Ron Rea on March 29, 2014 at 05:19 AM MDT #
Ron - sorry for the delayed response. I have read the Angular 2.0 article. I think the direction is a good one. As Brad Green says (in the comments): "we're trying to build a framework for the browsers of 2015 and beyond".
Mobile internet traffic surpassed desktop a couple months ago. The nice thing about AngularJS being an open source project is that folks can (and likely will) continue to maintain the 1.x branch for many years if there's a need for it.
Posted by Matt Raible on April 24, 2014 at 09:43 PM MDT #