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 Custom Plugins 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 einen 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 Performancewerte, 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 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: Developing Android and iOS Apps for the waipu.tv streaming service

Linear TV and innovation are by no means polar opposites. This is demonstrated by EXARING AG which, with the support of inovex GmbH, developed the waipu.tv streaming service. inovex was able to get in on the ground at the Development of waipu.tv and was significantly involved in the design and implementation of the Backend and the Mobile Applications for Android and iOS, as well as in assembling the development teams.

READ CASE STUDY

Smyle: Agile Development of a Comedy App with Intuitive Content Discovery

Using a target-group-focused approach, inovex worked with ProSiebenSat.1 Digital GmbH to implement a snackable comedy app, one which shows its users comedy clips in an intuitive way. State-of-the-art technologies and an agile project setup enabled the team to advance the innovative concept to a testable stage in the shortest possible time and to publish it in a timely manner.

READ CASE STUDY

Südzucker: Developing a self-service app for sugar beet cultivation

As the largest sugar manufacturer in Germany, Südzucker recognized the potential for digitising the delivery processes and thus ensuring greater transparency for its growers. With inovex’s assistance, an app solution which both met these requirements and provided a central information platform was created – in just six months: beet2go.

READ CASE STUDY

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 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 Erfahrungswerten 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.

Get in touch!

Tobias Joch

Head of Application Development