Admin panels can be considered as a UI for your database where you can create, read, update, analyze and delete data.
As a frontend / full stack developer you might have once in your life been involved in the development of an admin panel. And if you are like me who has worked on a lot of them you might have seen many admin themes already available freely on the internet which you can directly use in your project and code your way up to your requirements.
These themes work great, provide a consistent look & feel and cover a lot of users' requirements. But some of them internally use other libraries, plugins and add ons to provide these functionalities as a result you might end up jumping from documentation of one plugin to another in case you have some custom requirement. Furthermore, since these plugins are generally developed by different developers the mindset and the approaches vary and there are no consistencies across plugins.
Apart from that, there are many UI libraries as well that have a collection of components that can be used to create your custom admin panels. But the problem which I have faced with many of them is they are more of UI libraries and focus mainly on UI with limited help to handle complex functionalities that might be required by a developer. As a result, the developer has to implement his logic on top or bring in another library or plugin that solves the needs.
While working on an admin panel one thing is imperative that it mainly has a lot of tables, lists and forms. Now, when working on complex admin panels these base components remain the same but more features might be required in them. For instance, a table might need a provision of filtration, sorting and pagination. So, when finalizing on one admin panel theme or UI library it is not just sufficient to check if these basic components are provided but it is also important what additional functionalities are available with them that can be handy in future.
One such UI framework of React that I came across was Ant Design. When I started to use it everything seemed decent. But it really sparkled when, the project, which I was working on started to grow big and complex functionalities started to pour in. There were some features that I had created in the past in some other projects and a few were new. Even for the ones that I had worked on previously I had to write custom code to handle them as the themes or frameworks that I had used earlier did not provide them out of the box. But to my surprise, most of these features were already present in ant design. Not, only that the APIs are so developer-friendly that you need to write minimum custom logic to handle scenarios that have not already been catered by them. In no time I was able to use the most complex features out of the box and even able to develop new ones in an astonishing limited time. In addition to that, each of its components is in a harmony with one another such that mixing and matching them is a breeze.
It has been a couple of years since I had worked on that dashboard and haven't received a chance to work on the admin side of things but the usability and developer friendliness which I experienced with ant design in one single project has been heartwarming and I do not think anyone can replace it because as a developer we see hundreds of tools and frameworks but rarely something has a long-lasting effect on your mind. And if you are reading this article you already know how difficult is it to please a developer. Creating admin panels with ant design felt like listening to soothing music and I am unable to take it out of my mind. This is the reason whenever I hear the word React framework or React UI library Ant design pops up in my head.
Looking forward to using ant design again and creating more products like ant design for the web. Till then signing off.