Jr developer seeking advice on choosing a framework for MVC architecture pattern [HELP]

Hey fellow programmers,

My team and I have to decide on what front-end framework we should start using for future projects and the future of the company (we are a company that sells auto parts online, so we’re eCommerceesque), we want to go with what’s hot and current, but we also want to be able to integrate it into the legacy code as smoothly as we can, right now most of software has been built using CodeIgniter (PHP) and jQuery, and we are using an MVC architectural pattern, so we’ve been thinking about integrating ReactJS as the “view” and keep Codeigniter as the “model” and “controller”, but then we’ve also read that Vue and Laravel really mesh well together, but that means we’d have to refactor everything that’s Codeigniter (which is a lot, maybe 3 months work worth of refactoring?)… so what I’m really asking is, will React integrate nicely into a CodeIgniter-based MVC legacy codebase, or is Laravel so good that it’s worth it to switch over and then just use it with Vue due to their complementary nature, or is there some other options I’m not even considering like Angular or another lesser-known framework, I would really appreciate any advice or wisdom because I am only a junior developer and I lack the sagacity to take into account all the variables regarding the long-term/short-term costs/benefits, thanks for reading and thanks for your input!

Are you planning to start a new clean project or trying to upgrade legacy systems?

Ideally integrate into the legacy codebase (upgrading the “view” portion of MVC), but if there’s a very strong argument to refactor the “model/controller” and use something new/better then we’re open to suggestions

I’d say choosing one over the other, depends on what needs to get done. :grimacing:

So, my 2 cents are

1) Understand the problems :thinking:
It would be best if you speak with the stakeholders, understand what their perceived organizational problems are in your company that requires you to rethink the frameworks.

Based on that, lay out the problems to your team mates whom will be taking this journey with you (I did not suggest laying it out to a software/system architecture expert because I am assuming the reason you asked this question is that your company lacks someone with expertise to solve this problem).

2) Team Buy In :heart_eyes:
Once you have shared the problems, probably best to distribute task for everyone to spend some time to research for what they think is the best framework. Do ask them to lay out a list of pros and cons. Then, during the next round of meeting, have everyone present their findings, before doing dot voting (or any other voting methods like Planning Poker) to see which get the most votes. Thereby you can proceed with the most voted solution.

Most times, the best frameworks are relative to the problem at hand and your team’s ability/capacity.

I hope this helps. :smile:

ps: If you already understand the problems that your stakeholders are trying to solve and you are looking for the pros and cons between the frameworks. Please list the problems here.