visit
" The platform-agnostic philosophy "
Cross Platform: You can use modern web platform capabilities to deliver app-like experiences, for example, Progressive WebApps, Build native mobile apps with Ionic or NativeSCript, and also you can create desktop apps across Mac, Windows, and Linux.
Speed and Performance: Multiple factors can help in making your application faster. Angular turns your templates into code that’s highly optimized for today’s JavaScript virtual machines. It also supoorts Lazy load: users only load code required to render the view they request. And finally, it has universal support to Server Side Rendering for sites that optimize for SEO.
Productivity: Angular isn't just a framework, it is a Platform. For this reason, it has good tools to increase your productivity in development cycles. For example, you can create UI with simple and powerful template syntax. Also you have Angular CLI, where you can start building fast and add components, services, test, then instantly deploy. I think we can mention TypeScript, this language is awesome and the best way to learn angular very fast.
Component-based architecture: It provides a higher quality of code. It is one the things that improves architecture and is used by almost all JS frameworks with some benefits. For example, reusability, readability, unit test friendly, and maintainability.
Google and Microsoft are good sponsors: Some software engineers consider the fact that Angular is supported by Google as a major advantage. Also, Microsoft helps with Typescript and now Angular is written in this language.
Functionality out of the box: You won’t need to use any third-party libraries to create basic functionality for your app. All you need is the Angular CLI, which is provided by the Angular team. This means that you can expect better security and higher code quality.
Bundle Sizes (Ivy): Ivy is the new engine template in angular, it can enable smaller bundles because it uses the Ivy instruction Set which is a set of tree-shakable runtime rendering instructions. Our bundles will only include the rendering instructions we use in our projects.
This is great for use cases such as micro frontends, Angular Elements, and web apps where Angular is not controlling the entire document.Learning curve: It’s easy to learn Angular in the basic stages. The moment you move towards the advanced stages, the learning curve turns out to be very steep. It will be challenging compared to React or Vue onboarding. The array of topics and aspects to be covered is large and some unique features of Angular are quite complex, so developers find it difficult to start working with it.
Limited SEO options: The big problem with SPA is search engine indexing. Engines still need to see the content and elements of the page in the source to guarantee that it will be indexed correctly. Angular has a tool “Angular Universal” to fix this problem, but it has a long road to cover to improve accessibility for search engine crawlers.
Angular versions: Angular has a lot of versions since version 2. It’s generating 2 releases per year, so if you are using the last version of Angular probably at the end of the year you'll need to update again and sometimes this is a headache for DevOps teams.
Previously published at