Библиотека Quasar предоставляет единый фреймворк для разработки приложений, которые могут запускаться в вебе, на мобильных устройствах через Cordova или Capacitor, а также как Electron-приложения для настольных систем. Основная идея — один кодовый базис, адаптируемый под конкретную платформу.
Файл quasar.conf.js играет ключевую роль в управлении
сборкой. Он содержит секции build, devServer,
framework и платформоспецифические настройки. Основные
параметры, влияющие на мультиплатформенность:
build.target — указывает целевые
браузеры для веб-сборки, что важно для корректной работы на мобильных
устройствах.build.env — переменные окружения,
позволяющие задавать разные настройки для веба, мобильных и десктопных
сборок.cordova и capacitor —
секции с путями, настройками пакетов и версиями SDK для мобильных
платформ.electron — настройки для сборки
десктопного приложения, включая packager или
builder и параметры установки.Пример минимальной конфигурации для мультиплатформенной сборки:
build: {
target: {
browser: ['es2019', 'edge88', 'firefox78', 'chrome87', 'safari13']
},
env: {
API_URL: process.env.API_URL
}
},
cordova: {
id: 'com.example.app',
iosStatusBarPadding: true
},
capacitor: {
hideSplashscreen: true
},
electron: {
bundler: 'builder',
builder: {
appId: 'com.example.desktopapp'
}
}
Для веб-приложений Quasar использует стандартный Webpack под капотом. Основные моменты:
service-worker, кешированием и
offline-режимом.Команды:
quasar build -m spa # веб-приложение SPA
quasar build -m pwa # веб-приложение PWA
quasar build -m ssr # серверный рендеринг
Quasar поддерживает оба популярных инструмента для мобильных приложений:
cordova plugin add.Ключевые моменты:
capacitor.config.json или config.xml для
Cordova.Примеры команд:
quasar build -m capacitor -T android
quasar build -m capacitor -T ios
quasar build -m cordova -T android
quasar build -m cordova -T ios
Quasar упрощает создание кроссплатформенных десктопных приложений:
electron-packager и electron-builder.electron.builder.Пример сборки Electron:
quasar build -m electron
Особенности:
Quasar позволяет различать код для веба, мобильных и десктопных сборок с помощью:
import { Platform } from 'quasar'
if (Platform.is.cordova) {
// код только для мобильных
}
if (Platform.is.electron) {
// код только для десктопа
}
if (Platform.is.desktop) {
// код для веба на ПК
}
Это позволяет минимизировать дублирование и держать базу кода чистой.
src-cordova, src-electron,
src-capacitor для хранения специфичных файлов.cssAddon или scss.Quasar совместим с любыми CI/CD пайплайнами:
quasar.conf.js через переменные окружения
позволяет переключать платформы без изменения кода.Quasar обеспечивает мощный инструмент для мультиплатформенной разработки, позволяя одной кодовой базе покрывать веб, мобильные и десктопные приложения с минимальными усилиями и высокой степенью контроля над сборкой и оптимизацией.