Drei Menschen betrachten ein Tablet mit Service Meister Dashboard

Cross-Platform-Entwicklung mit Flutter

 

Mit Cross-Platform-Lösungen erweitern sich die Möglichkeiten im mobilen Anwendungsfeld. Neben Cordova, Ionic und React Native hat sich insbesondere Flutter als eine attraktive Alternative zur nativen Entwicklung bewährt.

Schon seit ein paar Jahren teilt sich die App-Entwicklung in zwei Teile, die Native- und die Cross-Platform-Entwicklung. Während bei ersterer eine App speziell für ein bestimmtes Betriebssystem, Android oder iOS, entwickelt wird, entsteht bei der letzteren Entwicklungsmethode eine Anwendung, die plattformübergreifend Einsatz findet.

Effiziente Entwicklung, weniger Wartungsaufwand

Flutter bietet den Vorteil, dass es gegenüber Native-Entwicklungen eine verkürzte Entwicklungszeit und geringeren Wartungsaufwand ermöglicht. Durch die zentrale Entwicklung für mehrere Betriebssysteme können Teams schlanker gehalten werden, da es eine gemeinsame Codebasis gibt und, solange man keine Customs Plugin braucht, auch keine plattformspezifische Integration nötig ist. Gleichzeitig können die Anwendungen bei Bedarf über ein einheitliches UI verfügen.

Im Gegensatz zu Native-Entwicklungen bieten Cross-Platform-Technologien auch die Möglichkeit, schneller ein Proof of Concept zu entwickeln. Auch bei uns konnte so durch die gute Unterstützung für Android und iOS mit Flutter bereits in einigen Projekten, sowohl im B2C als auch im B2B Bereich, ein schneller und nachhaltiger Projekterfolg erzielt werden.

Native vs Cross-Platform

Im Vergleich zu Native-Anwendungen stehen Cross Platform Apps jedoch auch vor einigen Herausforderungen. Wer zum Beispiel die beste Performance für seine Anwendung sucht, kommt um eine Native-Entwicklung nicht herum. Mittlerweile schaffen auch Flutter und Co. beachtliche Performance, bleiben jedoch hinter gut entwickelten Native Apps zurück.

In unserem Meetup zum Thema „Use Cases: Native Apps vs. Cross-Platform Apps” sprechen wir über die Vor- und Nachteile, die die beiden Entwicklungspfade mit sich bringen.

Nachhaltige Entwicklung mit Flutter

Auch wenn Flutter erst 2017 durch Google gelauncht wurde, hat sich die Technologie schnell als ein der Mittel der Wahl für Cross-Platform-Entwicklung hervorgetan. Ein großer Vorteil: Es kommt aus dem Google-Kosmos. Flutter basiert, wie auch wie auch das Google OS Fuchsia auf Dart, wodurch es auch über längere Zeit Relevanz behält.

Für die Zukunft ist zudem die Anbindung weiterer Plattformen geplant. Neben Android und iOS soll mit Flutter auch die Entwicklung von Progressive Web Apps – Internetseiten, die auf dem Smartphone als App gespeichert werden können – möglich sein. Zudem plant Google das Cross-Platform-Angebot von Flutter mit Windows und Linux auch auf den Desktop auszuweiten.

Case Studies

EXARING AG: Entwicklung von Android- und iOS-Apps für waipu.tv

Seit der Verbreitung von einfach zugänglichen Video-on-Demand-Angeboten gilt lineares Fernsehen häufig als unattraktiv – als altmodisch und nicht innovativ stigmatisiert, steht es der modernen Form des Medienkonsums gegenüber. Dass lineares Fernsehen und Innovation aber ganz und gar keine Gegensätze sind, zeigt die EXARING AG, die mit Unterstützung der inovex GmbH den Streaming-Dienst waipu.tv entwickelt hat.

CASE STUDY LESEN

Südzucker: Entwicklung der Self-Service-App „beet2go“

Als der größte Zuckerproduzent Deutschlands hat Südzucker das Potenzial gesehen, die Lieferprozesse zu digitalisieren und so seinen Zuckerrübenanbauer:innen mehr Transparenz zu gewährleisten. Mithilfe von inovex ist in einem halben Jahr eine App-Lösung entstanden, die diese Anforderungen erfüllt und darüber hinaus eine zentrale Informationsplattform bietet.

CASE STUDY LESEN

Smyle: Agile Entwicklung einer Comedy App mit intuitiver Content Discovery

Im Sinne einer zielgruppengerechten Ansprache hat inovex gemeinsam mit ProSiebenSat.1 Digital eine App für snackable Comedy umgesetzt, die ihren Usern auf intuitive Art und Weise Comedy-Clips präsentiert. Dabei erlaubten es moderne Technologien und ein agiles Projekt-Setup, das innovative Konzept in kürzester Zeit in ein testbares Stadium zu überführen und zeitnah zu veröffentlichen.

CASE STUDY LESEN

Vorteile von Flutter

Wer in Cross-Platform-Apps native Features, wie Push Notification, NFC, Secure Store oder Kamerafunktionen, einbauen möchte, ist bei Flutter, Native React usw. auf Plugins angewiesen, um deren Entwicklung und Instandhaltung sich eine aktive Community kümmert. Hier besteht das Risiko, dass der Support eines Tages eingestellt wird, wenn die Verantwortlichen aus der Community keine Zeit oder Lust mehr haben sollten.
Im Fall von Flutter stellt auch der Entwickler Google viele solche Plugins zur Verfügung und sorgt dafür, dass sie langfristig mit Flutter kompatibel bleiben. Das schafft Planungssicherheit für die Zukunft.

Im Gegensatz zur Cross-platform-Technologie React Native sind mit Flutter entwickelte Apps native Anwendungen auf Endgeräten, für deren funktionen keine JavaScript Bridge benötigt wird. Vor der Installation wird die App einfach auf dem Smartphone für die ARM-Architektur kompiliert. Damit kommen sie Native Apps sehr nahe. Anders als Cross-Platform-Technologien, wie Ionic oder Cordova, geht Flutter sogar so weit, dass die UI komplett selbst gerendert wird und und die System UI nur nachbildet. Daher kann man eine UI für iOS bauen, die nach Android aussieht und vice versa.

Ein weiterer Vorteil von Flutter ist, dass der Code nach Änderungen nicht mehr kompiliert werden muss, sondern sofort einsehbar ist. Das spart während der Entwicklung Zeit und Kosten. Gegenüber anderen Cross-Plattform-Technologien läuft die Render Engine von Flutter zudem unabhängig vom Betriebssystem, was sie robuster gegenüber Fehlern macht.

Von Erfahrung profitieren

Unsere Kunden profitieren bei ihren Projekten von unseren langjährigen Erfahrungswerte aus der nativen iOS- und Android-Entwicklung, die wir in die Cross-Platform-Entwicklung einbringen. So kennen wir uns beispielsweise mit der App Store- und PlayStore-Verwaltung aus und helfen dabei, spezielle Richtlinien einzuhalten und plattformspezifische Besonderheiten zu beachten.

Wie können wir Sie unterstützen?

Tobias Joch

Head of Application Development