Capacitor
Что такое Capacitor?
Capacitor — инструмент команды Ionic. Он кладёт веб-проект внутрь нативного проекта и открывает его в WebView. Его считают продолжением Cordova, но он работает с современным нативным проектом. Это не React Native: экран не превращается в нативные компоненты, он остаётся вебом.
Для чего нужен Capacitor?
Он нужен, чтобы выпустить готовое веб-приложение в магазин и дойти до камеры через плагин.
- Поместить готовый сайт в оболочку приложения
- Создать проект Android и iOS
- Камера и файлы через плагин
- Держать веб-код отдельно
Что можно делать с Capacitor?
С Capacitor из одной веб-базы выходят два проекта для магазина. Если нужна нативная кнопка или сложный жест, путь сужается. Тогда верным может быть нативный код или другой фреймворк.
Сложно ли освоить Capacitor?
Кто знает веб, тому старт лёгкий. Трудность в нативном проекте, подписи, версии плагина и правилах магазина. npx cap copy нельзя забывать, когда веб-сборку переносят на нативную сторону.
Плюсы и ограничения
Плюс: одна веб-команда выпускает две платформы, граница плагина ясная. Ограничение: тяжёлая анимация и полностью нативное ощущение могут остаться слабыми в WebView. Офлайн и разрешения надо проверять отдельно.
Основные понятия
Каталог web — место веб-сборки. Нативный проект — папки android и ios. Плагин — мост из JavaScript в нативный код.
- npx cap init создаёт настройку
- npx cap add android добавляет нативный проект
- npx cap sync переносит веб и плагины
- WebView открывает страницу внутри приложения
Короткий пример
Эти команды ставят пакет, называют проект и добавляют сторону Android. Веб-сборка должна быть готова раньше.
npm install @capacitor/core @capacitor/cli npx cap init npx cap add android
Частые вопросы
- Capacitor — это язык? Нет. Это инструмент, который кладёт веб-приложение в нативную оболочку.
- Это то же, что React Native? Нет. Capacitor оставляет экран вебом.
- Камера открывается без плагина? Нет. Возможность устройства требует плагин и разрешение.