Recently I am working in a Large scale application which includes HR system, Accounting system and many more. We have decided to go with Java Spring Boot 2.0 write now. We will use Multi module architecture for back-end technology.We want to select the front end framework right now that's why we need your experience sharing about Angular/ React / Vue. What are the pros and cons about using them? Please share your view and experience which will be pretty helpful for me.
For further actions, you may consider blocking this person and/or reporting abuse
Latest comments (3)
One more vote for Angular, it has opinionated architecture, which is a bold plus in a long run. Once I saw how messy architecture can be in React application, since there's no opinions, you can do whatever you want.
Angular is a fully featured, platform agnostic application framework. React and Vue are primarily UI libraries. All three are focused on component based UI.
There is a lot to take in with regards to Angular since it has so many features:
Some - if not a lot - of these features are not included in React or Vue so you will have to find 3rd party libraries and tools.
Angular has a lot of custom declarative syntax to learn in its templates. There is good documentation for getting started and well beyond the basics. However, there are many advanced use cases that to this day are not documented. Maybe because it is such a large framework but less than 2 years old.
While it takes months and months - possibly years - to get a firm handle on all the features that you need, you are on your way to a scalable, maintainable, testable codebase.
With that being said, Angular does not handle:
If you have a complex application, i.e. lots of components with lots of sources of state updates, you will need to think carefully about ensuring a unidirectional data flow by using immutable data and minmising the dirty checking change detection.
I wouldn’t go into pros and cons, since I might hurt someone’s sentiments towards a framework, but I see your use case is Java and enterprise. Which makes me assume your team would like to work with types and powerful tooling. I would recommend digging deeper into the Angular and Typescript system. Angular is a strongly typed framework and should fit your enterprise needs well. The other frameworks you mentioned can also be used, but they are less of frameworks and more of a V (View) in MVC, as Reacr puts it.