In the last couple years DashBouquet team had a great number of various projects, among which were the ones on Angular, Angular2 and React. Because modern development trends include the use of such massive libraries, many developers argue, which one is the best. Since we worked with both Angular and React, we want to share our opinion, talk about pros and cons of each and give some recommendations on the best use for each library.
Few years back we started our work with Angular and since then we have over 50 projects, different in size and tech stack. In our work, we tend to constantly increase productivity and spend as little time as possible, at the same time delivering constant excellent results. So it is crucial that we use the best and most efficient tools and quickly decide, which ones are worth using and which ones are not.
Here is a table, in which we give pros and cons for Angular and React:
Developers tend to choose Angular over React, which is an advantage because in this scenario, it is more convenient to work with the framework. In addition, Google trends supports our opinion on Angular popularity.
We had dozens of Angular projects, and all of them had one thing in common — Angular has always been perfect for fast and relatively easy UI solutions. So, if you have an application with complex business logic, it would be better to choose React + Redux instead.
Another Angular disadvantage is high possibility of getting side effects. For example, if you get something wrong during work process, it will most definitely lead to another thing and so on. As well you will be getting more developers to work on the project, and side effects would just stack on each other. And upon scaling, it will become really easy to lose control over quality. On the contrary, no such problems appeared while working with Angular2 and React, due to predictable state containers and immutables.
Angular also has an issue that we call a monkey/banana problem. Meaning, if you want to give monkey a banana and see how monkey would deal with it, you have to build whole jungle first. Unlike Angular2, with React you can easily get more testable components because of developed ecosystem. As for React and Angular2 cons, one of the biggest issues is lack of good developers. Despite the fact that React is quite small framework, there are still a lot of things for developers to consider: state management, interaction with sever, testing and so on.
This is just a part of all our thoughts that we have on the three frameworks. Because at Dashbouquet we are never biased, our honest choice is React + Redux/Saga. We prefer it because we mainly work with big and complex apps. However, we don’t mind working more with Angular and getting more experience with it.