Hi. I am a backend developer in a company tasked with recoding a legacy application, choosing the right technology stack, and then later hiring for that stack.
This is a freight/logistics application made 15 years ago in PHP with no modern framework used. In this application, customers from different countries login into theirs accounts and add a huge number of shipments, like let's say 500, and then, later on, generate PDFs for them after calling third-party APIs. This application has API integrations with lots of other companies and also offers API access to its own software as well. This application is also used in-house by warehouse people to scan different shipments using barcode scanners and to process shipments by performing different actions on them. The database being used currently is MySQL.
Now we have the choice to write this application in a modern technology stack. Performance, speed, reliability, and security are the primary concerns here.
Should I go with Java/Spring Boot with AngularJS as the front end or PHP/Laravel with Vue.js as the front end?
Switching at this point from PHP to Java will not be hard if Java is considered better here because we can hire as per our final decision.
Springboot (you can see for "jhipster" for a quick start with spring/angularJs ) is used in many micro service enterprise applications (they are design for), so API integration is "as easy as ABC". With this you can scale and give an answer to some of your questions: performance, speed, reliability and security. But be carefull with the learning curve...
NB: - For the DB, leave mysql and go to Postgres! their is no other option! you say thank you later! (a nosql database can be a nice tool too) - You have associated a front framework with a back framework, but they is no good reason to do that. You can use vuejs with springboot too (and i use them!)
Hi Chris, I will suggest going with Laravel and MySQL since the existing system is already in PHP it will help a lot and easier to port out to Laravel and will save a lot of time. Laravel has a very robust mechanism to handle the jobs/Queues and it comes with a lot of features.
Thank you. Keeping aside the fact that the existing system is made in PHP, would you still recommend Laravel over java? Wont java give better performance and speed over Laravel?