Entwicklung von Multiplattform-Mobil- und Webanwendungen

20.04.2022
Milan Mitošinka

​​​​​​Möchten Sie Ihre eigene mobile Anwendung? Es ist jedem klar, dass man sowohl an die Android- als auch an die iOS-Plattform denken muss, eine davon reicht nicht aus. Und oft kommen wir nicht ohne eine Webschnittstelle aus. Praktisch seit dem Aufkommen der mobilen Geräte auf dem Markt hört man jedoch, dass es teuer ist, für jede Plattform separat zu entwickeln. Aus diesem Grund haben verschiedene Unternehmen versucht, Alternativen in Form von Multiplattform-Lösungen anzubieten, aber keine von ihnen hat sich wirklich durchgesetzt. Sie hatten ihre Tücken, waren unnötig komplex und hielten ein Unternehmen, das seine mobilen Anwendungen flexibel entwickeln will, in einem imaginären „Käfig“ begrenzter Möglichkeiten. Aus diesem Grund wird für B2C-Anwendungen oft die native Entwicklung bevorzugt, da sie nicht durch UX, Animationsmöglichkeiten und andere Details eingeschränkt sind, die für diese Zielgruppe sehr wichtig sind

In den letzten Jahren haben sich jedoch mobile Unternehmensanwendungen herausgebildet, bei denen nicht die perfekte Benutzeroberfläche und das Design im Vordergrund stehen, sondern die Funktionalität, die Benutzerfreundlichkeit und vor allem die Geschwindigkeit der Bereitstellung und die Flexibilität der Anpassung. Und hier zeigte sich Spielraum für den Einsatz ausgewählter Technologien, die eine plattformübergreifende Nutzung ermöglichen. Natürlich unter Einhaltung bestimmter Regeln.

Bei Cleverlance haben sich drei Arten der Implementierung bewährt. Wenn wir es stark vereinfachen, müssen wir gleich zu Beginn entscheiden, wie robust das Back-End mit MOA (Microservice Oriented Architecture) ist oder ob wir es erstellen müssen, und dann, ob die Anwendung nicht zu viel Geschäftslogik haben wird, sondern eher eine reine Präsentationsebene sein wird. In diesem Fall ist es vorteilhaft, Flutter zu verwenden. Wenn wir Warteschlangen für die Synchronisation, Geschäftslogik und die Einführung einer gewissen Komplexität außerhalb von Formularen in unserer Anwendung benötigen, ist Kotlin Multiplatform eine gute Lösung. Oder es gibt einen dritten Player = PWA (Progressive Web Applications), der die starke Basis moderner Browser nutzt.

Flutter

Wir betrachten Flutter als eine echte Multi-Channel-Display-Ebene, mit der wir mobile, Web- und Desktop-Anwendungen erstellen können. Es handelt sich um eine flexible Lösung, mit der sich B2B- und unter bestimmten Voraussetzungen auch B2C-Anwendungen effizient gestalten lassen. Ein Beispiel ist eine mobile Anwendung für BMW. Aber wenn Sie keine Probleme lösen wollen, ist es besser, sich auf das Backend zu verlassen und ihm das „Denken“ zu überlassen.

Kotlin Multiplattform

Eine weitere Option ist die Multiplattformsprache Kotlin. Der Vorteil ist, dass Sie eine „native App“ für Android programmieren, von der ein Teil auch für iOS verwendet werden kann. Meistens sprechen wir über die Geschäftslogik und die Integrationsebene, was uns später in der QA-Phase eine Menge Zeit erspart. Die Visualisierungsebene ist nativ für iOS und Android programmiert, so dass es möglich ist, das „Look & Feel“ der jeweiligen Plattform zu erreichen und die „One Code Base“ für die unsichtbaren Teile der App zu übernehmen. Bei einigen Projekten können bis zu 70-80 % des Codes auf diese Weise verwendet werden.

PWA

Progressive Web Applications gehören zu einem der neuesten Trends in der Entwicklung von Webanwendungen. Bis zu einem gewissen Grad verwischen sie die Grenzen zwischen webbasierten und nativen mobilen Anwendungen, indem sie Offline-Arbeit, den Zugriff auf die Gerätehardware und die Möglichkeit, Push-Benachrichtigungen zu empfangen, ermöglichen. Sie vereinen das Beste aus beiden Welten, nur begrenzt durch die Einschränkungen des Browsers. Dies eröffnet eine breite Palette von Funktionalitäten, zum Beispiel können bereits eine Kamera oder einen Fingerabdruckleser in der Basis verwendet werden. Das Erfordernis, tiefer gehende Gerätefunktionen zu nutzen, kann mit einer nativen „Hülle“, der sie verfügbar macht, effizient erfüllt werden. PWA-Apps können in allen gängigen App-Stores (Google Play, Apple Store, Huawei AppGallery und Microsoft Store) platziert werden und auf Android-, iOS- und Windows-Geräten laufen.

Wo funktioniert es?

Als Anbieter wollen wir natürlich neben den Standard-Entwicklungstechnologien auch „neue“ Technologien anbieten, und es freut uns umso mehr, dass unsere Kunden, die von Anfang an nach Kotlin Multiplatform gefragt haben, zu uns kommen. Als Beispiel sei hier das amerikanische Unternehmen Globstar genannt, für das die Aricoma-Gruppe eine mobile Anwendung für die Konfiguration und Verwaltung von Satellitenmodems für den Internetanschluss liefert. Der Einsatz von Kotlin Multiplatform war in diesem Fall wirklich erfolgreich, da es sich um eine Anwendung handelte, die in Bezug auf Integration und Datentransfer anspruchsvoll war. Darüber hinaus erfolgt die Integration über BLE (Bluetooth Low Energy), das Dutzende von Geräten gleichzeitig bedienen und beispielsweise deren Firmware aktualisieren kann. Die Technologie hat sowohl den Kunden als auch uns als Anbieter überzeugt, und es ist uns gelungen, eine partnerschaftliche Zusammenarbeit bei der Entwicklung der Anwendung aufzubauen.

Wir haben die PWA-Technologie zum Beispiel im Online-Service für SAZKAmobil-Kunden erfolgreich eingesetzt. Ihr Hauptvorteil ist die extrem verkürzte Time-To-Market (die Zeit, die benötigt wird, um neue Funktionen auf den Markt zu bringen) und die große Zahl von Entwicklern, die diese Technologie beherrschen. Darüber hinaus eignen sich PWAs am besten für Anwendungen, bei denen die Nutzung der Komponenten des Geräts selbst wenig im Vordergrund steht, z. B. für interne Unternehmensanwendungen, die von Außendienstmitarbeitern oder Produktionsmitarbeitern genutzt werden.

Wenn Sie an technischen Details interessiert sind, lesen Sie diesen Artikel in unserem Blog mobile it, in dem Sie auch erfahren, worauf Sie bei der Auswahl einer Technologie für die Entwicklung einer mobilen Anwendung achten sollten.

#development