AngularJS was developed by Google in 2009 and in 2012 version 1.0 was released. However, up to now it is still among the most popular open-source front-end frameworks, supported by the community of contributors and developers and often used by development companies and freelancers. As a result, it was evolved from the AngularJS v1.0 to Angular v.2.0 and afterwards to the latest Angular v6.0.
The number of stars, added on GitHub over the 2017 year, Angular stays among the most used and popular front-end frameworks.
Below, it is a list of popular Angular components and libraries that have been updated for Angular v.6 and are still popular, as well as innovations introduced by their new versions.
This article will be useful for both experienced developers who have already updated the dependencies of their projects and are working on Angular 6, and newcomers who are getting acquainted with Angular 6.
1. Material Design for Angular (https://material.angular.io)
Angular Material - is a popular collection (has up to 15k GitHub stars) of Angular components, created with Google Material Design, which helps developers to apply modern elements to their projects simply and easily (Angular and TypeScript). Version 6 with support for Angular 6 differs primarily in greater clarity and simplicity.
Also a number of changes were made:
- Added a new ability for quick generation of templates of Material Components from the command line;
- Tree - a new component for data rendering, which has a tree structure, and a hierarchical method of interaction;
- Flexible Overlays - a new way to control and manipulate the positioning and sizing of elements with different content size;
- Badge - new component, which provides a small descriptor of element status;
- Bottom-Sheet - a new service to provide interaction with the user through the display of the panel at the bottom of the screen (primarily focused on the use on mobile devices).
As before, there is an exhaustive documentation with examples and support of an extensive community.
Also read our article: 3 Best Angular Universal Cases for building SEO-friendly SPAs
2. PrimeNG (https://www.primefaces.org/primeng)
Useful library, which provides more than 80 components for building UI of Angular applications. PrimeNG components are professionally designed, easy to use and customizable. There you can find simple form elements, as well as more complex ones - tables, graphs, sliders, pop-ups. Mobile UX is enhanced with touch optimizing and responsive layout.
The library has its own website with a detailed description of the available components and examples of working with them. Github rating - 4.2k stars.
3. NGX Bootstrap (https://valor-software.com/ngx-bootstrap)
It's hard to imagine a front-end developer who haven’t heard about the Bootstrap framework. NGX Bootstrap is a popular library (at about 4K Github stars), which provides a lot of important Bootstrap capabilities for applying in Angular applications. Provides high performance and app scalability for all screen sizes and device types. Supports switching between Bootstrap v.3 and v.4.
The library has its own website with clear documentation and many examples, which makes it easier for newcomers to work with it. In addition, developers actively support the project in accordance with the new versions of Angular.
4. Angular Fire 2 (https://github.com/angular/angularfire2)
Firebase - the platform for a web and mobile app development, providing a lot of services and tools. Official library from the Angular team for working with Firebase, rated by 3.8k stars of GitHub users. This is an observable based solution for interaction with Firebase platform, which, moreover, is NGRX friendly and has actions based API.
Other advantages of this library include:
- real-time data synchronization;
- logging users in and real-time monitoring authentication state;
- automatically offline data storing;
- useful and understandable documentation, a lot of tutorials, great community;
- supporting Angular technologies, such as AoT building, Universal, etc.
The latest version is v5.0.0-rc.11, which is fully compatible with Angular v.6.
5. NGRX (https://github.com/ngrx/platform)
Angular 2+ and reactive programming are inextricably linked through the deep integration of the RxJs library in Angular. NgRx is a set of libraries for describing and managing application state, interactions with the state by the redux pattern, used in Angular applications.
The main advantage of using such a scheme is to bring the application state to simple objects, provide a unidirectional data stream, interact with the external environment through predefined side-effects. Despite the complex state structure of the application, it makes sharing data in a complex application much easier and more understandable. About the popularity of this solution says 3.2k Github stars.
6. NG-ZORRO (https://github.com/NG-ZORRO/ng-zorro-antd)
3k+ Github stars. Produced by Chinese developers, the library is a set of professional Angular UI components created in the style of Ant Design. This library is created on TypeScript with full certain types, which is an undeniable advantage for Angular developers. Official site of Ant Design has a great documentation in English and a lot of live examples. The project is regularly updated, the latest version is 1.1.1 and provides a full support for Angular v.6
7. Angular Flex-Layout (https://github.com/angular/flex-layout)
Proceeding from the fact, that global browser support of CSS Flexible Box Layout Module now is more than 96% and CSS Grid Layout is only 87%, the choice of a modern CSS layout is obvious. This library contains a list of directives that help apply Flexbox CSS to HTML elements.
In addition, probably the main advantage of the Flex-Layout system is its responsive engine, with which developers can easily specify layouts of different sizes, control the visibility of elements on any screen sizes and devices. More than 2.9k Github stars were collected by this library since the release of the initial version. The current version is 6.0.0-beta.16 and it is fully compatible with Angular v.6.
8. NGX Translate (http://www.ngx-translate.com)
The task of translating a website into several languages is set quite often. NGX Translate is useful internationalization solution for Angular projects, rated with 2.2k Github stars, which allows to implement the mechanism of content translations to any languages and switching to any of them easily. The library provides tools for processing language changes for any type of content. The project is maintained by developers and contributors actively, so new versions are available regularly.
9. NGX Charts (https://swimlane.gitbook.io/ngx-charts)
Popular (2k+ Github stars) charting library for Angular 2+ still remains relevant. This unique project renders vector graphics by the Angular engine, and calculates mathematical functions, transformations, and others by the D3 library. Since the entire rendering process is performed by Angular, it makes it possible to control and influence this process, and also to optimize it with the use of technologies such as Ahead-of-Time and Server-Side Rendering.
10. NGXS (https://github.com/ngxs/store)
Unlike of NGRX, which formally is a Redux port for Angular, the NGXS was created as state management pattern specially for Angular and perfecting it with modern abilities of TypeSctipt, such as interfaces, decorators and classes, because of what NGXS will be more user-friendly for Angular developers. Now, this fast-growing project is gaining an increasing audience among the Angular developers, which is confirmed by 1.2k Github stars in less than 6 months. On the official site, there is clear documentation, as well as many examples and tutorials.
11. NGX Restangular (https://ngx-restangular.com)
Growing in popularity Angular 2+ service, which allows to simplify realization of common HTTP requests, such as GET, POST, DELETE, and UPDATE with a few lines of code. It is best to use for mobile and desktop applications that involve the exchange of data with some RESTful API.
Among the advantages are the following:
- support of both promises and observables;
- ability to specify custom names instead of insignificant URLs;
- ability to create custom HTTP methods;
12. NGX Fullpage (https://github.com/meiblorn/ngx-fullpage)
This awesome library is a wrapper of fullPage.js for the Angular 2+ platform. It was implemented as a set of Angular directives for applying fullpage.js functionality in applications. This solution makes possible to create fullscreen scrolling for vertically and horizontally oriented websites (one-page scrolling sites). New versions provide support of touch events on different screens and devices and are compatible with Angular v.6, including AoT and Universal technologies.
During the writing of the article, many libraries for the Angular developers were reviewed and tested. The above libraries are the most comprehensive and popular solutions to relevant tasks in the context of modern Angular 6 development. We hope that this article will help you to search and choose the approach to handle everyday issues in the process of web development.