UI Frameworks for Angular

The Angular web framework is an awesome tool for creating frontend web interfaces. In fact, it's so awesome that we use it for creating the frontend of the Modern Learner app.

However when you build a web app, you really want some UI widgets that work out of the box rather than re-creating things like an autocomplete search box, or better styling for input boxes and buttons. So here is a list of some awesome UI frameworks for Angular.

angular-ui-package-downloads

We take a look at some of them in-depth below.

Angular Material UI

Angular Material follows the Material design system created by Google. It contains many components for UI widgets such as buttons, badges, dialogs, datepickers, cards, side navigation and more.

angular-ui-components-1

angular-ui-components-2

It also contains the CDK, Component Dev Kit, which are directives that can be used to create your own custom components. For example, let's say you want to create a component that has a virtual scroll, or needs drag and drop functionality, you can use the ScrollingModule and DragDropModule from the Angular UI CDK.

NG-Zorro

The NG-Zorro UI framework uses the Ant Design system for its enterprise-ready component library. It contains over 60 components that have a great look though you can create your own custom themes for them. Companies such as ThoughtWorks and Alibaba use the NG-Zorro framework to create their web apps.

It contains components for buttons, icons, grid layouts, breadcrumbs, page headers, and many components for data entry such as the cascader and autocomplete and datepicker. If you need cards or badges or a carousel, the NG-Zorro UI components have those covered.

ng-zorro-timeline

One of the coolest components in NG-Zorro include the timeline component. It displays a timeline of labels to indicate when an event happens. This component is useful for any app that needs to display a log of events.

ng-zorro-transfer

The transfer component in NG-Zorro is useful for displaying two lists that an item can be transferred between. For example, a list of enabled currencies or files or folders.

ng-zorro-cascader

The cascader component is a dropdown for selecting an item through a cascading menu. You can drill down in menus and sub-menus to select an item. Very handy if you have a lot of items or for an ecommerce categories and sub-categories menu.

Kendo UI

The Kendo UI component framework is a professional grade components library.

Not only does Kendo UI contain the typical UI widgets such as buttons and dropdowns and layouts, it also contains a variety of charts. When using most UI frameworks for Angular, you will need to use a separate chart library. Not so with Kendo UI which has pie charts, funnels, radar charts among other types of charts.

kendo-ui-radar-chart

If you're into stock markets (or cryptocurrency markets), there's even a box plot candlestick chart that you can use. And a specific StockChart component.

kendo-ui-stockchart

Another cool component that Kendo UI has is the scheduler. This looks like a meeting or appointment calendar view that shows which blocks of time are busy.

kendo-ui-scheduler

Kendo UI can be purchased for additional support. This means bugs and questions you have will be prioritized by the Kendo UI team.

PrimeNG

The PrimeNG Angular UI Components library has great components for forms, data, overlays and even charts.

The Captcha component is one of the more interesting components in the PrimeNG library. Sign up for reCaptcha, put in your site key in the component, and start using it. The CodeHighlighter component uses Prism.js for highlighting code blocks. The Terminal component is interesting because it shows a command line terminal for a user to enter commands; you can use the terminal service to listen for specific user commands and then act on them.

primeng-tree

There are other useful components such as the Tree.

primeng-orderlist

The OrderList is useful for ecommerce apps.

For theming, the PrimeNG framework has a few Bootstrap-style themes and Material-style themes.