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