DEV Community

Discussion on: When would you want to use Angular?

Collapse
 
steveblue profile image
Stephen Belovarich • Edited

First off, I want to dispel the myth the overhead is significantly more for Angular. Angular apps can be highly optimized with lazy loading and even a single bundle can optimized incredibly well with Terser or Closure Compiler. The Angular team is working hard to implement a new compiler called IVY in Angular 9 that will be backwards compatible, but also optimizes even better than the current compiler.

A 'Hello World' app with Angular 7 is ~30Kb and that will be significantly reduced with the new IVY compiler. The key metric to look at however is how gracefully does an app built with Angular scale. I can tell you after working on over a dozen Angular apps, I have never observed another framework scale as gracefully in practice. I have seen bloated Angular apps that do not preform well, but that isn’t the fault of the framework. Bad software development practice leads to significant overhead.

Here are some benefits of going with Angular

  • Angular CLI simplifies the build process for most applications
  • Predefined patterns for http requests, handling forms, animations, and more
  • Angular Development Styleguide reinforces a way of working, allowing you to quickly onboard engineers because everyone is talking the same language
  • Schematics allow you to generate boilerplate extremely fast
  • The Angular community is very inclusive. "Come Sit With Us" is the Angular motto
Collapse
 
arswaw profile image
Arswaw

This is what I'm looking for. Thanks for your answer.

Collapse
 
arswaw profile image
Arswaw

One other thing.

Here is the output from the latest version of the CLI after running ng build --prod.

Even the polyfills file is more than your 30Kb target. How do I optimize this app to the target?

Collapse
 
steveblue profile image
Stephen Belovarich

You have to serve the app with gzip or brotli compression to see the most optimal result. The compiled code is highly gzippable.