Capacitor — это открытая платформа и кроссплатформенный runtime, разработанный для создания мобильных и веб-приложений с использованием стандартных веб-технологий: JavaScript, HTML и CSS. Проект позиционируется как средство для объединения веб-кода с нативными возможностями платформ iOS, Android и с развитием поддержки десктопа и Progressive Web Apps. Capacitor предоставляет механизм выполнения веб-приложения внутри нативного контейнера и обеспечивает двухстороннюю связь между JavaScript и нативными API через систему плагинов.
Изначально разработанный как альтернатива и эволюция идей, применявшихся в других подобных решениях, Capacitor ориентирован на современные практики веб-разработки и интеграцию с существующими инструментами сборки и фреймворками. Основные сценарии использования включают создание гибридных приложений, расширение веб-приложений нативным функционалом, а также повторное использование единой кодовой базы для нескольких целевых платформ. Архитектура предусматривает минимальное вмешательство в нативный проект и возможность расширения через пользовательские плагины.
- Кроссплатформенность: единый веб-код работает на iOS, Android и в браузере с возможностью доступа к нативным функциям.
 - Плагины: модульная система плагинов для доступа к камере, файловой системе, геопозиции, уведомлениям и другим нативным API, с возможностью использовать готовые или писать собственные плагины.
 - Двусторонняя интеграция: упрощённый механизм вызова нативного кода из JavaScript и обратных вызовов с поддержкой промисов и событий.
 - Нативные проекты: сохраняет и управляет нативными проектами, позволяя разработчикам открывать и модифицировать платформо-специфичный код.
 - Интеграция с инструментами сборки: совместимость с современными сборщиками и фронтенд-фреймворками, поддержка сборки веб-артефактов для инъекции в нативный контейнер.
 - Обновляемость веб-слоя: поддержка подходов для обновления веб-контента приложения без пересборки нативной части, в рамках допустимых ограничений платформ.
 - Фокус на стандартах веба: использование стандартных веб-API и минимальная привязка к конкретным фреймворкам, что облегчает переносимость кода.
 - Документация и сообщество: публикация документации и примеров использования, наличие экосистемы плагинов и сообществ разработчиков (уровень поддержки и доступность ресурсов могут меняться со временем).