What else could I start this newletter with?
Angular 9 is out! The biggest improvement in v9 is the final release of the Ivy compiler, which helps to create smaller bundles (e.g., tree-shakes parts of Angular that we don’t need). This is especially impactful for larger apps (~25-40%), but also for small apps (~30%). Thanks to Ivy, the Angular team has also decided to enable AOT by default, also in development mode. Along with that, there are also cool changes around type checking and build errors. Templates type checking is much better in v9 and to me that’s a really drastic improvement; for instance in my current project, migrating has allowed me to detect and fix at least 3 different issues that previously went unnoticed. Build errors are now a bit more understandable, which is always good :) One more change that I’m really happy about is the revamped TestBed and how that change is leveraged already in Angular Material. Basically, Angular component tests can now be written much more succintly, compared to the “old” API. I haven’t played with this just yet, but am really enthusiastic about it. You can learn more about this here: CSS class and style bindings have also improved. Now the order in which those are applied is deterministic, which can’t be bad, right? ^^ And, last but certainly not least, this release supports TypeScript 3.7. This alone is enough for me to justify the effort of upgrading! :) There are a ton more things to say/discover about this release (e.g., new options for providedIn, i18n support improvements, debugging improvements through the
ng global, ng update improvements, youtube-player and google-maps components, etc), but the official release notes go in great length about all of that. If you didn’t upgrade your apps just yet, then don’t waste time and do it now. If your managers won’t let you, then tell them that I said it’s mandatory/critical for business continuity :) Check out the migration steps
over here.and
there. Of course, the rest of the platform follows and thus Angular Material 9 and a new version of the CLI are also available.
Comments ()