I decided recently to take a course on Udemy in AngularJS, as I have little to no background in web development and so wanted to dip my feet in a little bit and learn some new technologies. The course itself is given by a guy called Dan Wahlin and can be found here.
I completed it in two sittings, so I think $40 is a bit on the expensive side. I actually got it on offer for $10 which I think is probably closer to the actual value. Either way, the content is excellent and explained quite well – not just the how, but more importantly the why. He explains regularly his own preferences for doing things which allows you to benefit from his experience in the real world.
Given I haven’t much background in web development, it’s difficult for me to fully appreciate the problems that this framework solves for you. However, my experience as a software engineer does tell me that the final projects are very neat, well organised with clear separation of concerns between presentation and logic which is always good. It seems to allow for easy testing, which I think I will play with a little bit next.
AngularJS is built around the belief that declarative programming should be used for building user interfaces and connecting software components, while imperative programming is better suited to defining an application’s business logic.
Aside from the controllers, the course also went into Factories and services, which are singletons that the controller can use to do specific tasks. Good designs seem to keep controllers as thin wrappers to these services and factories.
At the end of the course, I decided to implement a simple Flikr search page, to search for images by tags. It’s quite trivial and clearly demonstrates that my next course should be in css but really I was just trying to exercise the different elements covered in the course. It can be seen here and the code here.