It wasn’t a hard decision to choose Angular as a core framework, as it’s more suitable for enterprise development than React or Vue.

So, the real challenge was to choose a UI components library. Why?

In spite Angular has a relatively young ecosystem, there are already several large UI frameworks out there

All of them are somewhat immature, so it’d be almost impossible not to face some breaking changes in future

Libraries do offer plenty of different UI components, but not all of them are functional enough, and not all libraries offer a complete set of components, which are required for an enterprise development

Creating a short-list of UI libraries

Before you even start looking at particular UI libraries, you need to investigate your existing system to understand your needs.

Create an inventory of components you already use in your system

Identify which functionality of existing components is absolutely must-have, and which isn’t.

Which functionality of existing components is currently missing or needs to be improved

After getting this data, you may start going through all available UI libraries and check if their offerings are close to what you want to get.

I went through the “Resources” section of Angular.io website and quickly eliminated most of the offerings due to dated/poor visuals, low performance, unavailability of a Datagrid and other enterprise components, and some non-official Material libs.

So, after this initial investigation, I came up with a short-list of 3 potentially suitable UI frameworks:

Telerik Kendo UI for Angular

Angular Material

Vmware Clarity HTML/CSS framework with Angular components

Telerik Kendo UI for Angular

This one was almost the most obvious and natural choice, as we were already using Kendo components.

We already owned a license, we had hopes that some legacy code could be reused, plus its components offerings almost matched these of a JavaScript version of a library.