Hello to Angular 6: What’s New?
(Angular is a front-end framework used by software engineers around the globe to create interactive web applications).
Generate custom Angular components that can be used outside of an Angular app
Custom elements have long been craved by developers of Front-End applications.
With the new Angular Elements package, developers can now create elements for use outside of an Angular context, meaning that elements such as <custom-icon></custom-icon>, which are not a part of the current HTML specification, can be used in any page.
At present, browser support is growing, with Chrome and Safari supporting custom elements natively, whilst Firefox does not by default; however, it can be enabled manually. Overall, the release of Angular Elements is a testament to the growing ubiquity of custom elements in modern web applications.
Angular’s improved CLI has reworked configuration to enable multiple projects to be housed under one file, so farewell to angular-cli.json and welcome angular.json. Moreover, each project can contain custom configuration settings that are actuated upon the CLI’s build process.
RxJS is not a core part of Angular. However, informally the Angular community embraces the library as an informal core component, due to its provision of Subject and Observables (to name a few), in keeping with the reactive programming paradigm upon which Angular has been built.
With this in mind, the release of RxJS 6 is big news for Angular and it contains new features such as the notable RxJS compat (acts as a proxy layer enabling backwards compatibility for previous versions) and several bug fixes.
Library Generation Support
Angular developers can now generate libraries via the new ng-packagr powered library generator. This is in keeping with the “componentised” ethos of Angular, which values portability and decoupling of code – particularly components. Ultimately, work can be packaged into NgModule’s and imported, providing flexibility.
No native support for Redux
With the upswing of Redux as the preferred state management architecture, coupled with NgRX (which provides such for Angular), it is interesting to see that Angular has not provided native support for the architecture as part of this release. Perhaps this will feature in forthcoming versions.