Angular by the Seat of My Pants: Part 2
My first step in deciding what to build for my first Angular app was to completely second guess why I was doing it in Angular at all. Fun!
So, there are a ton of front end frameworks out there, with two of them floating to the top. Angular (made by Google) and React (coming from Facebook). Angular is older and its age is part of the reason I chose it.
React is the up and coming framework that everyone is jumping on right now. It’s shiny and new and also has, from what I’ve been told, a much better way of going about things than Angular. It’s also supposed to be easier to learn.
If React is the hot new thing, than why am I learning Angular? I asked myself the same question and came around to a few answers.
First and foremost, I just need to get started. A lot of the training materials I’ve been using (codeacademy.com for example) have courses and tutorials for Angular. I’m familiar with their formats, so that at least one less thing to learn. Secondly, maintenance. Legacy apps don’t get tossed just because something new came out and there will be work there for some time. Finally, learning one framework makes it easier to learn other frameworks. If Angular is the ‘hard’ one, but I’m able to gain understanding of how these tools work, then I’ll be able to pick up React that much more quickly.
Okay. With that decision out of the way, it’s time to choose a project. That involved finding out what Angular was good at doing. The answers are a little vague. From what I read, basically you can use Angular to build “anything you want!”, which sounds good on the surface, but a little hard to translate into something I can and want to tackle.
I went looking for ideas and suggestions. A to-do list seems to be a pretty popular idea. It’s a good one, considering there are plenty of patterns to follow. It just felt a bit dull I guess, and the most important thing for me is staying motivated throughout this process.
I’ve chosen a tea tracking system. Yes, a tool that will allow me to track the varieties of tea that I have in my cabinet. It’s something I’m pretty passionate about and enjoy. It would also be really helpful to me personally, and maybe a few others as well. Basically, it has me excited and that’s a great motivator.
With that choice made, my first step will be planning the features and building an HTML structure. I’ll be using Bootstrap to handle the basic design, etc., because it’s pretty universal and i’m familiar with it. Once again, one less thing to learn that isn’t directly related to Angular, right?
I’m doing the HTML first because I want to tackle this from the user backward rather than the code forward. At the end of the day, I believe the most important aspect of building something like this is that it does what the user wants and needs it to do. Of course clean, optimized code with good performance is a major key in usability, but if the interface is not intuitive or vital features are missing, there isn’t much use for it for the user.
Once that planning is done, it will be time to dig in deep with Angular. In the ramp up to that, I’ll be reviewing a few tutorials and reading some articles, which I’ll record on the repo I’m using for this project. The tea app itself will have its own repo, so it can remain an ongoing project once I’ve got the initial build done.
This experience will not be sanitized. It won’t be ideal or a tutorial to follow, but it will be real. I’m going to hack at this until it works and by hack, I mean google, read documentation, ask questions, and occasionally make angry cat sounds at the screen until things bend to my will.
With that out of the way, it’s time to get started.