Hey everyone, I'm a junior developer and my team is considering upgrading a 15-year-old Java MVC application that currently uses Spring for the backend and JSP/Apache Tiles for the frontend. The application is a simple CRUD tool for internal use, but it's become quite complex with lots of added business rules over the years. We're looking to rewrite it using a modern JavaScript framework and switch the backend to a REST API in Spring. Our team consists of two junior developers and one senior developer, and we don't have much experience with a modern tech stack at the enterprise level. Our main goal is to ensure the application is functional and easy to maintain, rather than fancy. I've explored both Angular and React, and I'm leaning towards Angular due to its opinionated structure and included features. However, I find React easier to work with—at least for small projects—since Angular requires dealing with RxJS and other third-party libraries for various functionalities. Any insights or recommendations on which framework to choose would be greatly appreciated! Thanks!
4 Answers
You can't go wrong with Angular. It may not be the trendiest choice, but it definitely gets the job done. If your team is leaning towards a structure, I'd say go for Angular. If you've got some front-end experience already, Vue is another option—it's like a middle ground between Angular and React with a smaller learning curve.
React can be a bit tricky for teams without strong experience. It's easy for projects to spiral out of control without a clear direction from the start. This can lead to issues like prop drilling and data fetching problems. If you're worried about turnover and maintaining the application, Angular or even Nuxt (if you're considering Vue) might be better options. Nuxt offers some flexibility while still being user-friendly.
Choosing a framework often comes down to your team's experience. Both Angular and React have matured quite nicely and are suitable for enterprise applications. If your team could bring in a contractor for 6 months to guide the transition, that would be a smart move. It'll help establish a solid foundation and prevent future headaches from poor practices and necessary rework. Think about everything from deployment infrastructure to UI design; having an expert can make a big difference.
If your team ends up choosing Angular, definitely look into Signals—it's an alternative to RxJS that could simplify your code. Personally, I think you're better off not using RxJS unless absolutely necessary.
Related Questions
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically
[Centos] Delete All Files And Folders That Contain a String