cryptofoundry

cryptofoundry kontaktieren

Sagen Sie uns, was Sie bauen oder automatisieren möchten.

Artikel

Umstellung der Android-PWA auf Capacitor

Umstellung der Android-PWA auf Capacitor

Zuvor wurde die ADAMANT Android-App mit PWABuilder erstellt, was mehrere Einschränkungen mit sich brachte: keine Kontrolle über die Ziel-API-Version, kein Zugriff auf nativen Code und keine Unterstützung für Automatisierung. Mit dem PWA v4.7-Update wechselte die App zu Capacitor.js, um vollständige Kontrolle über den nativen Code zu erhalten, native Funktionen wie Push-Benachrichtigungen und Kamera über die Cordova-API nutzen zu können, Code-Optimierungen vorzunehmen, benutzerdefinierte Plugins einzubinden und CI/CD-Automatisierung zu ermöglichen.

Moving Android PWA to Capacitor

Warum Capacitor.js?

ADAMANT Messenger ist eine dezentrale Messaging-Plattform, bei der Leistung, Sicherheit und Wartbarkeit im Vordergrund stehen. Capacitor.js wurde gewählt, da es nahtlos mit modernen Web-Frameworks wie Vue.js integriert werden kann, einen einheitlichen Codebase für iOS, Android und das Web ermöglicht, Zugriff auf native APIs bietet, ohne die Web-Erfahrung einzuschränken, und von aktiver Entwicklung sowie umfassender Dokumentation profitiert.

Moving Android PWA to Capacitor

Vergleich: Native Android, PWABuilder und Capacitor.js

Die native Android-Entwicklung bietet vollen Zugriff auf alle Android-Funktionen und APIs, hohe Leistung und feingranulierte Kontrolle über UI und Funktionalität, erfordert jedoch Kenntnisse in Java oder Kotlin, einen separaten Codebase pro Plattform sowie höheren Entwicklungsaufwand und längere Entwicklungszeiten.

PWABuilder ermöglicht eine einfache Konvertierung einer PWA in eine native App mit minimalem Setup und schneller Bereitstellung, was für einfache Apps mit begrenzter nativer Funktionalität geeignet ist. Allerdings bietet es nur eingeschränkten Zugriff auf native Gerätefunktionen, möglicherweise geringere Leistung im Vergleich zu vollständig nativen Apps und Abhängigkeit von einem Drittanbieter-Konvertierungsdienst.

Capacitor.js bietet einen plattformübergreifenden, einheitlichen Codebase mit Zugriff auf native APIs und Plugins, Unterstützung moderner Web-Entwicklungswerkzeuge und -frameworks sowie eine aktive Community mit kontinuierlichen Updates. Die Nachteile sind eine leichte Lernkurve für Nutzer ohne Erfahrung mit Web-Native-Brücken, und einige native Funktionen erfordern möglicherweise weiterhin benutzerdefinierte Plugins.

Technische Umsetzung

Die Android-App wird nun nativ mithilfe von Capacitor.js und GitHub Actions erstellt. Die Implementierung fügte einen GitHub Actions-Workflow, Capacitor-Konfiguration, Android-Manifest-Dateien, Splash-Screen-Bilder und App-Symbole sowie ein Build-Skript hinzu. Alle Änderungen sind im Pull Request auf GitHub einsehbar.

Moving Android PWA to Capacitor