UI Frameworks are a useful tool, I would be hard pressed to find any counterargument with significant validity to that claim. UI Frameworks allow for designers and developers to create beautiful websites with marginal ease if whatever you are trying to make is something that exists within the framework. The part of UI frameworks that I find fault with is the syntax and the lack of structure that make them a nightmare to learn and even worse to learn quickly.
I understand that comparing full scale programing languages with a framework is somewhat far fetched however the comparison highlights the issue with frameworks. Within a programming language there are hundreds of different functions and syntaxes that must be learned; however they are categorized into concepts and ideas that often track between different languages. The most obvious example of this is in many C-style languages which share identical syntax in many places, but outside of the c-style languages, you can explain large segments of code conceptually (which is why we are able to read and write pseudo code for many programs at different levels). However when you attempt to do that with a website design and you begin to run into some issues, there are some parts that can be described for example most frameworks will have something about a nav bar or header that can be implemented however any specifications begin to become too framework specific to continue to describe them. Oftentimes text alignment can work differently among frameworks, image sizing and selection can also have different syntax. So the process of learning a UI framework is not just learning what the syntax is for different concepts but it is also learning how that framework “thinks” or how chooses to reference things (side note this is also a common issue among automation motor controllers in live entertainment settings, they all “think” differently which is what makes them difficult to learn). It is an interesting dichotomy where these frameworks are created to help people design websites better and yet their design is very specific to a certain framework.
The majority of my experience with frameworks comes from bootstrap which I also have some issues with the choice in syntaxing. Let us take a look at a simple example from the bootstrap documentation: “<ul class="navbar-nav me-auto mb-2 mb-lg-0">”. This is from the creation of a navbar in bootstrap, it is nearly unintelligible to anyone who has not read the bootstrap documentation and even then requires some thought without extensive UI design experience. Each one of the classes corresponds to a different setting within the navbar and they each behave slightly differently however without having read what each one does it just reads like the ramblings of a developer who is over writing clear code and just wants to be done. Please note I am not saying that the code needs to be easy to read without knowledge of how the system works, I am just saying that there has to be a better way of designing the framework that doesn’t mean you have to have read the entire documentation to understand. Don’t get me wrong, standard programming languages have this problem as well. Some parts of C code are absolutely disgusting to read but you are able to take them apart and understand what they mean whereas here you are reliant on the documentation to make any sense of the meaning.