Single-Page Applications (SPAs) are dynamic Web applications which operate on a single page without the need to ever reload the whole page. Let's take a look at how you can develop SPAs using Laravel 5 and Vue.js 2.

The whole process is different from developing traditional web apps. We will be developing two separate parts: a public API with Laravel and a web app/client with Vue.js. With this approach you can easily develop other clients for the same API later (for example a mobile app) without changing anything, as well as expose your API to third-party apps.

Both the API and the web client will be hosted inside a single Laravel project since Laravel comes with everything we need for Vue.js development. Although, if you need or want to, you can have them inside separate projects and separate domains. The web client doesn't have to be a Laravel app at all.