---
description: Capawesome offers enterprise-grade solutions and services designed for teams building cross-platform apps with Capacitor.
title: Guides - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/category/guides.png
---

<!doctype html> 

[Skip to content ](#guides) 

[🖥️ Introducing the **Capacitor Electron Platform** — build desktop apps for macOS, Windows, and Linux. Free & open source. ](/blog/announcing-the-capacitor-electron-platform/) 

* [ SDKs ](/docs/sdks/)
* [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ Haptics ](/docs/sdks/capacitor/haptics/)
* [ Home Indicator ](/docs/sdks/capacitor/home-indicator/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Intercom ](/docs/sdks/capacitor/intercom/)
* [ Intune ](/docs/sdks/capacitor/intune/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Light Sensor ](/docs/sdks/capacitor/light-sensor/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ Network ](/docs/sdks/capacitor/network/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ PDF Generator ](/docs/sdks/capacitor/pdf-generator/)
* [ PDF Viewer ](/docs/sdks/capacitor/pdf-viewer/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Permissions ](/docs/sdks/capacitor/permissions/)
* [ Phone Dialer ](/docs/sdks/capacitor/phone-dialer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ Photo Manipulator ](/docs/sdks/capacitor/photo-manipulator/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* [ Printer ](/docs/sdks/capacitor/printer/)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Proximity Sensor ](/docs/sdks/capacitor/proximity-sensor/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screen Reader ](/docs/sdks/capacitor/screen-reader/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Settings Launcher ](/docs/sdks/capacitor/settings-launcher/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ System WebView ](/docs/sdks/capacitor/system-webview/)
* [ Tauri ](/docs/sdks/capacitor/tauri/)
* [ Text Interaction ](/docs/sdks/capacitor/text-interaction/)
* [ Text Zoom ](/docs/sdks/capacitor/text-zoom/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Toast ](/docs/sdks/capacitor/toast/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ YouTube Player ](/docs/sdks/capacitor/youtube-player/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories
* [ Insiders ](/blog/category/insiders/)
* [ Ionic Framework ](/blog/category/ionic-framework/)
* [ ML Kit ](/blog/category/ml-kit/)
* [ SDKs ](/blog/category/sdks/)
* [ Showcase ](/blog/category/showcase/)
* [ Updates ](/blog/category/updates/)

## [Electron vs. Tauri for Capacitor Apps](/blog/electron-vs-tauri-for-capacitor-apps/)

Capawesome now offers two ways to take a Capacitor app to the desktop: the [Capacitor Electron Platform](/docs/sdks/capacitor/electron/) and the [Capacitor Tauri Platform](/docs/sdks/capacitor/tauri/). Both are open source, both run your existing web build on macOS, Windows, and Linux, and both are maintained by the same team. So the question of Electron vs. Tauri for Capacitor apps is not about which project is better in the abstract. It is about which one fits the app you are building. This post walks through that decision.

## [Migrate Off Capacitor Community Electron](/blog/capacitor-community-electron-migration/)

If you have been searching for a maintained **capacitor community electron alternative**, this guide is for you. The [Capacitor Community Electron Platform](https://github.com/capacitor-community/electron) is no longer actively maintained, which leaves desktop apps pinned to aging Electron versions and a large generated project you have to babysit yourself. Here you will learn how to move your Capacitor desktop app to the maintained [Capacitor Electron Platform](/docs/sdks/capacitor/electron/), step by step.

## [The Complete Guide to Capacitor Device Sensors](/blog/capacitor-device-sensors-guide/)

Fitness trackers, motion-controlled games, navigation apps, and adaptive UIs all lean on the same thing under the hood: the sensors already built into every Android and iOS phone. Native mobile teams have used these APIs for years; cross-platform and hybrid app developers building with Capacitor, Ionic, or a JavaScript framework often assume that kind of native device access means writing separate Swift and Kotlin code. It doesn't. Capacitor exposes ten hardware sensors as separate, focused plugins instead of one catch-all "sensors" API, so a single TypeScript codebase gets the same motion, environment, and device-state data a fully native app would.

This guide covers all ten — grouped by what you're actually building (fitness tracking, games, navigation, adaptive UX, background work) rather than by sensor name — with a working snippet for each, the real apps that use this category of sensor data, and the platform gaps you'll actually hit.

## [Build a Desktop App with Capacitor and Electron](/blog/how-to-build-a-desktop-app-with-capacitor-and-electron/)

If you already have a Capacitor web app running on iOS and Android, you're only a few commands away from a Capacitor Electron desktop app that ships to macOS, Windows, and Linux too. In this tutorial you'll take an existing web build, add the desktop target with the [Capacitor Electron Platform](/docs/sdks/capacitor/electron/), run it in a real window, and package native installers your users can download. No new toolchain to learn, just the same `cap` workflow you already use.

## [Convert Your Lovable App to iOS & Android Apps](/blog/convert-lovable-app-to-mobile-app/)

You built an app with [Lovable](https://lovable.dev). You described what you wanted, watched it come to life in the browser, and now you have a real, working product. There's just one problem: it lives on the web, and you want it on the **App Store** and **Google Play**, sitting on people's home screens like every other app.

This is the gap nobody warns you about. Lovable is brilliant at building your web app, but it stops at the browser. Getting that same app onto a phone — as a real native app you can submit to the stores — feels like it requires a completely different skill set, a Mac, and hours of fighting with Xcode and Android Studio.

It doesn't. In this guide, we'll **convert your Lovable app into native iOS and Android mobile apps** using [Capacitor](https://capacitorjs.com/), then **build them in the cloud with [Capawesome Cloud](https://capawesome.io/cloud/)** — so you don't even need a Mac. We'll install it on a real iPhone, add a native camera feature, create the signing profiles and the Apple Developer and Google Play accounts, and walk through the entire real-world workflow to get a mobile app into the stores.

No prior mobile experience required. We'll explain every command and every tool as if you've never opened a terminal before.

## [How to Use Custom SQLite Extensions in Capacitor](/blog/how-to-use-custom-sqlite-extensions-with-capacitor/)

SQLite ships with a lot out of the box, but sometimes you need behavior it doesn't provide: a custom FTS5 tokenizer for a language it doesn't handle well, a domain-specific SQL function, or a custom collation. Loadable extensions let you add exactly that. As of version 0.3.9, the [Capacitor SQLite plugin](/docs/sdks/capacitor/sqlite/) supports custom SQLite extensions on both Android and iOS. The catch is that each platform uses a different mechanism, so this guide walks through both — using a custom FTS5 tokenizer as the running example.

## [How to Build a Cordova iOS App Without a Mac](/blog/build-cordova-ios-app-without-a-mac/)

You can build a Cordova iOS app without owning a Mac by running the build on a hosted macOS machine in the cloud. The catch every Cordova developer on Windows or Linux runs into is that `cordova build ios` needs Xcode, and Xcode only runs on macOS. The good news is that the Mac can live in a data center instead of on your desk.

This is a hands-on walkthrough. By the end you'll have connected a Cordova project to a cloud build service, uploaded your signing certificate, and pulled down a signed `.ipa`, all without a Mac in the room.

## [Cordova Hot Code Push Alternative for OTA Updates](/blog/cordova-hot-code-push-alternative/)

If your Cordova app still ships over-the-air updates through `cordova-hot-code-push` or `cordova-plugin-code-push`, you're building on top of two dead plugins. The nordnet Hot Code Push plugin has been deprecated for years, and Microsoft's CodePush plugin retired alongside App Center on March 31, 2025\. Both still install, both still run, and neither is getting a fix the next time a Cordova or OS update breaks them.

This post is about what to do next. We'll look at exactly what stopped being maintained, what a Cordova OTA update solution needs to have in 2026, and how to move to a maintained replacement without rewriting your app.

## [Cordova Live Updates: A Complete Guide to OTA Updates](/blog/cordova-live-updates-guide/)

For most Cordova apps, the day-to-day changes — a copy fix, a styling tweak, a bug in the JavaScript — live entirely in the web assets. Shipping one has traditionally meant rebuilding the native binary, resubmitting to the App Store and Google Play, and waiting out review before anyone sees it. Cordova Live Updates skip that round trip. You publish a new web bundle, and devices download and apply it on their next launch — usually within minutes, without a store submission in the loop.

This guide covers the whole picture: how an over-the-air update moves through a Cordova app, the three decisions that shape your setup, how code signing protects the bundle in transit, the practices that keep production rollouts boring, and a working example you can clone today. It assumes you're either replacing Appflow's live updates or adding OTA delivery to a Cordova app for the first time.

## [11 Steps to Get Your Web App on the App Store (2026)](/blog/11-steps-to-get-your-web-app-on-the-app-store/)

You have a web app. Maybe you built it yourself, maybe you vibe-coded it with an AI assistant over a weekend. It works, you like it — and now you want it on the App Store and Google Play.

The problem is that every tutorial you find was written for people who already live in Xcode and Android Studio. They assume you have a Mac, know what a provisioning profile is, and have configured Gradle before. If you're coming from the web world — or you're an indie maker who just shipped a React or Vue app — those guides feel like they start three levels above where you are.

This guide starts at zero. It covers every step from "I have a web app" to "my app is live on both stores and I can push fixes without waiting for review" — using tools that handle the painful parts for you.

We've walked hundreds of users through this exact process. Here's everything we've learned, in one place.

Back to top