Yesterday I talked about Django which I’ve been using on most of my bigger web projects as the backend. However, just having a backend is not enough, and writing everything from scratch in TypeScript becomes boring real quick. There are plenty of web frameworks out there to help you get started (like React, Vue, Ember) and Angular, which is my framework of choice.
Now Angular might seem a bit weird because it’s actually quite large and complex, and I’m generally not a fan of huge frameworks to get simple work done. However, what Angular does very well in my opinion is to force some structure on your web project which is scalable and maintainable. I’ve been working on some projects using Angular over several years with large breaks between maintenance sessions, and it never felt difficult for me to get back into it and be productive quickly. This includes updating Angular from an old version to a newer one as well – it’s not something to dread, but “just work”, as Angular updates code in project automatically using blueprints.
It also comes with “batteries included” in the sense that it’s easy to use SCSS, it does crazy webpack magic for you, has TypeScript set up etc. so a lot of the chores during setup are taken care of. It’s also great on the tooling side – a suitably set up Visual Studio Code environment will give you completion in template code which is a huge productivity booster.
If you’re looking into writing a reasonably complex single page application and you want something that helps you get the job done, I can really recommend Angular. It may seem like overkill at first but you can tell it’s been designed by people who did start small and ended up with something like the Google Cloud Platform console in the end 😊