Flutter kann als Framework zur Entwicklung von Apps für verschiedene Plattformen bezeichnet werden. Es wurde grundsätzlich von Google entwickelt im Jahr 2018 erstmals als Open-Source-Projekt veröffentlicht. Bei Flutter gibt es eine große Anzahl an Bibliotheken für sogenannte Standard-UI-Elemente, die bei Android oder iOS benötigt werden. Das Framework wird allerdings auch zur Entwicklung von klassischen Desktop-Webanwendungen eingesetzt.
Sehr vorteilhaft ist, dass Apps die mit Flutter entwickelt werden, genau wie typische Apps der jeweiligen Systeme aussehen. Darüber hinaus verhalten sie sich auch so, Programmierer müssen dabei nicht auf die Besonderheiten dieser Systeme achten.
Wie ist Flutter aufgebaut?
Flutter wird also in erster Linie für die Entwicklung von Apps für iOS und Android-Systeme verwendet. Das Flutter-SDK verwendet dabei die Programmiersprache “Dart“, die ebenfalls von Google entwickelt wurde. Dabei handelt es sich um den modernen Nachfolger von JavaScript, wie die beliebte Web-Skriptsprache soll auch sie, direkt als Web-App im Browser laufen. Dart-Programme lassen sich dabei auf einem Server direkt ausführen, für die Browserumsetzung wird der Transcompiler “Dart2js in JavaScript” verwendet.
Des Weiteren werden Apps für die neue “Fuchsia-Plattform” von Google direkt mit Dart entwickelt. Der Aufbau ähnelt den bekannten Programmiersprachen Java oder C#.
Eigenschaften
- Flutter konzentriert sich auf die objektorientierte Programmierung und setzt diese konsequent bis in die Benutzeroberfläche um.
- Die Oberfläche eines bestimmten Programms besteht aus diversen Widgets, diese können wiederum ineinander geschachtelt sein.
- Dabei ist jeder angezeigte Text und Button ein Widget, diese haben wiederum unterschiedliche Eigenschaften die verändert werden können.
- Diese können sich gegenseitig beeinflussen, hinzu kommt dass es ihnen möglich ist auf Statusänderungen von außen, mit eingebauten Funktionen reagieren zu können.
- Darüber hinaus können diese beliebig um zusätzliche Funktionen erweitert werden bzw. erstellt man einfach eigene Widgets, die mit den bereits vorhandenen kombiniert werden können.
Der große Vorteil dabei ist, dass diese Widgets wesentlich mehr Flexibilität im Vergleich zu anderen zu anderen Konzepten bieten.
Anderseits ist es ein Nachteil, dass diese im Quellcode des Programms liegen, dieser wird dadurch stark verschachtelt und kann schnell etwas unübersichtlich werden.
Was sind die Vorteile von Flutter?
- Es gibt nur eine gemeinsame Codebasis für alle Zielplattformen
- Umsteiger können die Programmiersprache “Dart” leicht erlernen
- Das neuartige Konzept (mit Widgets) bietet sehr vielfältige Möglichkeiten
- Es ist eine performante Ausführung der nativen Apps auf Smartphones möglich
- Es sind bereits umfangreiche Bibliotheken mit vorgefertigten UI-Elementen vorhanden
- Die Implementierung von Datenströmen gestaltet sich sehr einfach, wodurch Nutzern stets aktuelle Informationen geliefert werden
- Mit dem “Hot Reload” kann das Testen während der Entwicklung beschleunigt werden
Hello-Word Beispiel Flutter
Es kann nun sehr einfach programmiert werden wie du anhand dieses Beispiels sehen kannst:
1 // Allgemeine Informationen 2 // Allgemeine Informationen 3 // Allgemeine Informationen 4 import 'package:Flutter/material.dart'; 5 void main() => runApp(MyApp()); 6 class MyApp extends StatelessWidget { 7 @override 8 Widget build(BuildContext context) { 9 return MaterialApp( 10 title: 'Welcome to Flutter', 11 home: Scaffold( 12 appBar: AppBar( 13 title: Text('Welcome to Flutter'), 14 ), 15 body: Center( 16 child: Text('Hello World'), 17 ), 18 ), 19 ); 20 } 21 }
Oben wird im Programm der Titelbalken mit “Welcome to Flutter” aus dem Element AppBar() des Widgets angezeigt. Auf der freien Bildschirmfläche darunter, welche in Flutter die Bezeichnung “body” hat, wird in diesem Beispiel der zentrierte Text “Hello World” erscheinen.
Fazit
Mit Flutter lässt sich für Programmierer und Entwickler vieles leichter umsetzen. Die intuitive Benutzeroberfläche in Flutter kombiniert mit der einfachen Programmiersprache “Dart” sind ein großer Vorteil!