Install Capacitor.
Add Capacitor to your project and create a config for your app
npm install @capacitor/core @capacitor/clinpx cap init [name] [id] --web-dir=build
Build native mobile apps with web technology and Preact
Add Capacitor to your project and create a config for your app
npm install @capacitor/core @capacitor/clinpx cap init [name] [id] --web-dir=build
The compiled web assets will be copied into each Capacitor native platform during the next step.
npm run build
Capacitor's native projects exist in their own top-level folders and should be considered part of your app (check them into source control).
npm i @capacitor/ios @capacitor/androidnpx cap add androidnpx cap add ios
With Capacitor installed, adding calls to native device features is as straight forward as calling other JavaScript methods
import { h } from 'preact';import { useState, useCallback } from 'preact/hooks';import { Geolocation } from '@capacitor/geolocation';
export default function GeolocationPage() {
const [loc, setLoc] = useState(null);
const getCurrentPosition = useCallback(async () => { const coordinates = await Geolocation.getCurrentPosition(); setLoc(coordinates); }, [coordinates]);
return ( <div> <h1>Geolocation</h1> <p>Your location is:</p> <p>Latitude: {loc?.coords.latitude}</p> <p>Longitude: {loc?.coords.longitude}</p>
<button onClick={getCurrentPosition}> Get Current Location </button> </div> );}
This is only the beginning. Learn more about the Capacitor development workflow or using more native APIs .