Build single-page apps, without building an API.

Inertia.js allows you to quickly build modern single-page React and Vue.js applications using classic server-side routing and controllers.

class UsersController
{
    public function index()
    {
        $users = User::active()
            ->orderByName()
            ->get()
            ->only('id', 'name', 'email');

        return Inertia::render('Users', [
            'users' => $users
        ]);
    }
}

JavaScript apps the monolith way

Inertia is a new approach to building classic server-driven web apps. We call it the modern monolith.

Inertia allows you to create fully client-side rendered, single-page apps, without much of the complexity that comes with modern SPAs. It does this by leveraging existing server-side frameworks.

Inertia has no client-side routing, nor does it require an API. Simply build controllers and page views like you've always done! To learn more about how Inertia works, see our how it works page.

<inertia-link :href="route('users.edit', user.id)">Edit</inertia-link>

Adapters

The first step when getting started with Inertia is to configure a server-side adapter. This primarily includes setting up a root template and updating your endpoints to return proper Inertia responses. To make this process easier, Inertia ships with a number of adapters for common server-side frameworks.

Demo application

If you'd like to see a complete working demo application built with Inertia.js, see Ping CRM. This application is built using Laravel and Vue.js.

Ping CRM