In the interest of improving the odds that I'll actually learn something I can put to use, I've devised a plan for how I intend to learn and apply Angular application framework. My skills have evolved since the last time I ran through Angular tutorial, and it's no surprise that Angular has evolved itself. Web technologies move fast! My previous effort worked with Angular 11, and as of about two weeks ago, we're now up to Angular 15. I looked through the changes to see how much I understood and how much would actually affect the kind of projects I intend to build. It appears that I picked a good time to review Angular -- v15 looks to be quite a consequential step forward.

From the "Angular v15 is now available" (2022/11/16) page:

  • Standalone components: I got excited about this item because I didn't understand Angular terminology. I thought "standalone" meant I could use Angular components piecemeal independent of the Angular framework, I was wrong. Reading more, I've learned some people felt Angular components are too dependent on a specific Angular mechanism "NgModule". Architecturally that meant a NgModule was the smallest unit of reusability, and not Component as intended. This "standalone" feature makes it easier for an Angular Component to run without NgModule.
  • NgOptimizedImage: Sounds like the Angular framework can now handle resizing image files. So large screen desktops don't get blurry images and small mobile devices don't waste bandwidth downloading high resolution images.
  • Stack traces are more helpful: Sounds promising. Getting an informative stack trace has always been a problem with debugging asynchronous code.
  • MDC-based components: Angular Material was why I started looking at Angular framework to begin with! At the time it was an Angular-focused set of web controls that are implemented differently from those intended for non-Angular web sites. (The non-Google affiliated Materialize-CSS project was something I've tried along similar veins.) Now it seems like the two worlds are converging, nice.

From the "Angular v14 is now available" (2022/6/2) page:

  • Strictly typed forms: Reading the description, it's the kind of thing that surprised in the "Wait, you meant it wasn't like that already?" category. Angular uses TypeScript and leverages its compile time type checking to catch bugs. Given this fact I was surprised that forms (a major way to interact with user data) aren't strictly typed. Perhaps there's subtlety here I don't understand but better type checking is almost always a good thing.

From the "Angular v13 is now available" (2021/11/3) page:

  • End of IE11 support: This only impacts me because I have a bunch of old Windows Phones that I had intended to reuse in other projects via its integrated web browser, which is a mobile build of Internet Explorer. Angular 11 didn't officially support IE but it was possible to build for IE with a few project settings. The results... mostly worked. As of Angular v13 that is no longer an option. If I still want to put those old Windows Phones to work via web apps, I'd have to do it with older versions of Angular or without Angular at all.

From the "Angular v12 is now available" (2021/5/12) page:

  • Sass: I had forgotten about Sass until I read Angular v12 increased support for Sass. I learned about Sass quite some time ago, before my recent efforts to relearn CSS. I've forgotten much of Sass and how it addresses challenges of plain CSS. I'm going to refresh my knowledge of Sass before I proceed.