After going thru a good portion of their guide I felt I needed a full fledged tutorial that I could follow along to so that I could really sink my teeth into learning VueJS. Thru the recommendation of the Reddit VueJS community, I came across a course on Udemy by Max Schwarzmuller called VueJS 2 - The Complete Guide (including VueJS Router & Vuex) and immediately paid the $10.00 special offer for the course! For anyone that really wants to learn VueJS, this is the course that I would highly recommend! Max’s style of teaching is great and as long as you follow along with his examples/projects you’ll truly get your money’s worth out of this course!
My overall impression of VueJS was a positive one. However, there were a few things that I felt were lacking from the library. With VueJS, just like ReactJS you only get the ‘V’ in the MVC pattern. You still have bring in other libraries for routing, state management, http calls and user interfaces. VueJS does provide you with a really nice cli tool (just like angular and react) called vue-cli which makes working with VueJS much more pleasant. In the end, I was hoping for a more complete framework as it was a bit overwhelming to learn other libraries that can integrate with VueJS to build a basic appplication.
Learning Angular was tough for me because there were so many things that you had to keep in the back of your mind when builing applications in this framework. One of the things that really tripped me up were the concepts of modules. In reality, this should not have given me any problems (modules are similar to namespaces in c#) as modules allow you to organize your angular code in a more effective manner. But for some reason it was really hard for me to ingest how these concepts applied to Angular while going thru their tutorial. As a result, I decided to find a video course in Angular that I could follow along with. Thru the use of my recent VS Subscription from work, I was able to find a great video on plurasight that really helped me solidify my knowledge of this framework. For anyone interested, the course I took is called Angular: Getting Started by Debora Kurata. The course was easy to follow along to and Deborah is a great at explaining the core features of Angular! At the end of the course, I felt comfortable that I could start using Angular to port one of my ASP.NET MVC applications to Angular and I was able to re-create most of the functionality I had implemented in ASP.NET MVC fairly quickly!
In my opinion, one of Angular’s biggest strength is providing the developer with all the bells and whistles that he/she will need to build a enterprise ready application (UI framework excluded) but this too is part of one of it’s weakness as it can be intimidating to learn how all of these different features work. For example, having to learn RxJs (which was a great thing to be exposed to) made grasping some concepts in Angular unnecessarily more difficult. As a result of this, I felt like I needed to see at least one more framework, ReactJs.
After finishing up Samer’s course, I decided to do something different to continue my journey learning ReactJS. Instead of going to React’s web site to follow their tutorial I decided to look around and see if I could find a book that I could use to learn more about it. Samer’s course was short, and I just felt like I needed to spend a bit more time and effort to really get ReactJs. In the past, I would have gone to my local book store and bought a book on ReactJS, but since bookstores are pretty rare these days (at least around my area) I searched high and low and came to a book by Robin Wieruch called the Road to Learn ReactJS that I settled on. First of all, the price of being free was great! The book is only 157 pages, but is filled with great tips on what you need to know to use ReactJs (i.e. ES6) and how to think about when working with ReactJs (i.e. think immutability). Robin uses his experience of learning ReactJS to provide his readers with lots of great information. The book is for people learning ReactJs for the first time, so he only gives you the information that he thinks you’ll need when first starting out with ReactJs (i.e. no Redux!!). After reading the book, I was able to build a simple HackerNews clone pretty quickly. The experience I got from working on this application and the knowledge I gained by reading his book allowed me to also pick up and learn React Router and react-strap to build my small HackerNews-clone!
Honorable Mention: Knockout
Overall, I am very happy with the things I have learned in the past few months. Life has been a bit busy lately with our growing baby son, maintenance on our house and projects at work so I haven’t really put in as much time as I would like on these frameworks. But the time and effort I did in to learn/use these frameworks will hopefully payoff in the near future. My goal for now is to continue to play around with ReactJs and try to build an application that uses a web api I created to access active directory and see how much functionality I can add to it! Whatever I build, and whatever lays ahead in the not so far future I am looking forward to using my knowledge and skills to build awesome web applications! Thanks for reading!