Angular 7 and PWAs

Angular 7 brings many new features to Angular in addition to improving the existing one. The new additions and improvements will make way for developers to build even efficient and better progressive web apps (PWAs). Angular 6 was a great leap in terms of new features and functionalities; Angular 7 is more of an incremental update and fixes various shortcomings to the features introduced to Angular in version 6 and before.

Nevertheless, Angular 7 introduces various new features to Google’s JavaScript framework, which will allow web developers to build web experiences even closer to the look and feel of a mobile app.

Alongside Angular Core, Angular Material has also been upgraded to version 7 and it brings various updated component styles to follow with the new Material Design specifications.

Better PWA Performance

Angular 7 is faster than Angular 6 in terms of getting things done. A quick upgrade (took us less than 10 minutes) to version 7 will bring you a faster framework and a virtual scrolling CDK module, which makes PWAs run with better performance.

Smaller apps and framework have always been the priority of the team at Angular. They realized PWAs were carrying reflect-metadata polyfill in the production stage. Angular 7 removed it.

Also, projects in Angular 7 use Budget Bundles by default and notifies the developer when an app in development exceed size limits: warning at 2MB and error at 5MB. Developers, although, can change the size.

Smaller PWAs with Ivy

You would be like, come on, wasn’t Ivy under development since April 2018? It may have lost the hype it gathered around the time, but it is still going to be an exciting news when it will launch. The last time we heard about. It will enter RC in April 2019 and release with general availability about a month later with version 8.0.

Ivy

For those who don’t know what Ivy is, Ivy is the upcoming rendering pipeline and view engine for Angular. The highlight of Ivy is how small it makes app. For example, the hello-world app demonstrated with Ivy by Angular Team measured mere 3.2KB on disk space.

So Angular developers, who were complaining about the size of their PWAs approaching that of native apps, will finally have fresh air to breathe. If everything goes as per the plan, Ivy would be an optional view engine for v7 when it will reach mass release and will be the default engine in Angular 8.

Updated Dependencies

Angular upgrades Typescript to version 3.1, RxJS to version 6.3 and also it adds Node 10 support.

Progressive Web Apps – Blurring the Lines between Web and Mobile Apps

Better Scrolling in PWAs

Many frameworks are making a move toward dynamically loading web pages, particularly images and long lists; Angular isn’t any different. Angular 7 takes another leap in this direction with the introduction of ScrollingModule, which allows virtual scrolling. Virtual scrolling is a precursor of virtual DOM present on React. In virtual scrolling, as a user scroll the PWA, the elements of the web app gain or lose visibility. ScrollingModule virtually loads and unloads visible and hidden elements from the DOM respectively as the user continuous to scroll.

Virtual scrolling improves performance of PWAs when scrolling the application. If you are a developer who has to load a potentially large list of items when a user scrolls the application, you can call cdk-virtual-scroll-viewport component and take advantage of the performance boost Angular 7 brings.

Better PWAs with DragDropModule

This is a courtesy of Angular Material 7. Developers don’t have to leave Angular Material and can now remain completely inside Angular Material module and perform drag and drop operation. They can reorder lists and transfer items between lists.

The CDK supports automatic renders, drag handling, drop handling and even the ability to exchange data. And as always if the developer doesn’t live the drag handling, Angular allows him to override the action with a custom one.

Developing PWAs is about to get exciting

The Angular team has steadily focused on refining the gears available to developers and the new CLI prompts ain’t unalike. Typically, when developers throw commands like ng new or ng add to CLI, it’s a one shot. If they forgot to include routing, they can always terminate the command.

PWA vs. native

That is not the case with new CLI though. The CLI responds with prompts. Developer can try ng new myangular7app and there is a room for surprise. The brand new prompt asks if they would like add routing or not. If they want to check a dissimilar stylesheet format, the CLI now lets them select between SCSS, CSS, SASS and more. This is a great news, Angular 7 is more customizable than any other version of Angular for developers.

Developers can add a schematic.json with the Schematic CLI. They can tell the Angular CLI which prompts to execute.

Hire Angular developers at TOPS

Tags

Quick Inquiry

Quick Inquiry