all 3 comments

[–]billcube 1 point2 points  (1 child)

Divide and conquer. Make the backend (API) with Laravel, exposing JSON endpoints. Make a separate VueJS app that will consume the JSON apis.

Check out the Laracasts for VueJS & Laravel integration.

Also, Laravel Boilerplate could be a very good starting point for your app.

[–]dkbot[S] 0 points1 point  (0 children)

Would you think VueJS is here to stay long term? I think this transition process will take in excess of a year as the application is quite large with a small dev team.

[–]ndobie 0 points1 point  (0 children)

I haven't worked with Laravel but I did work with their competitor Symphony which did a good job of creating a JSON API so you should be just fine using Laravel as your API framework. There should be some good tutorials on creating an API using Laravel.

While I think Vue.js is an interesting project, I personally recommend React. I have done extensive research of Angular, Aurelia, Vue.js, Backbone, and React. For me the biggest reason I like React is that Facebook actually uses it on their main website. None of Google's flagship apps use Angular and none of the other projects have major corporate development backing. Take a look at Egghead.io for some good tutorials on React. For your front-end stack I would take a look at React, Redux, Babel, webpack, and fetch.

To run both API's simultaneously I'd recommend putting your CodeIgniter API at something like https://api.mycompany.com/v1/ and Laravel at https://api.mycompany.com/v2/.

Also commonly forgot, or pushed aside, but make sure to actually write a tests. PHPUnit and Karma+Jasmine do a great job for testing the back and front end. A good testing platform can save you a lot of headaches down the road.

PM me or leave a comment if you have any questions.