We know pretty well about Angular, don’t we? Why else would we be here? Angular has dependency injection, which is particularly useful for assembling data services for applications, along with the use of an HTML template in order to build up components. When you hire AngularJs developers for your project, they would still bild components with an HTML component that connects to TypeScript code for imperative parts of the program.
Let’s look at some of the new features in the Angular 8 beta
- Logging is now more configurable in the compiler-cli, with CLI usage and integrations such as webpack plug-ins to filter excessive log messages.
- The current AbstractType<T> interface will match classes whether they are abstract or concrete. Casting as AbstractType<MyConcrete> will return a type that is not newable.
- Such a type can be used to match abstract classes in the get() functions of Injector and TestBed.
- There is also a new update to schematic called “template-var-assignment” which has been introduced in order to analyze template files to warn developers if template variables are assigned to values. This schematic comes with a driver for TSLint.
- We have an added support for TypeScript 3.3. and support for TypeScript 3.1. In the current version, TypeScript 3.2 will be dropped. We also have an addition of a command-line flag that expose Bazel build files on disk.
- Coming to service-worker, multiple apps can be supported on different subpaths of a domain. Till now, the service-worker has cached data of multiple apps in cache DB files in a different domain and this resulted in apps breaking when switching from one app to another in the same domain. The new capability now solves this issue.
- The current version includes modification of Bazel which can copy the workspace and bazel files to the project root directory before invoking Bazel.
- Latest version has removed the components from a ‘FormaArray’. This provides a convenience.
- It provides external tooling the ability for async providers to finish resolving before the document is serialized.
- An update for schematic in the @angular/core package to migrate to the explicit query timing syntax has been included which affects ‘ViewChild’ and ‘ContentChild’ query resolution.
- A JSON schema for service worker configuration. For Bazel, ts_config has been added to extend support for the ng_module. This also is a step toward enabling the importing of material2 as a Bazel dependency.
- As for the router, a hash-based navigation option has now been added to setUpLocationSync. With this change, developers now can pass an option to setUpLocationSync to ensure that location changes run in hash-based apps.
- We have performance improvement for smaller images that uses pngcrsh, an optimizer that makes images smaller for all PNG files. createinjector() is removed from the pubic API. Createinjector() is an API for the planned Ivy renderer, which is due in a beta form later this year. Plans call for re-exporting the API when Ivy is releasedFor forms, a control and descendant controls can be marked as touched.
- Also for Bazel, a bug fix has been implemented in which the node memory limit for ng-module has been increased to prevent out-of-memory issues with large modules. When memory is not released correctly or a process continues to use more and more of it, process failure can result.
Conclusion
AngularJs has a proven track record in frontend web application development. It poses a strong future when developing a strong website with robust features. As a developer you might know the power that Angular possesses. In the long run AngularJs is going to give a tough competition to its contemporaries; if you have your foot set in AngularJs development, hold it there.