Capacitor
Awesome Capacitor ¶
Capacitor is an open-source native runtime for building Web Native apps. Create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS.
β‘οΈ Get Instant updates for your App with Capgo π
Fix your annoying bug now, Hire a Capacitor expert πͺ
Official plugins¶
Official plugins for Capacitor and maintained by ionic are listed here.
- Action Sheet - Provides access to native Action Sheets.
- App - Handles high-level App state and events.
- App Launcher - Allows to check if an app can be opened and open it.
- Browser - Provides the ability to open an in-app browser and subscribe to browser events.
- Camera - Provides the ability to take a photo with the camera or choose an existing one from the photo album.
- Clipboard - Enables copy and pasting to/from the system clipboard.
- Device - Exposes internal information about the device, such as the model and operating system version, along with user information such as unique IDs.
- Dialog - Provides methods for triggering native dialog windows for alerts, confirmations, and input prompts.
- File system - Provides a NodeJS-like API for working with files on the device.
- Geolocation - Provides simple methods for getting and tracking the current position of the device using GPS, along with altitude, heading, and speed information if available.
- Haptics - Provides physical feedback to the user through touch or vibration.
- Keyboard - Provides keyboard display and visibility control, along with event tracking when the keyboard shows and hides.
- Local Notifications - Provides a way to schedule device notifications locally (i.e. without a server sending push notifications).
- Motion - Tracks accelerometer and device orientation (compass heading, etc.).
- Network - Provides network and connectivity information.
- Preferences - Provides a simple key/value persistent store for lightweight data, ex Storage.
- Push Notifications - Provides access to native push notifications.
- Screen Reader - Provides access to TalkBack/VoiceOver/etc. and provides simple text-to-speech capabilities for visual accessibility.
- Share - Provides methods for sharing content in any sharing-enabled apps the user may have installed.
- Splash Screen - Provides methods for showing or hiding a Splash image.
- Status Bar - Provides methods for configuring the style of the Status Bar, along with showing or hiding it.
- Text Zoom - Provides the ability to change Web View text size for visual accessibility.
- Toast - Provides a native notification pop up for displaying important information to a user.
Community plugins¶
Community plugins owned by Capacitor organisation and maintained by selected community member are listed here.
- Admob - A native plugin for AdMob.
- App-icon - Capacitor community plugin for changing an app's icon.
- Apple sign in - Capacitor Sign in with Apple.
- Background geolocation - Receive geolocation updates even while app is backgrounded.
- Barcode scanner - A fast and efficient QR / barcode scanner for Capacitor.
- Bluetooth-le - Bluetooth Low Energy.
- Camera preview - Camera preview.
- Googlemaps - Plugin using native Maps API for Android and iOS.
- Contacts - Contacts Plugin for Capacitor.
- Date picker - Native DateTime Picker Plugin for Capacitor Apps.
- Electron - Support for the Electron platform.
- Facebook Login - A native plugin for Facebook Login.
- File opener - The plugin is able to open a file given the mimeType and the file uri.
- Firebase
- Analytics - A native plugin for Firebase analytics.
- Crashlytics - Firebase Crashlytics.
- Fcm - Enable Firebase Cloud Messaging features for Capacitor apps.
- Remote config - A native plugin for Firebase remote config.
- Flipper - A native plugin for flipper debugger.
- Http - A native HTTP plugin for CORS-free requests and file transfers.
- Intercom - Enable Intercom features for Capacitor apps.
- Keep awake - Prevent your screen from getting some sleep.
- Media - Enable some media features for Capacitor such as create albums, save videos, gifs and more.
- Microsoft
- MQTT v5 - A native plugin for using MQTT v5 with correlation data and Request/Response Pattern.
- Native audio - A native plugin for native audio engine.
- Native market - A native market plugin for linking to google play or app store.
- Photoviewer - PhotoViewer table images with full-screen and sharing capabilities.
- Privacy screen - Protects your app from displaying a screenshot in recents screen/App Switcher.
- React hooks - React Hooks for Capacitor apps.
- Realm - A native plugin for MongoDB Realm.
- Screen brightness - Control screen brightness on iOS and android.
- Speech recognition - A native plugin for speech recognition.
- Sqlite - Native & electron SQLite databases.
- Stripe - Stripe SDK bindings for Capacitor Applications.
- Tauri - Support for the Tauri platform.
- Text to speech - Synthesizing speech from text.
- Twitter - Enable TwitterKit features for Capacitor.
- Uxcam - UXCam and FullStory analytics. It uses UXCam for Android and iOS platforms and FullStory for Web/PWA.
- Websocket - Plugin providing native Websocket implementations for each platform.
Capgo plugins¶
Plugins owned by Capgo organisation and maintained by @riderx and community member with Open collective .
- Live Update - Live update for capacitor app.
- Crisp - Crisp chat SDK for your app.
- Flash - Switch the Flashlight / Torch of your device.
- Mute - Detect silent mode and mute audio.
- Native audio - Capacitor plugin for native audio engine (fork).
- Native Geocoder - Native forward and reverse geocoding.
- Native market - Capacitor community plugin for native market for Play Store/App Store.
- Screen recorder - Record screen and save to pelicule.
- In app Browser - Browser In app browser with urlChangeEvent and ability to clear cookie.
- Camera preview - Capacitor plugin that allows camera interaction from HTML code (fork).
- Shake - Detect shake gesture in device.
- Navigation bar - Set navigation bar color for android lolipop and higher.
- Video Player IVS - Native Ivs player for Capacitor app Android and IOS.
- Home indicator - Hide and show home button indicator in Capacitor app.
- Native Purchases - Manage IAP on capacitor with latest libs Android and IOS.
Capawesome plugins¶
Plugins owned by Capawesome organisation and maintained by @robingenz.
- Background tasks - A native plugin for running background tasks.
- Badge - Access and update the badge number of the app icon.
- Firebase
- Analytics - Firebase plugins for Capacitor. Supports Android, iOS and the web.
- App - Capacitor plugin for Firebase App.
- Auth - Handle the authentication on Native layer and propagate the token to the web view layer.
- Performance - Capacitor plugin for Firebase Performance Monitoring.
- Crashlytics - Capacitor plugin for Firebase Crashlytics.
- Screen orientation - Lock/unlock the screen orientation.
- Native updates - Capacitor plugin that assists with app updates.
- File picker - Capacitor plugin that allows the user to select a file.
- Managed configuration - Capacitor plugin to access managed configuration settings.
- Photo editor - Capacitor plugin that allows the user to edit a photo.
Transistor Software plugins¶
Plugins owned by Transistor Software plugins and maintained by @christocracy.
- Background Geolocation - The most sophisticated background location-tracking & geofencing module with battery-conscious motion-detection intelligence for iOS and Android.
- Background Fetch - Periodic callbacks in the background for both IOS and Android.
- Background Geolocation Firebase - Firebase adapter for Capacitor Background Geolocation.
Aparajita plugins¶
Plugins written and maintained by @aparajita.
- Biometric Auth - Easy access to native biometric auth APIs on iOS and Android.
- Dark Mode - Universal, reliable dark mode support on the web, iOS and Android.
- Logger - Better logging for the web and native Ionic/Capacitor apps.
- Secure Storage - Secure, flexible storage for Capacitor apps using iOS Keychain and Android Keystore. Supports Keychain sync across devices on iOS.
Other plugins¶
Independents plugins are listed here.
- Apple Pay - Get Apple Pay payments in your app.
-
App Tracking Transparency - Request user authorization to access app-related data for tracking the user or the device. iOS only.
-
Brother Print - A native Brother Print SDK implementation for iOS & Android.
- Biometric - Use biometrics confirm device owner presence or authenticate users.
- capacitor-plugin-camera - A camera plugin that is designed to make it easy to perform image processing tasks like barcode reading and OCR. We can use reflection to get the camera frames in another plugin so that it can enjoy native performance.
- Dark mode - Monitor the changes made to system's dark mode.
- Data Storage SQlite - Providing a key-value permanent store for simple data of type string only to SQLite on IOS, Android and Electron platforms and to IndexedDB for the Web platform.
- Document Scanner - Scan documents (notes, homework, business cards, receipts, or anything with a rectangular shape).
- Dynamsoft
- Barcode Reader - Scan barcodes and QR codes using Dynamsoft Barcode Reader.
- Camera Preview - Access camera using Dynamsoft Camera Enhancer.
- Document Normalizer - Scan documents using Dynamsoft Document Normalizer.
- Label Recognizer - Recognize text on labels like MRZ on passports using Dynamsoft Label Recognizer.
- Purchases - Capacitor in-app purchases and subscriptions made easy with RevenueCat.
- Email composer - Open a native E-Mail Composer within your Capacitor App.
- Facebook Analytics - Facebook Analytics Plugin for Capacitor.
- Firebase
- AppCheck - Allows usage of native AppCheck tokens.
- Dynamic Links - Firebase Dynamic Links.
- Push - This Plugin it used for Firebase Push Messages. It support Data.
- File selector - Select files form Android/iOS devices and the web.
- Google
- Auth - Google auth plugin for Capacitor.
- Availability - Verifies that Google Play services is installed and enabled, and request enabling Google Play services on device.
- Fit - Retrieve data from Google Fit.
- MlKit Language - Identify the language of a string of text.
- MlKit Vision - Detect faces in an image, identify key facial features, and get the contours of detected faces.
- Healthkit - Retrieve data from HealthKit.
- Intent - Supports multiple broadcast receiving of intents, and sending out BroadcastIntents in Android.
- Jitsi - Make video calls through the free, open-sourced Jitsi video platform.
- Lightsensor - Get the illuminance level on the device.
- Native settings - Open native settings screens.
- NativeScript
- NativeScript Capacitor - Empower Capacitor with native APIs.
- Augmented Reality - Add AR experiences.
- Navigation bar - Navigation Bar manipulation, hide/show.
- Oauth2 - Generic OAuth 2 client plugin. It let you configure the OAuth parameters yourself instead of using SDKs.
- Playlist - Native support for audio playlists, background support, and lock screen controls.
- Print - Print the WebView.
- Rate app - Let users rate your app using native rate app dialog for both Android and iOS.
- Read sms - Read the user's SMS with their permission.
- Safe Area - Get SafeArea info on Android and IOS.
- Screenshot - Take a screenshot of the current view.
- Send intent - Expose a listener in your JavaScript application for when another application sends data to your Capacitor application via the Android share menu or share sheet.
- Sentry - Add Sentry error tracking and performance monitoring for Capacitor apps.
- Stripe terminal - Stripe Terminal Plugin for Capacitor.
- Sprig - All-in-oneβ product research platform.
- Square Payments - Enable Square Payments for Capacitor.
- Sumup - SumUp Mobile SDK.
- UDP - Support both IPv6 and IPv4, multicast and broadcast.
- Video player - Play a video full-screen on IOS, Android, Web and Electron platforms.
- Zalo login - Zalo login plugin for Capacitor.
- Photo library - Get all the images from system album.
- Websocket Client - Capacitor WebSocket Client Plugin.
- Bing Translator - A simple and free API for using Bing Translator.
- Capacitor Calendar - A plugin for interacting with calendar and reminders.
Cordova plugins¶
Compatible¶
This list will be upgraded soon
Incompatible¶
cordova-plugin-add-swift-support
(not needed, Capacitor has built in Swift support)cordova-plugin-admobpro
(see details)cordova-plugin-braintree
(see details)cordova-plugin-code-push
(see details)cordova-plugin-compat
(not needed)cordova-plugin-console
(not needed, Capacitor has its own)cordova-plugin-crosswalk-webview
(Capacitor doesn't allow to change the webview)cordova-plugin-fcm
(see details)cordova-plugin-firebase
(see details)cordova-plugin-ionic-keyboard
(not needed, Capacitor has it's own)cordova-plugin-ionic-webview
(not needed, Capacitor uses WKWebView)cordova-plugin-music-controls
(causes build failures, skipped)cordova-plugin-qrscanner
(see details)cordova-plugin-splashscreen
(not needed, Capacitor has its own)cordova-plugin-statusbar
(not needed, Capacitor has its own)cordova-plugin-wkwebview-engine
(not needed, Capacitor uses WKWebView)cordova-plugin-googlemaps
(causes build failures on iOS, skipped for iOS only)
Tools¶
- Docgen - Docs Readme Markdown and JSON Generator for Capacitor Plugins.
- Plugin generator - Create a new Capacitor plugin.
- Assets - Local Capacitor icon/splash screen resource generation tool.
- Tailwind Capacitor - Collection of helper plugin for Tailwind, it add safe area class and others utlitilies.
- Capacitor safe area simulator - Chrome extension to simulate safe area in the browser, it support Ionic, Knsta UI and Tailwind Capacitor.
Learning¶
Places to learn about Capacitor
Offical guides¶
- How Capacitor Works - Capacitor takes a modern web app, and then packages it up to run on iOS, Android, and PWA.
- Creating Plugins - This guide will help you get started creating a shareable Capacitor plugin which will be published on npm.
- Creating Splash Screens and Icons - Use cordova-res to generate resource images for native projects.
- App Deployment and Realtime Updates - Update your Capacitor app remotely through the app stores.
- CI/CD for Capacitor Apps - Adding Mobile CI/CD to your Capacitor App development process.
- Data Storage in Capacitor - Storing small to large amounts of data in Capacitor.
- Security Best Practices for Capacitor - Security best practices for your Capacitor apps.
- Using Push Notifications with Firebase - Learn how to get Firebase Cloud Messaging working on iOS and Android.
- Saving Plugin Calls - How to save plugin calls in Capacitor.
- Mocking Capacitor Plugins - How to create mock objects for Capacitor plugins.
- Build Mobile Apps with Tailwind CSS, Next.js, Ionic Framework, and Capacitor - A very popular stack for building responsive web apps is Tailwind CSS and Next.js by Vercel.
Crash Courses¶
- Capacitor Crash Course - Learn to use Capacitor with Ionic by Simon Grimm.
Community Tutorials¶
- Capacitor Tutorial - Getting Started with Capacitor.
- Adding Icons & Splash Screens to Capacitor - Generating the Icon and Splash Screen Asset.
- Capacitor Workflow in an Ionic Application - Cover the basic workflow when using Capacitor in an Ionic application.
- Creating a Local Plugin - Running Custom Native iOS Code with Capacitor.
- Publishing Capacitor Plugin on NPM - Build and publish a standalone Capacitor plugin using the Capacitor CLI.
- Do Capacitor applications are native ? - Demonstrate why referring to Capacitor applications as "not native" is inaccurate and confusing terminology.
- Appcenter migration - Migrating from Microsoft App Center to Capgo in just a few simple steps.
- Update app seamlessly - Set up Capacitor-updater into your app to seamless releases update to your users.
- Automatic build and release - Create your own CI/CD pipeline with GitHub actions for free, to deploy your app every time you push to main.
- The Push Notifications Guide for Capacitor
Books¶
- Building cross platform app with Capacitor - A New Approach to Cross-Platform Development.
Case study¶
- Burger King - How Burger King Brought Their Design System to Mobile.
- Capacitor vs Cordova - This guide provides an overview of Capacitor and how it stacks up against Cordova.
- Native React Apps Without React Native - React Native is not a web environment, so it's not possible for teams to take their web-based React to deploy native apps, with Capacitor they can.
Demo apps¶
- capacitor-testapp - The Capacitor TestApp is used to develop new features and verify bug fixes in Capacitor and the official plugins.
- capacitor-plugin-demo - Simple Ionic Angular app to demonstrate the use of certain Capacitor plugins.
- capacitor-firebase-plugin-demo - Simple Ionic Angular app to demonstrate the use of certain Capacitor Firebase plugins.
- capacitor-updater-plugin-demo - Simple Ionic Vue app to demonstrate the use of OTA updates.
Community¶
Places to discuss about Capacitor
- Discord - Official Discord community.
- Forum - Official Forum community.
- Reddit - Official Reddit community.
- Stack Overflow - Official Stack Overflow community.
- Proposal - Official repo for plugin and platform requests.
Freelancers¶
- Martin Donadieu - Creator of this list and of Capgo live update system + 10 plugins.
- Christophe Surbier - Expert developer mobile since 2009 and Capacitor since 2017.
- Timothee Porcq - Expert developer Mobile Ionic/Angular & Capacitor +7 years.
- Nicolas Izac - Developper Fullstack | Vue-Angular-Ionic-Laravel +7 years.
Contributing¶
Contributions welcome! Read the contribution guidelines - first.