Quasar Framework
一套代码,多端部署的 Vue 3 跨平台 UI 框架
Quasar 是 Vue 3 跨平台 UI 框架,内置 72 个 Material Design 组件,支持 SPA、SSR、PWA、移动应用、桌面应用和浏览器扩展一套代码六端部署,提供强大的 CLI 工具链。
Quasar Framework
Quasar 框架内置组件体系——一套代码,多端部署的 Vue 3 跨平台 UI 框架
基本信息
- 官网:https://quasar.dev
- GitHub:https://github.com/quasarframework/quasar
- License:MIT
- 最新版本:
- quasar(UI 库):v2.21.1
- @quasar/app-vite(构建工具):v3.0.0(2026-07-06 正式发布)
- @quasar/app-webpack:v4.x 同步维护中
- 主要维护者/公司:Razvan Stoenescu(创建者、首席开发 & 架构师),Quasar 团队 + 社区贡献者
- Node.js 要求:>= 22(app-vite v3)
- 源码语言:JavaScript 51.9%、Vue 28.4%、CSS 13.5%
核心特性
- 一套代码,六端部署:同一套代码可同时构建 SPA、SSR、PWA、Capacitor/Cordova 移动应用、Electron 桌面应用和浏览器扩展(BEX),是 Vue 生态中跨平台能力最完整的 UI 框架
- Material Design 2 组件体系:内置 72 个 高质量 Vue 组件,严格遵循 Material Design 设计规范,覆盖按钮、表单、布局、数据展示、导航、反馈等全场景
- 自动 Tree-shaking:仅打包目标平台所需代码——构建 SPA 时不会包含 Mobile 或 Electron 相关代码,极致精简产物体积
- 强大的 CLI 工具链:Quasar CLI 提供项目脚手架、路由管理、资源管理、应用图标/启动屏自动生成等全流程支持,大幅减少样板代码
- RTL 支持:全面支持从右到左排版,开发者编写的 CSS 会自动转换为 RTL 版本
- 国际化:开箱内置超过 40 种语言包,支持自定义扩展
- UMD 构建模式:可通过
<script>标签直接引入,无需构建步骤,适合渐进式迁移已有项目 - 丰富的 App Extensions:支持通过扩展机制注入复杂配置(如 Apollo/GraphQL、Tailwind CSS 等),社区扩展生态活跃
- 最佳浏览器兼容性:对桌面和移动浏览器(包括 iOS Safari)提供开箱即用的最佳支持
组件体系
组件总览
Quasar 内置 72 个 Vue 组件,按功能分类如下:
按钮类(3 个)
| 组件 | 说明 |
|---|---|
QBtn | 按钮,访问主要操作 |
QBtnGroup | 按钮组,替代标准独立按钮 |
QBtnDropdown | 下拉按钮,紧凑地访问多个操作 |
表单类(14 个)
| 组件 | 说明 |
|---|---|
QInput | 文本输入框 |
QSelect | 下拉选择器 |
QFile | 文件选择器 |
QForm | 表单容器,管理验证与提交 |
QField | 字段包装器,包裹自定义表单元素 |
QRadio | 单选框 |
QCheckbox | 复选框 |
QToggle | 开关切换 |
QBtnToggle | 按钮式切换选择 |
QOptionGroup | 选项组 |
QSlider | 滑块,选取单一值 |
QRange | 范围滑块 |
QTimePicker | 时间选择器 |
QDatePicker | 日期选择器 |
数据展示类(11 个)
| 组件 | 说明 |
|---|---|
QTable | 数据表格,支持排序、筛选、分页 |
QTree | 树形控件,展示层级数据 |
QList / QItem | 列表与列表项 |
QCard | 卡片容器 |
QMarkupTable | 标记表格,标准 HTML 表格展示 |
QTimeline | 时间线 |
QCarousel | 轮播图 |
QImg | 图片组件 |
QVideo | 视频播放器 |
QVirtualScroll | 虚拟滚动,优化超长列表渲染 |
QChip | 标签/碎片,紧凑信息与操作 |
导航类(8 个)
| 组件 | 说明 |
|---|---|
QTabs / QTabPanels | 标签页与面板切换 |
QToolbar | 工具栏 |
QBreadcrumbs | 面包屑导航 |
QMenu | 下拉菜单 |
QStepper | 步骤条 |
QPagination | 分页 |
QTab | 标签导航 |
反馈与覆盖层(10 个)
| 组件 | 说明 |
|---|---|
QDialog | 对话框/弹窗 |
QTooltip | 工具提示 |
QBanner | 横幅消息 |
QBadge | 徽标 |
QAvatar | 头像 |
QNotification | 通知(通过 Quasar 插件) |
QAjaxBar | Ajax 进度条 |
QSpinner | 加载动画 |
QLinearProgress | 线性进度条 |
QCircularProgress | 环形进度条 |
布局与辅助类(12 个)
| 组件 | 说明 |
|---|---|
QLayout | 页面布局框架 |
QHeader / QFooter | 头部/底部区域 |
QDrawer | 侧边抽屉 |
QPage / QPageContainer | 页面内容区域 |
QSeparator | 分隔线 |
QSpace | 弹性空间 |
QSplitter | 可拖拽分割容器 |
QScrollArea | 自定义滚动区域 |
QExpansionItem | 展开/折叠项 |
QSkeleton | 骨架屏 |
QResponsive | 响应式比例容器 |
QNoSsr | 跳过 SSR 渲染 |
交互与高级组件(14 个)
| 组件 | 说明 |
|---|---|
QFab | 浮动操作按钮 |
QEditor | 富文本编辑器(WYSIWYG) |
QUploader | 文件上传 |
QChatMessage | 聊天消息 |
QColor | 颜色选择器 |
QRating | 星级评分 |
QKnob | 旋钮控件 |
QInfiniteScroll | 无限滚动 |
QPullToRefresh | 下拉刷新 |
QParallax | 视差滚动效果 |
QPopupEdit | 弹出编辑 |
QPopupProxy | 弹出代理 |
QSlideItem | 滑动列表项 |
QSlideTransition | 滑动过渡 |
观察者(2 个)
| 组件 | 说明 |
|---|---|
QResizeObserver | 元素尺寸变化监听 |
QScrollObserver | 滚动事件监听 |
适用场景
- 多端应用开发:需要同时发布 Web、移动端、桌面端的应用,Quasar 的"一套代码六端部署"能力可大幅降低开发和维护成本
- 跨平台开发:Vue 技术栈团队希望用一套代码覆盖 SPA + PWA + 移动 App + 桌面 App 的全场景需求
- PWA / 移动 Web:Quasar 对 PWA 和移动端 Web 有深度优化,适合需要原生体验的 Web 应用
- 企业内部管理系统:72 个组件覆盖表单、表格、树、选择器等中后台常见场景,配合 Material Design 风格开箱即用
- 快速原型开发:CLI 脚手架 + 丰富组件 + 完善文档,适合快速搭建 MVP 或内部工具
- 浏览器扩展开发:通过 BEX 模式支持 Chrome、Firefox 等浏览器扩展开发
- 国际化项目:内置 40+ 语言包 + RTL 支持,适合面向全球用户的产品
技术亮点
一套代码,六端运行
Quasar 的核心竞争力在于其跨平台能力。开发者只需编写一次 Vue 组件代码,即可通过 CLI 切换构建模式,输出不同平台的应用:
# SPA — 单页应用
quasar build spa
# SSR — 服务端渲染(支持 SPA/PWA 客户端接管)
quasar build ssr
# PWA — 渐进式 Web 应用
quasar build pwa
# Capacitor — 移动应用(iOS / Android)
quasar build capacitor
# Electron — 桌面应用(Windows / macOS / Linux)
quasar build electron
# BEX — 浏览器扩展
quasar build bex每个构建模式有独立的源码目录(如 src-capacitor/、src-electron/、src-ssr/),共享 src/ 中的核心 Vue 组件和逻辑。自动 Tree-shaking 确保不会将无关平台代码打入产物。
@quasar/app-vite v3(2026 年 7 月发布)
Quasar 最新的构建工具链,基于 Vite 生态全面升级:
- Rolldown 替代 esbuild:编译速度大幅提升,构建产物更小
- 并行化构建:所有 Quasar 模式的构建步骤实现并行化
- 全新环境管理:重新设计的 env 文件管理系统,修改后无需重启开发服务器
import.meta.env替代process.env:完全支持 TypeScript,新增安全层确保客户端文件仅使用可配置前缀的环境变量- 依赖隔离:各 Quasar 模式独立管理依赖,模式特定包可直接安装在对应
src-*文件夹 - SSR 增强:更好的自定义 Web 服务器支持(Hono、Fastify、Express、Koa),新增
/src-ssr/server-assets文件夹 - Electron 改进:新增
/src-electron/electron-assets文件夹,更便捷的文件引用方式 - Vue Router 文件路由:支持基于文件系统的路由
- oxlint + oxfmt:除 ESLint 外新增 Rust 工具链选项
- App Extensions 支持 TypeScript
- 基于 Node.js v22+ 特性构建,支持 PNPM v11
CLI 工具链
Quasar CLI 是框架的核心生产力工具:
# 安装 CLI
npm i -g @quasar/cli
# 创建项目
npm init quasar
# 开发模式
quasar dev
# 构建生产版本
quasar build
# 生成应用图标和启动屏
quasar icongenieCLI 自动处理路由配置、资源管理、代码分割、Polyfill 注入等复杂配置,让开发者专注于业务逻辑。
Material Design 组件体系
72 个组件严格遵循 Material Design 2 设计规范,所有组件支持:
- Dense 模式:通过
dense属性让所有表单组件使用更紧凑的垂直空间 - 暗色模式:内置暗色主题支持
- 主题定制:通过 CSS 变量或 SCSS 变量深度定制
- 一致性 API:所有组件共享统一的 Props、Events、Slots 设计模式
性能优化
- 组件内部使用 Vue 3 响应式系统的精细控制
QVirtualScroll虚拟滚动支持超长列表渲染- 自动 Tree-shaking 确保最小打包体积
- Rolldown 驱动的快速编译(app-vite v3)
生态集成
Vite 集成
Quasar 与 Vite 生态深度集成:
- @quasar/app-vite:官方 Vite 构建适配器,v3 版本已升级至 Vite 7 + Rolldown
- Vite 插件模式:可在
quasar.config中通过extendViteConf自定义 Vite 配置 - Tailwind CSS:通过 PostCSS 插件或
quasar-app-extension-tailwindcss-3扩展集成 Tailwind CSS 4.x - UnoCSS:社区提供 UnoCSS Preset,支持将 Quasar 类映射为 Tailwind 快捷方式
Nuxt 集成
Quasar 可通过以下方式与 Nuxt 集成:
nuxt-quasar-ui模块:Nuxt 官方模块列表收录,提供开箱即用的 Nuxt + Quasar 集成- 手动集成:在
nuxt.config.ts中配置 Vite 插件和基础样式 - Quasar 2.15.0+ 引入
useId和useHydrate函数,与 Nuxt 自动导入系统兼容
注意:与 Vuetify 相比,Quasar 的 SSR + Nuxt 集成相对复杂,社区更推荐在需要跨平台能力时使用 Quasar 自身的 CLI 而非 Nuxt。
图标集成
支持多种图标集:
- Material Icons(默认)
- Fontawesome
- Ionicons
- MDI(Material Design Icons)
- Eva Icons
- Themify Icons
- 自定义 SVG 图标
App Extensions
Quasar 独有的扩展机制,支持向项目注入配置和功能:
@quasar/quasar-app-extension-apollo:GraphQL / Apollo 集成quasar-app-extension-tailwindcss-3:Tailwind CSS 集成- 支持 TypeScript 编写扩展(app-vite v3)
- 社区贡献的多种扩展
学习资源
官方资源
社区渠道
| 渠道 | 链接 |
|---|---|
| Discord 社区 | https://chat.quasar.dev |
| GitHub Discussions | https://github.com/quasarframework/quasar/discussions |
| GitHub 仓库 | https://github.com/quasarframework/quasar |
| X(Twitter) | @QuasarFramework |
| Quasar Framework | |
| Medium 博客 | Quasar Framework - Medium |
| r/vuejs(Quasar 相关讨论) |
教程与视频
| 资源 | 说明 |
|---|---|
| Master Quasar: Build Powerful Cross-Platform Apps | 2025 年 YouTube 入门教程,覆盖跨平台开发全流程 |
| Build Cross-Platform Apps with Quasar & Vue 3 | 2025 年图文教程,从 Vue 3 到 Capacitor 移动部署完整指南 |
| Quasar Components - Getting Started | 组件入门视频教程 |
| Quasar v2 升级指南 | YouTube 播放列表,从 v1 升级到 v2 的完整系列 |
| Quasar vs Nuxt: Picking the Right Vue Framework in 2025 | 框架对比文章 |
Figma 设计资源
| 资源 | 说明 |
|---|---|
| Quasar v2.18.5 - Figma 社区文件 | 官方 Figma 组件库,方便设计师与开发者协作 |
2026 年现状
版本进展
截至 2026 年 7 月,Quasar 框架处于活跃开发状态:
- quasar v2.21.1 是当前最新稳定版,持续修复问题和优化
- @quasar/app-vite v3.0.0 于 2026 年 7 月 6 日正式发布,是一个重大版本升级,引入 Rolldown、并行构建、全新环境管理等核心改进
- v1 已于 2023 年 6 月 30 日终止 LTS 支持,v2 是当前唯一活跃版本线
社区与生态
- GitHub 27.2k+ Stars,3.7k+ Forks,拥有稳定的用户基础
- 项目由 Razvan Stoenescu 主导开发,社区贡献者参与维护
- 2026 年 3 月社区发起项目状态与路线图讨论,讨论资助开发和路线图优先级
- 社区关注点集中在单人维护者的可持续性和开发节奏
竞争格局
- 在 跨平台能力 方面,Quasar 仍然是 Vue 生态中最完整的解决方案(SPA + SSR + PWA + Mobile + Desktop + BEX)
- 在 纯 Web 中后台 场景,Element Plus、Naive UI、Arco Design 等专用组件库的竞争加剧
- 在 移动端 Web / PWA 场景,Quasar 仍是 Vue 生态的首选
- 部分开发者在 SSR 场景转向 Nuxt + Nuxt UI,但 Quasar 在需要同时覆盖移动端和桌面端时仍具独特优势
- 社区有人尝试将 Quasar 组件类映射到 UnoCSS/Tailwind,探索更灵活的样式方案
优势与局限
| 优势 | 局限 |
|---|---|
| Vue 生态跨平台能力最完整 | 单一维护者主导,开发节奏受限 |
| 72 个内置组件,开箱即用 | 与 Tailwind 等外部样式系统集成稍显复杂 |
| Material Design 风格统一 | Material Design 风格可能不符合所有设计需求 |
| CLI 工具链成熟 | 相比 Nuxt 生态,SSR 集成复杂度较高 |
| app-vite v3 带来显著性能提升 | 社区规模相比 Element Plus 较小 |
| 活跃维护,发版节奏稳定 | Material Design 3 支持仍为社区实验阶段 |
总结:Quasar Framework 是 Vue 生态中跨平台能力最完整的 UI 框架。如果你的项目需要同时覆盖 Web(SPA/SSR/PWA)、移动端(iOS/Android)和桌面端(Windows/macOS/Linux),Quasar 是最佳选择。2026 年 app-vite v3 的发布标志着框架在构建工具和性能方面迈出了重要一步。对于纯 Web 中后台场景,可能需要权衡 Material Design 风格和社区规模等因素。