Navigating the Evolving Web - Part II: Angular
Date: Friday, May 4, 2018
Default Language: Typescript
Job Market (UK): No.1
*gzipped value at end of 2017
Angular has the longest history of the three frameworks we are looking at with development going back to 2009. However, 2014 saw a complete rebuild of the platform. The original framework is now called AngularJS and the new simply Angular.
Misko Hevery started AngularJS as a side project whilst working at Google. Hevery wanted to empower web designers to build database-driven, online applications by arming them with a more comprehensive set of tools than vanilla HTML provided. Angular was to be the means by which web developers could create the components non-developers would use to build applications.
But in the process, Angular just made building web applications better. Hevery challenged his manager that he could rebuild a GWT (Java) application in a fraction of the time and with a fraction of the code with his nascent framework. He did, and with that, the new framework began to gain traction.
AngularJS proved itself within Google delivering applications in less time with less code and with less fuss and was officially released late 2010/early 2011.
Angular is about giving you everything you need in one. This gives you a one-stop-shop solution but means that Angular is BIG in comparison with the other frameworks - compressed, it is about 3.5x bigger than React, 7x bigger than VueJS. It also means it is big to learn. Angular also introduces RxJS to handle events and asynchronous behaviour increasing the learning curve further (for most people anyway).
If you are accustomed to .NET, this object-oriented, tool-dependent, big API approach will be immediately familiar. And this partly explains Angular's success in the enterprise.
Angular's brand is immediately recognisable within the industry and was designed with large (corporate) teams in mind.
As the only commercially backed open source framework at the time, Angular's first incarnation was rapidly adopted in the industry where it remains No.1 to this day. This, along with its commercial backing means that Angular has a wealth of learning resources available - books, courses, videos, tutorials, blog posts - you name it.
The .NET Team Leader
The audience for whom Angular would be the most natural choice is a large or growing .NET team. Its strong object orientation and 'kitchen sink' approach would be most familiar to .NET developers and having a team would mitigate some of its complexity.
The Start Up
For a start-up that wants to move fast, to get an app on as many platforms in as short a time as possible, there may be better choices than Angular at the moment.
The Job Seeker
Most front-end jobs list Angular as either a requirement or a desirable extra - it is as simple as that. This is somewhat dependent on which part of the world you are in but the name 'Angular' is globally synonymous with web development.
While there are plenty of good resources out there, there are a lot of concepts to absorb before getting really productive with Angular. Learners might be better off skilling up on some of the ideas needed e.g. basic web, components, Dependency Injection, Reactive Extensions, ES6 etc. before attempting to tackle them all together under one framework.
Angular is neither 'light' nor simple but it does have the largest market share of any front-end framework. As the framework itself is backed by Google and Typescript is backed by Microsoft, it is well resourced and not likely to disappear any time soon.
You can read the previous part of the blog series here: Navigating the Evolving Web - Part I