Advent 2021: Angular
This blog is part of the 24 posts long series "Advent 2021":
- Advent 2021: Intro (December 01, 2021)
- Advent 2021: C++ (December 02, 2021)
- Advent 2021: C# (December 03, 2021)
- Advent 2021: Python (December 04, 2021)
- Advent 2021: Go (December 05, 2021)
- Advent 2021: TypeScript (December 06, 2021)
- Advent 2021: CMake (December 07, 2021)
- Advent 2021: Django (December 08, 2021)
- Advent 2021: Angular (December 09, 2021)
- Advent 2021: Flask (December 10, 2021)
- Advent 2021: gRPC (December 11, 2021)
- Advent 2021: GraphQL (December 12, 2021)
- Advent 2021: XML & JSON (December 13, 2021)
- Advent 2021: Matplotlib, Pandas & Numpy (December 14, 2021)
- Advent 2021: Linux (December 15, 2021)
- Advent 2021: Ansible (December 16, 2021)
- Advent 2021: SQLite (December 17, 2021)
- Advent 2021: Catch2 (December 18, 2021)
- Advent 2021: Zstandard (December 19, 2021)
- Advent 2021: ZFS (December 20, 2021)
- Advent 2021: Thunderbird (December 21, 2021)
- Advent 2021: Visual Studio Code (December 22, 2021)
- Advent 2021: Blender (December 23, 2021)
- Advent 2021: Open source (December 24, 2021)
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 😊