Cross-Platform-Apps mit Flutter

Cross-Platform-Apps: App-Entwicklung mit Flutter

09.03.2022

Was sind Cross-Platform-Apps?

 

Wir alle kennen Apps für die Betriebssysteme iOS und Android. Es sind native Apps, die speziell für die jeweilige Plattform entwickelt und dann in dem dazugehörigen Store bereitgestellt werden. Es ist nicht möglich, eine iOS-App auf einem Android-Gerät zu nutzen oder umgekehrt. Dementsprechend müssen sie für jede Plattform mit verschiedenen Programmiersprachen und Tools programmiert werden. Wer Wert auf eine native App legt und eine möglichst breite Zielgruppe ansprechen möchte, muss seine Anwendung zwangsläufig für beide Plattformen gesondert erstellen lassen.

 

Cross-Platform-Apps sind in ihren Möglichkeiten etwas breiter aufgestellt. Wie der Name schon sagt, sind sie plattformübergreifend. Sie müssen also nicht mehrfach entwickelt werden, sondern werden einmal programmiert und laufen dann auf mehreren Plattformen, ohne dass Anpassungen nötig sind. Etwas, was sich sowohl auf die Dauer der Entwicklung positiv auswirkt, als auch auf die Kosten. Ein Beispiel für Cross-Platform-Apps ist die App-Entwicklung mit Flutter.

 

Das Flutter Framework

 

Die grundsätzliche Definition eines Frameworks wird durch die Übersetzung ins Deutsche schon etwas klarer. Framework bedeutet so viel wie "Rahmenbedingungen", kann im Bereich der Softwareentwicklung aber besser mit "Ordnungsrahmen" oder "Grundgerüst" übersetzt werden. Ein Framework ist also eine Art Programmiergerüst, das Entwickler:innen die Arbeit einfacher machen soll. Es legt die Basis einer Softwarearchitektur und bietet beispielsweise Bibliotheken mit verschiedenen Klassen und Funktionen, die via Copy & Paste in den eigenen Code eingebaut werden können. Gewisse Strukturen oder Komponenten einer Software müssen also nicht jedes Mal neu programmiert werden. Das spart Zeit.

 

Mit dem Flutter Framework können Apps "für jeden Bildschirm" erstellt werden. Das ist das, womit Flutter selbst auf seiner Website wirbt. Es ist ein Open-Source-Framework von Google, durch das plattformübergreifende Anwendungen aus einer einzigen Codebasis heraus programmiert werden können.

 

Dabei geht es sowohl um mobile Apps für iOS und Android als auch um Web-Apps und Desktop-Anwendungen für macOS, Linux - und mittlerweile auch für Windows. Das ist schon vor einiger Zeit angekündigt und mit Flutter 2.10 umgesetzt worden. Windows scheint mit dem Flutter-Update zufrieden zu sein. Kevin Gallo ist Leiter der Entwicklerplattform bei Microsoft und hat auf die Benachrichtigung so reagiert:

 

 

Man freue sich, dass Flutter jetzt auch die Erstellung von Windows-Apps unterstützt. Windows sei eine offene Plattform und man heiße alle Entwickler willkommen.

 

Mit dem Flutter 2.10-Update sollen außerdem mehr als 1800 Probleme behoben worden sein. Dazu kommen eine Verbesserung der Leistung, weitere Unterstützung für Icons und Farben im Framework und einige Verbesserungen von Tools.

 

We have several exciting things to announce as part of this release, including a big update on Flutter’s support for Windows, several significant performance improvements, new support for icons and colors in the framework, and some tooling improvements. In addition, we’ve got some updates on the removal of the dev channel, reduction in support for older versions of iOS, and a short list of breaking changes. Let’s get to it! (Quelle: medium.com)


Flutter-Apps werden in der Programmiersprache Dart geschrieben: "Eine client-optimierte Sprache, die für schnelle Anwendungen auf jeder Plattform optimiert ist."

 

Auf pub.dev gibt es jede Menge offizielle Pakete für Dart- und Flutter-Apps (Services & APIs). Hier werden auch Favoriten gespeichert und neue Funktionen bereitgestellt. Inklusive dem "package of the week" mit kurzen Erklärvideos und Informationen darüber, wie bestimmte Funktionen in eine Flutter-App implementiert werden können. Die Entwickler:innen können unter anderem Tools wie Android Studio, Visual Studio Code und Xcode nutzen.

 

Vorteile einer Flutter-App

 

Abgesehen davon, dass eine App nicht mehr für jede Plattform einzeln entwickelt werden muss, wenn man sie auf verschiedenen Plattformen bereitstellen möchte, bringt Flutter noch ein paar weitere Vorteile mit. Aus dem soeben genannten ergibt sich die Tatsache, dass die Entwicklungszeit kürzer ist. Und da Zeit ja bekanntermaßen Geld ist, sind Flutter-Apps in der Regel günstiger als native Apps.

 

Außerdem gelten sie im Allgemeinen als stabil und verlässlich, vor allem, weil Flutter-Anwendungen vom Internet-Riesen Google unterstützt werden. Was zusätzlich zur Verlässlichkeit von Flutter-Apps beiträgt, ist eine große und mittlerweile weltweite Community von Entwickler:innen, die das Framework pflegen und weiterentwickeln.

 

Weitere Vorteile sind die Schnelligkeit der Anwendungen und die Flexibilität der Designs. Viele UI-Elemente werden mitgeliefert, was das Erstellen der User Interfaces deutlich einfacher macht. Dazu kommt die Möglichkeit, Flutter-Apps mit Hot Reload zu entwickeln. Dadurch können Aktualisierungen und Änderungen am Code vorgenommen werden, während die App ausgeführt wird. Es kommt zu keinerlei Beeinträchtigungen und man kann die Änderungen unmittelbar sehen, weil sie umgehend implementiert werden.

 

