Quasar
Vue components plus a build target for mobile and desktop.
Quasar is more than a component library. One Vue codebase compiles to a website, a PWA, a server-rendered app, a mobile app, a desktop app and a browser extension, with the same components throughout.
At a glance
| Install | npm init quasar |
| Build targets | SPA, SSR, PWA, Capacitor, Cordova, Electron, browser extension |
| Styling | Sass with a design token layer |
| Docs | full markdown mirror for every page |
| MCP server | not published |
| License | MIT |
Install
npm init quasar
Then switch target with the CLI rather than restructuring the project:
quasar dev -m pwa
quasar build -m electron
quasar build -m capacitor -T android
What the code looks like
<template>
<q-page padding>
<q-btn color="primary" icon="save" label="Save" @click="save" />
<q-table :rows="rows" :columns="columns" row-key="id" flat bordered />
</q-page>
</template>
Read the trade honestly
The multi-target build is genuinely impressive and genuinely a commitment. You adopt Quasar's CLI, its project structure and its conventions, and leaving later means rewriting more than your imports. It pays for itself if you actually ship to two or more targets, and costs you flexibility if you only ever ship a website.
Choose it if
- You ship the same product as web and as a mobile or desktop app.
- You want one team and one codebase rather than parallel stacks.
Look elsewhere if
- You only build for the browser. A plain component library leaves you freer.
- You want to keep Vite's default project structure and your own build config.