Softwareentwickler sind nie blutrünstig, aber oft erwägen sie, zwei Fliegen mit einer Klappe zu schlagen. Der Jagdgeist erwacht in ihnen vor allem dann, wenn die Notwendigkeit besteht, Apps für verschiedene Plattformen zu entwickeln. Der gegenwärtige Wettbewerb auf dem App-Markt lässt sie darüber nachdenken, wie sie mit weniger mehr erreichen können. Plattformübergreifende Frameworks kommen zur Rettung. Warum nicht Flutter ausprobieren?
Flutter scheint ein weiteres Toolkit zu sein, das den Einstieg in das plattformübergreifende Paradigma der mobilen App-Entwicklung erleichtert. Das Hauptziel aller konkurrierenden Frameworks wie z.B. React Native und Xamarin ist es, die Markteinführungszeit zu verkürzen, ohne die UX in beiden Welten (Android und iOS) zu beeinträchtigen. Die Entwicklung mobiler Apps kann unterschiedlich viel Geld kosten: einmal zu zahlen ist sinnvoller als zweimal zu zahlen. Unternehmer sollten sowohl die Idee der plattformübergreifenden Entwicklung als auch die Tools, die damit umgehen können, verstehen. Ist Flutter wirklich gut in dieser Angelegenheit? Welche Vorteile bietet dieses relativ neue Framework für Ihren Geldbeutel?
Dieser Beitrag befasst sich mit den einzigartigen Fähigkeiten von Flutter und erklärt, wie Ihr Unternehmen von diesem fortschrittlichen Tool zur Entwicklung mobiler Apps profitieren kann.
Was Flutter im Wesentlichen ist
Google veröffentlichte 2017 Flutter, mit dem Entwickler native mobile Apps mit nur einer Codebasis erstellen können. Dabei handelt es sich um ein Open-Source-Framework für mobile Benutzeroberflächen, mit dem Sie in einer einzigen Programmiersprache Apps für verschiedene Plattformen erstellen können. In der Tat ist Flutter mehr als nur eine Widget-basierte UI-Bibliothek. Die hybride Natur von Flutter umfasst ein SDK als Toolkit, mit dem Sie Ihren Code in einen Maschinencode für Android und iOS kompilieren können.
Flutter wurde als Lösung für das Hauptproblem der plattformübergreifenden Entwicklung geschaffen - eine einzige gemeinsame Benutzeroberfläche. Trotz möglicher Argumente für andere verfügbare Tools, die in der Lage sind, eine gemeinsame Benutzeroberfläche für verschiedene Plattformen darzustellen (Xamarin, React Native usw.), verschleiern sie das eigentliche Problem eher, als dass sie es lösen. Im Gegensatz dazu erfüllt Flutter das berühmte Motto der plattformübergreifenden Entwicklung: einmal schreiben, überall laufen lassen. Das Motto ist kaum auf alle Arten von Software anwendbar, aber es passt perfekt auf die Benutzeroberfläche. Vor Flutter gab es für dieses Problem aus verschiedenen Gründen keine einfachen Lösungen. Und die Gründe sind es wert, tiefer ins Detail zu gehen, denn sie können Ihre geschäftliche Entscheidung bestimmen: Ist die Entwicklung mit Flutter eine Investition wert?
Flutter und Frontend: Hintergrundgeschichte
Native Entwickler für mobile Geräte können sich nicht leisten, was Webentwickler können. Webentwickler können HTML und CSs verwenden, um eine Website zu erstellen, die anschliessend in Safari und Chrome gleichermassen gut angezeigt wird. Einige mögen einwenden, dass es Mobilentwickler gibt, die schon seit langem eine leistungsstarke Benutzeroberfläche mit einer gemeinsamen Codebasis schreiben. Das sind Spieleentwickler. Für Unternehmer läuten hier die Alarmglocken: Mobile Spiele sind eine lukrative Sache. Eine einschlägige Erfahrung in der Spieleentwicklung kann Ihnen potenzielle Anhaltspunkte geben, wie Sie Geld sparen können.
Angry Birds wurde mit Cocos2d-x entwickelt, Fortnite wurde mit der Unreal Engine erstellt. Warum nicht diese Engines verwenden, um das Problem zu lösen? Wenn sie in der Lage sind, atemberaubende Actionszenen auf einem Smartphone darzustellen, können sie sicherlich auch Schaltflächen und Listen mit flüssigen Animationen versehen. Die Antwort ist trivial: Die Engines sind für einen anderen Zweck entwickelt worden.
Wenn wir ein Handyspiel spielen, spielt es keine Rolle, wie die native Benutzeroberfläche aussieht. Wenn wir Spiele spielen, interagieren wir fast nie mit Geolokalisierung, Kameras und Push-Benachrichtigungen. Ein Spiel lebt in seiner eigenen kleinen Welt, und deshalb sind Spiele-Engines recht schlecht mit Betriebssystemen integriert. Mit Blick auf Flutter sollten wir uns also die Frage stellen:
Was sollte ein ideales plattformübergreifendes Framework bieten?
Die folgenden Fähigkeiten scheinen obligatorisch zu sein:
- Native Anzeige der Benutzeroberfläche
- Native Leistung der Benutzeroberfläche
- Wirkt auf jedem Betriebssystem wie eine native Anwendung
- Frontend-zentrierte Laufzeitumgebung
- Einfach zu erlernende Programmiersprache
Die letzte Funktion ist aus einem bestimmten Grund vorhanden. Die Sache ist die, dass es neben Flutter ein universelles, plattformübergreifendes Framework gibt, das fast alle unsere Anforderungen erfüllt. Dies ist Qt. Aber Qt läuft mit C++. Natürlich ist C++ ein Schweizer Messer auf Steroiden, Sie können buchstäblich alles in C++ schreiben. Aber Entwickler von mobilen Frontends brauchen in unserem Kontext keine solche Allmacht. Sie brauchen eine einfache Sprache, die mit der Benutzeroberfläche interagiert.
Ein potenzieller Geschäftskunde könnte uns fragen: Was bringen all diese tollen Funktionen für mein Projekt? Ich bezahle für eine fertige Anwendung ohne Bezug zu Programmiersprachen, APIs und anderen möglichen Entwicklungsnuancen. Das stimmt, aber wir können den Kunden auch fragen: Wie viel sind Sie bereit, zu viel zu bezahlen, wenn wenig bis gar keine plattformübergreifenden Ansätze auf Ihr Produkt angewendet werden? Ein anständiges plattformübergreifendes Framework ist wichtig, wenn redundante Ausgaben ausserhalb Ihrer Budgetplanung liegen.
Nun können wir uns Flutter als solches näher ansehen, um zu sehen, wie dieses Framework die Probleme der plattformübergreifenden mobilen Entwicklung löst. Und ja, wir geben Ihnen relevante Tipps, wie Ihr Unternehmen von all diesen Dingen profitieren kann.
Flutter & Nativ aussehende Benutzeroberfläche
Die plattformübergreifenden Ziele von Frontend-Entwicklern sind einfach: die Schaffung von Benutzeroberflächen, die von der nativen UI nicht zu unterscheiden sind und gleichzeitig eine nativ schnelle Leistung bieten. Flutter erfüllt diese Ziele vollständig. In Erwartung möglicher Beschwerden, dass dieses Thema für geschäftliche Aspekte nicht relevant ist, können wir Ihnen eines sagen: eine nativ aussehende Benutzeroberfläche ist das, was Ihre zukünftigen Kunden in Ihre App eintauchen lässt. Dies steht in direktem Zusammenhang mit Ihren zukünftigen Gewinnen, sobald es dazu beiträgt, die Bindungsrate zu verbessern.
Die Schöpfer von Flutter haben genügend Ressourcen aufgewendet, damit die UI-Elemente im Framework selbst nativ aussehen. Alle Flutter-Widgets sind in die folgenden drei Kategorien eingeteilt: Cupertino-Widgets, Material Design-Widgets und alle anderen.
Widgets aus dem Cupertino-Bereich sehen absolut identisch aus wie die nativen iOS-Widgets. Wenn Sie zum Beispiel CupertinoDate Picker verwenden, können Sie auf Ihrem iPhone den gleichen reibungslosen Bildlauf spüren, als ob es sich um ein natives Element einer nativen Anwendung handelt, die Ihnen das gleiche Feedback von der Taptic/Haptic Engine gibt.
Flutter ermöglicht nicht nur die Verwendung von nativen Elementen für beide Plattformen, sondern auch die Erstellung eigener Elemente. So funktioniert das "Alles ist Widget"-Paradigma. Sie können in kürzester Zeit sehr komplizierte UI-Elemente erstellen. Da alles mit der gleichen Grafik-Engine arbeitet, die alles direkt für beide Plattformen rendert, können Sie sicher sein, dass alle UI-Elemente genau so angezeigt werden, wie Sie es erwarten.
Anpassung ist ein modernes Mantra für jedes Unternehmen, nicht wahr? Sie können Ihre zukünftigen Kunden mit massgeschneiderten Widgets beeindrucken, die aussehen und sich anfühlen wie die, die von den Jungs aus Cupertino entwickelt wurden. Wie klein Ihr Unternehmen auch sein mag, Sie können sich in Sachen Design auf Augenhöhe mit Apple befinden! Wir würden sagen, dass das schon etwas wert ist.
Aus der Perspektive des Renderings ist es Flutter egal, welche API für eine bestimmte Plattform verfügbar ist. Das heisst, Sie können UI-Elemente der neuesten Android-Version für ein 5 Jahre altes Smartphone erstellen. Natürlich stellt sich in einem solchen Fall das Leistungsproblem alter Hardware, aber das ist ein anderes Thema.
Millionen und Abermillionen von Nutzern auf der ganzen Welt besitzen immer noch Geräte, die älter sind als das neueste Samsung und iPhone. Und die sollte man nicht ausser Acht lassen. Flutter kann Ihrer App helfen, ein möglichst breites Publikum zu erreichen, ohne die Funktionalität der App zu gefährden. Ignorieren Sie nicht das Prinzip "jedes bisschen hilft" - hier geht es um Ihr Einkommen.
Denken Sie auch daran, dass der erste Eindruck zählt. Vor allem, wenn es um Apps geht. Beeindrucken Sie Ihre Kunden mit schönen Widgets und geben Sie ihnen ein gutes Gefühl mit einer nativen Benutzeroberfläche. Die Wertschätzung der Menschen wird Ihr Projekt am Ende des Tages zu Geld machen.
Flutter & Native Leistung
Skia Graphic Library ist die einzige Engine, die UI für beide Plattformen in Flutter rendern kann. Google hat Skia 2005 als Produkt gekauft, um es in ein Open-Source-Projekt umzuwandeln. Die Engine ist also ausgereift genug. Auch wenn es keine offiziellen Vergleichstests zur Leistung gibt, zeigen einige private Untersuchungen, dass Skia im Vergleich zu ähnlichen Bibliotheken (Cairo u.ä.) um 50% schneller ist.
Performance ist für jedes Softwareprodukt wichtig. Die Aussage, dass die Mehrheit der Benutzer Ihre App verlassen wird, wenn sie langsam arbeitet, ist keine Übertreibung, sondern die düstere Realität. Es schadet nie, zu wissen, mit welchen Mitteln Flatter Ihrer App eine herausragende Leistung verleihen kann.
Deshalb sprechen wir über Skia, das mit verschiedenen GPU-Backends interagieren kann: Metal für iOS, Vulkan und OpenGL für Android. Dadurch werden erhebliche Produktivitätsgewinne für Ihre App auf verschiedenen Hardware-Plattformen möglich.
Es gibt einige interessante Fakten, die implizit den richtigen Ansatz von Flutter zeigen, das bei der Suche nach nativer Leistung auf Skia setzt: Viele C#-Programmierer verwenden den SkiaSharp-Wrapper für Mono/.Net x. Ausserdem ist die Bibliothek sehr beliebt bei Entwicklern aus der Xamarin-Community, die Skia für die Erstellung von benutzerdefinierten UI-Elementen verwenden.
Eine weitere Funktion, die Flutter-Entwickler glücklich lächeln lässt, ist Hot Reload. Es ermöglicht sofortige Änderungen am Code, ohne den Prozess zu unterbrechen. Hier geht es schliesslich um die Entwicklungsgeschwindigkeit und Ihre Kostenersparnis: Die Möglichkeit, die Auswirkungen von Codeänderungen in Echtzeit zu sehen, macht eine überflüssige Neukompilierung überflüssig und beschleunigt den Prozess.
Was ist für Ihr Unternehmen drin? Flutter kümmert sich um die Leistung Ihrer App, und eine bessere Leistung bedeutet eine bessere Bindungsrate. Die Aufmerksamkeit Ihres Publikums zu halten, bringt immer Gewinn. Ein weiterer Aspekt ist die Zeit, die Sie für die Entwicklung Ihrer App aufwenden: Einfach ausgedrückt, je kürzer, desto billiger. Mit Flutter können Sie die Zeit bis zur Markteinführung verkürzen und so Ihre Konkurrenten hinter sich lassen.
Flutter & Dart
Es wäre zu vermessen, Dart als die beste Programmiersprache aller Zeiten zu bezeichnen. Kein strenges System von Typen, keine funktionalen "Kuchen" wie Pattern Matching, keine Unveränderlichkeit. Sie können mit Dart kein Betriebssystem erstellen. Es ist nicht für die Verarbeitung grosser Datenmengen optimiert. Die Verwendung von Dart ist sehr spezifisch. Es ist wie eine Angelrute: Niemand fängt Wale mit einer Angelrute, richtig?
Aber Dart ist stattdessen eine sehr leicht zu erlernende Sprache. Von der Syntax her ist es etwas zwischen Java und JS. Wie JS verzeiht auch Dart den Entwicklern eine Menge. Sowohl Dart als auch eine entsprechende VM wurden ursprünglich als Ersatz für Java entwickelt. Deshalb ist die Sprache von Flutter standardmässig frontend-zentriert.
Die Frage der Sprache steht in direktem Zusammenhang mit der Markteinführungszeit Ihres Projekts, so merkwürdig das auch klingen mag. Je einfacher die Sprache, desto einfacher ist es, geeignete Entwickler zu finden. Ein weiterer zeitbezogener Aspekt (und Zeit ist bekanntlich Geld) ist die zusätzliche Kompilierungsprozedur, die die Entwickler durchführen müssen, sofern die verwendete Sprache nichts anderes zulässt.
Code in Dart kann direkt in Maschinencode kompiliert werden. Deshalb ist seine Leistung vergleichbar mit der von Swift, Kotlin und Objective-C. Ein weiterer Vorteil von Dart ist die Leichtigkeit, mit der Softwareentwicklungsunternehmen geeignete Programmierer finden können. Entwickler, die mit Java und JS vertraut sind, können sich innerhalb weniger Tage in Dart einarbeiten. Ausserdem wächst die Flutter-Gemeinde weltweit immer weiter und der Trend scheint nicht abzureissen. Ausserdem ist die Community aufgrund ihres noch jungen Alters eine der freundlichsten Entwicklergemeinschaften auf dem Markt.
Wie kann es auf Ihr Unternehmen angewendet werden? Ein gewinnorientiertes Geschäft ist in der Regel weit entfernt von exotischen Ansätzen. Je einfacher die Suche nach Entwicklern ist, desto weniger Zwängen unterliegt Ihr Projekt. Sowohl Flutter als auch Dart sind für die plattformübergreifende Entwicklung nicht mehr exotisch. Sie sind einfach, praktikabel und vielversprechend: genau das, was Ihr Unternehmen braucht, um bei der App-Entwicklung erfolgreich zu sein.
Wie Flutter die Risiken für Ihr Unternehmen reduziert
Bestimmte Probleme und Unzulänglichkeiten einer Plattform (oder Technologie) führen zu Risiken, die zu finanziellen Verlusten für Ihr Unternehmen führen. Welche Aspekte meinen wir hier in Bezug auf die plattformübergreifende mobile Entwicklung? Die Stabilität und Leistung einer Plattform, verfügbare Arbeitsressourcen (Entwickler und Administratoren), weitere Upgrades & Entwicklungsperspektiven für Ihr Produkt, usw. In diesem Zusammenhang hilft Flutter, die Risiken durch Folgendes zu mindern:
- Es gibt keine Hürden bei der Entwicklung, da ein digitaler Gigant wie Google hinter Flutter steht. Sogar das kommende Betriebssystem Fuchsia funktioniert gut mit Flutter, ganz zu schweigen von Android;
- Die Verwendung von Flutter verursacht keine Probleme mit den zuständigen Mitarbeitern: immer mehr Android-Entwickler werden zu begeisterten Verfechtern des Frameworks;
- Beide, die kompromisslose Qualität und die einfache Integration, ermöglichen es, dass Flutter von vielen Unternehmensgiganten wie Alibaba, Google, eBay, BMW, Philips verwendet wird. Deren erfolgreiche Erfahrung mit Flutter kann Ihnen helfen, Ihre Zweifel beiseite zu schieben.
Diese und viele andere Aspekte machen Flutter zu einer anständigen Lösung für jedes Unternehmen, das neue Technologien übernehmen und das Tool in Ihr System integrieren möchte. Im Vergleich zu den verfügbaren plattformübergreifenden Alternativen birgt Flutter ein Minimum an möglichen Risiken für Ihr Unternehmen.
Warum es sich lohnt, Flutter auszuprobieren: Zusammenfassung
Die folgenden Eigenschaften von Flutter scheinen überzeugend genug zu sein, um nicht länger zu zögern, ob das Framework für die plattformübergreifende mobile Entwicklung einen Versuch wert ist:
- Die Benutzeroberfläche und die Anwendungslogik bleiben für jede mobile Plattform gleich
- Die grösstmögliche Auswahl an UI-Einstellungen schränkt Ihre Kreativität nicht ein;
- Schnellere Codierung beschleunigt die Markteinführung (perfekt für MVP);
- Die einzigartige Rendering-Engine sorgt für eine App-Leistung, die der einer nativen Anwendung nahe kommt;
- Die Vielfalt der nativen Widgets macht Ihr Produkt von nativen Apps ununterscheidbar;
- Sowohl das Design als auch die Leistung der UI-Komponenten hängen nicht von einer bestimmten Plattform ab;
- Die wachsende Gemeinschaft der Flutter-Entwickler bedeutet, dass Sie keine Probleme mit dem technischen Support für Ihr zukünftiges Produkt und mit der Beschäftigung von Entwicklern und Admins haben werden;
- Die Flutter-Sprache Dart ist so einfach zu erlernen, dass es weder zeitaufwendig noch teuer ist, Ihre internen Flutter-Entwickler zu fördern;
- Die meisten Geschäftsrisiken, die mit der plattformübergreifenden mobilen Entwicklung verbunden sind, werden mit Flutter im Vergleich zu den verfügbaren konkurrierenden Frameworks minimiert.
Kurz gesagt ist Flutter der schnellstmögliche Weg, um eine gut funktionierende, plattformübergreifende mobile Anwendung zu erstellen, die sich zudem wie eine native Anwendung anfühlt und aussieht.
Schlusswort
Natürlich ist es nur eine Frage der Zeit, bis Flutter die konventionelle und sogar vorherrschende Lösung für die plattformübergreifende UI-Entwicklung wird. Ein modernes Unternehmen hat keine Zeit, um sentimental zu werden - der Wettbewerb auf dem App-Markt ist nach wie vor heftig. Nur das Toolkit, das in der Lage ist, den Zeitgeist in der plattformübergreifenden App-Entwicklung zu treffen, verdient es, die Bedürfnisse des digitalen Unternehmertums von heute zu befriedigen.
Kontaktieren Sie unsere Flutter-Experten, um Ihr Geschäft mit dem vielversprechendsten plattformübergreifenden Framework auf dem modernen Markt anzukurbeln. Wir kümmern uns um Ihre Kosteneinsparungen: zwei Fliegen mit einer Klappe zu schlagen ist möglich.