Alternative Frameworks zu Flutter

 

Flutter ist nicht das einzige Software Development Kit (SDK), mit dem Cross-Platform-Apps erstellt werden können. Es gibt einige Alternativen, auf die wir an dieser Stelle kurz eingehen möchten. Drei Beispiele dafür sind React Native, Xamarin und Ionic.

React Native

 

react-native-logo

Das plattformübergreifende Framework, das Flutter am meisten ähnelt, ist React Native. Ebenfalls ein Open-Source-UI-Framework. Das Ganze basiert auf JavaScript: Es gibt eine Codebasis für Apple iOS und Google Android. Mit React Native können aber auch native Windows- und macOS-Apps erstellt werden. Auch wird es für Virtual-Reality-Anwendungen bei Oculus genutzt.

 

Es ist ebenfalls modular aufgebaut, bietet also verschiedene Komponenten, derer sich die Entwickler:innen bedienen können, ohne sie erst entwickeln zu müssen. Das bedeutet, dass es unter anderem eine JavaScript-Bibliothek mit Elementen gibt, mit denen Benutzeroberflächen erstellt werden können.

Xamarin

 

xamarin-logo

Hinter Xamarin steht das Unternehmen Microsoft. Mit dem Xamarin-Framework können ebenfalls plattformübergreifende Apps erstellt werden. In erster Linie geht es um mobile Apps für iOS, Android und Windows, die in diesem Fall mit .NET und C# umgesetzt werden können. Xamarin bietet aber auch SDKs für macOS, watchOS und tvOS. Auch hierbei handelt es sich um eine Open-Source-Platform.

 

Letztendlich entsteht eine native Anwendung, die sich gemäß der Erwartungen von User:innen verhalten soll. Das heißt, wie bei allen anderen Cross-Platform-Apps und Frameworks auch, dass wir keinen Unterschied zu echten nativen Apps erkennen sollen. Die gesamte Logik wird in einer einzigen Programmiersprache geschrieben und trotzdem sollen mithilfe von Xamarin qualitativ hochwertige native Apps gebaut werden können. Mehr Informationen zu Grundlagen und Funktionsweisen gibt's bei Microsoft.

Ionic

 

ionic-logo

Eine Codebasis. Jede Plattform. Das Ionic-Framework hat also das gleiche Ziel wie alle anderen Frameworks: Es soll Entwickler:innen die Möglichkeit geben, sich an Bibliotheken mit verschiedenen Komponenten und Plugins zu bedienen, um in der App letztendlich zum Beispiel auf Gerätefunktionen wie die Kamera oder Geolocations zugreifen zu können. Das Ganze unter anderem mithilfe verschiedener Tools und vorgefertigter UI-Komponenten in HTML5, CSS und JavaScript.

 

Mithilfe von Ionic sollen möglichst leistungsstarke mobile und progressive Web-Apps (PWAs) erstellt werden. Laut der Plattform selbst nutzen mehr als fünf Millionen Entwickler:innen in über 200 Ländern das Framework, um Cross-Platform-Apps zu erstellen.

 

Fazit

 

Es gibt mehrere Frameworks, mit denen Cross-Platform-Apps entwickelt werden können. Flutter ist mittlerweile eines der Beliebtesten. Es ist Open-Source und bietet sich an, um mit einer App Benutzer:innen mit den verschiedensten Geräten und Betriebssystemen zu erreichen. Mit der Zeit hat sich Flutter von einem Entwicklungskit für mobile Plattformen hin zu einem Kit gemausert, was deutlich mehr Plattformen unterstützt. Durch eine einzige Codebasis kann die Software mobil, im Web, für Desktop- oder Embedded-Geräte bereitgestellt werden.

 

Die Vorteile, die am meisten herausstechen, sind Zeit- und Kostenersparnis. Der größte Nachteil einer Cross-Platform-App - egal, mit welchem Framework sie entwickelt wurde - wird aber immer die Performance sein. Keine Cross-Plattform-App wird jemals an die Performance von echten nativen Apps heranreichen, die ganz speziell und mit der jeweiligen Programmiersprache für die jeweilige Plattform programmiert wurden. Eine iOS-App, die mit Swift geschrieben wurde oder eine Android-App, die mit Kotlin umgesetzt wurde, wird immer die Anwendung mit der besten Performance sein.

 

Ob sich eine Cross-Platform-App für Sie und Ihr Unternehmen eignet, finden wir gerne zusammen mit Ihnen heraus. Wofür wird die App genutzt? Was ist Ihre Zielgruppe? Welche Funktionen sind nötig? Wie hoch ist Ihr Budget, das sie in die App investieren möchten? Schauen Sie sich vorher gerne auf unserer Seite zum Thema App-Entwicklung um und entscheiden Sie, ob wir womöglich der richtige Partner für Ihr Projekt sind.

 

Eine Zusammenfassung darüber, welche Arten von Apps es gibt und was sie im Speziellen ausmacht, können Sie in unserem Blog-Artikel über die App-Arten im Vergleich nachlesen.

 

fkt42-information

Mehr Informationen?

 

Haben Sie noch Fragen? Planen Sie eine Cross-Platform-App für Ihr Unternehmen? Sprechen Sie uns gerne an! Wir beraten Sie ausführlich über die Möglichkeiten und können danach Ihre Anwendung mit dem Flutter Framework erstellen.

 

Schreiben Sie uns eine Mail, nutzen Sie unser Kontaktformular oder rufen uns einfach an, um einen Termin zu vereinbaren. Wir erstellen Ihnen gerne ein Angebot – selbstverständlich kostenlos und unverbindlich!