Why is react so popular?
I come from a mainly OOP education and when I started working I started with Angular and I loved it (OOP with typescript, the way it forces a structure some like java, the splitting of responsibilities, etc.). I'm one of those programmers that believes in well-writen and well-structured code and the tools you use should guide you towards that kind of development. So when I came across react I said "what kind of mess is this?" where the paradigm is totally flipped (a main mess of code AND THEN elements with responsibilities that you call in that great main mess). But my greatest surprise were that react IS THE MOST POPULAR FRON-END FRAMEWORK. And I mean, HOW?? Why is chaos over order? I mean I can understand that when you know nothing about front-end framework you choose the easiest straighforward option but why is also picked by professionals?
PD: I know that react is more a library than a framework but let's keep it simple just for the discussion.
I'm here to find someone that explains to me and convence me that react is the best front-end framework out there (because if it wasn't, it wouldn't be at the top of every list and UI library installation guide).
My main opinion (and points to argue):
- React is designed to be straighforward = It's going to be selected as first instance by a novice. If I'm a veteran dev and I know that there're more complete frameworks (like angular), why should I bother with a framework that I must do everything from scratch?
- A use case that I see logical to choose react is that you need to build your own UI framework, because I think that react, at the end, is designed for the developers to build their own UI frameworks easly, so they don't repeat themselves, but how many custom UI frameworks are out there? I know that you're going to say that we'll never know because those are private stuff, but when you land a job, you end up using an already mature, ready to use UI framework (like Materials or Semantic). So the argument blows away too.
I need to understand why is react so popular. I don't see it logical in any way from a good practices first development.