Fallstudie: Die Grenzen der Cross-Plattform Entwicklung
Die Herausforderung
Wir von asapteq haben schon früher plattformübergreifende Anwendungen entwickelt. Plattformübergreifende Apps sind eine großartige Möglichkeit, die Entwicklungszeit und -kosten zu reduzieren, da man nur eine App für mehrere Plattformen entwickeln muss. Die beliebtesten plattformübergreifenden Frameworks sind React Native, Flutter und Ionic. Da wir immer auf dem neuesten Stand der Technik sein wollen, haben wir beschlossen, alle drei Frameworks zu bewerten und das beste für unsere Kunden auszuwählen. Um die Frameworks zu bewerten, haben wir eine ziemlich komplexe App mit vielen Funktionen entwickelt.
Das Testobjekt
Um die Frameworks wirklich zu testen und zu sehen, wie sie funktionieren, beschlossen wir, eine komplexe Anwendung zu entwickeln. Nach einigem Brainstorming und Design Thinking kamen wir auf bonq, eine Social-Media-App, die es den Nutzern ermöglicht, ihre Lieblingsmemes und -erinnerungen zu teilen und die unmittelbaren, authentischen und emotionalen Reaktionen ihrer Freunde in Form eines Videos einzufangen. Die App ist zunächst offline, was bedeutet, dass sie ohne Internetverbindung genutzt werden kann. Die App verfügt auch über eine Funktion, die es den Nutzern ermöglicht, Videos in Echtzeit mit ihren Freunden zu teilen, einen Feed, eine Profilseite, eine Einstellungsseite, eine Anmeldeseite, eine Registrierungsseite, eine Suchseite, eine Benachrichtigungsseite,… Und das alles plattformübergreifend. Werfen Sie einen Blick auf die App hier.
Die Lösung
Die oben genannten Funktionen, insbesondere das datenintensive Teilen von Video in Echtzeit, sind eine große Herausforderung für eine plattformübergreifende Anwendung. Nachdem wir unsere Architektur mit Pipelines, Datenflüssen und Datenmodellen entworfen hatten, hatten wir eine gute Vorstellung davon, was und wie wir die App entwickeln wollten. Wir entschieden uns, die Anwendung mit Capacitor zu entwickeln. Capacitor ist eine plattformübergreifende App-Laufzeitumgebung, mit der Sie die gleiche Codebasis für die Entwicklung von Web-Apps und nativen Apps zu verwenden. React Native und Flutter hingegen erlauben es nicht, die gleiche Codebase für Web-Apps und native Apps zu verwenden. Es ist nicht nur die zusätzliche Webplattform, auf der Capacitor verwendet werden kann, sondern auch die Tatsache, dass Sie Webtechnologien wie HTML, CSS und JavaScript zur Entwicklung der App verwenden können, hat einen enormen Zeit- und damit Kosteneinsparungseffekt.
Das Ergebnis
Das Ergebnis ist eine voll funktionsfähige, plattformübergreifende App, die auf allen Plattformen hervorragend funktioniert. Die App ist sehr schnell und hat einen geringen Speicherbedarf. Außerdem verfügt die App über viele Funktionen, die wir in kurzer Zeit implementieren konnten. Wir haben viel über die verschiedenen plattformübergreifenden Frameworks gelernt und sind der Meinung, dass wir die Vor- und Nachteile der einzelnen Frameworks verstanden haben. Wir sind mit dem Ergebnis sehr zufrieden und glauben, dass es für unsere Kunden sehr nützlich sein wird