AngularJS is great. It’s easy to learn and help us finishing product quickly. Almost every developers that I have met say that they learn to use AngularJS very fast. But there are many pros and cons about this framework.
About the cons:
- The 2-way binding is very handy because it saves me a lot of time, but when the app growing, 2-way binding makes your app a mess if you don’t manage it carefully.
- Performance issue of AngularJS can be hurt your app very soon.
- Writing unit tests for AngularJS is not easy.
- It doesn’t have server-side rendering ability.
- MVC architecture helps devs learning the framework very fast but it doesn’t scale well with front-end development
- AngularJS is no longer supported by Google.
On the other side, I have experimented with React and I found out there are many benefits from React:
- Components are tend to be small so it’s easy to test and maintain and also easy to combine them together.
- JSX is a really nice way to replace the html template. We could use javascript native function & statement to in JSX which I found that it’s easy to read and understand the code.
- Short bootstrapping time. Also faster rendering.
- Server-side rendering
- Easy to write unit tests
- Supported by Facebook and Facebook uses React extensive in many of its products.
- Many companies are using React, including AirB&B, Netflix, etc.
The development experience with React is really nice because of hot reloading. Your app is updated as soon as you save your source code without reloading the whole website.
Overall, my first experience with React is very positive. I will keep learning and writing about this little library. Stay tuned!