⚡️ Cross-platform apps with JavaScript and the Web ⚡️
Capacitor is a cross-platform API and code execution layer that makes it easy to call Native SDKs from web code and to write custom native plugins that your app may need. Additionally, Capacitor provides first-class Progressive Web App support so you can write one app and deploy it to the app stores and the mobile web.
Capacitor comes with a Plugin API for building native plugins. Plugins can be written inside Capacitor apps or packaged into an npm dependency for community use. Plugin authors are encouraged to use Swift to develop plugins in iOS and Kotlin (or Java) in Android.
Interested in following Capacitor 3 development? We'd love your feedback! Use the Capacitor 3 planning issue as a starting point. Open a discussion if you have questions or suggestions.
We'd love to hear from you. 💙
Capacitor was designed to drop-in to any existing modern web app. Run the following commands to initialize Capacitor in your app:
npm install @capacitor/core @capacitor/cli
npx cap init
Next, install any of the desired native platforms:
npx cap add android
npx cap add ios
For new apps, we recommend trying the Ionic Framework with Capacitor.
To begin, install the Ionic CLI (npm install -g @ionic/cli
) and start a new app:
ionic start --capacitor
In spirit, Capacitor and Cordova are very similar. Capacitor offers backward compatibility with a vast majority of Cordova plugins.
Capacitor and Cordova differ in that Capacitor:
- takes a more modern approach to tooling and plugin development
- treats native projects as source artifacts as opposed to build artifacts
- is maintained by the Ionic Team 💙😊
See the docs for more details.
No, you do not need to use Ionic Framework with Capacitor. Without the Ionic Framework, you may need to implement Native UI yourself. Without the Ionic CLI, you may need to configure tooling yourself to enable features such as livereload. See the docs for more details.
See CONTRIBUTING.md
.
Made possible by the Capacitor community. 💖