Google stellt das Framework Flutter 2 und die Sprache Dart 2.12 vor

Google hat das UI-Framework Flutter 2 vorgestellt, das die Transformation des Projekts von einem Framework für die Entwicklung mobiler Anwendungen zu einem universellen Framework für die Erstellung aller Arten von Programmen, einschließlich Desktop-Anwendungen und Webanwendungen, markiert.

Flutter wird als Alternative zu React Native betrachtet und ermöglicht es, auf der Grundlage eines einzigen Code-Basis Anwendungen für verschiedene Plattformen zu erstellen, einschließlich iOS, Android, Windows, macOS und Linux, sowie Anwendungen, die in Webbrowsern ausgeführt werden. Früher mit Flutter 1 entwickelte mobile Anwendungen können nach der Umstellung auf Flutter 2 ohne Neukodierung angepasst werden, um auf Desktop und im Web zu funktionieren.

Der Großteil des Flutter-Codes ist in der Programmiersprache Dart implementiert, während die Laufzeit-Engine für die Ausführung von Anwendungen in C++ geschrieben ist. Neben der primären Sprache Dart kann beim Entwickeln von Anwendungen auch das Dart Foreign Function Interface verwendet werden, um Code in C/C++ aufzurufen. Die hohe Ausführungsleistung wird durch die Kompilierung der Anwendungen in Maschinencode für die Zielplattformen erreicht. Das Programm muss dabei nach jeder Änderung nicht neu kompiliert werden – Dart bietet einen Hot Reload-Modus, der es ermöglicht, Änderungen am laufenden Programm vorzunehmen und sofort zu sehen, wie sich das Ergebnis auswirkt.

In Flutter 2 wird die vollständige Unterstützung für die Erstellung von Webanwendungen angegeben, die sich für die Arbeitsimplementierung eignet. Es werden drei Hauptanwendungsszenarien für Flutter im Web erwähnt: Entwicklung von eigenständigen Web-Anwendungen (PWA, Progressive Web Apps), Erstellung von Ein-Seiten-Web-Anwendungen (SPA, Single Page Apps) und Umwandlung mobiler Anwendungen in Webanwendungen. Zu den Besonderheiten der Entwicklungswerkzeuge für Web gehört die Nutzung von Beschleunigungsmechanismen für die Darstellung von 2D- und 3D-Grafiken, flexible Anordnung von Elementen auf dem Bildschirm und ein in WebAssembly kompilierter Rendering-Engine namens CanvasKit.

Die Unterstützung für Desktop-Anwendungen befindet sich in der Beta-Phase und wird in diesem Jahr mit einer der nächsten Versionen stabilisiert. Unterstützung für die Entwicklung mit Flutter haben Unternehmen wie Canonical, Microsoft und Toyota erklärt. Canonical hat Flutter als Hauptframework für seine Anwendungen ausgewählt und verwendet Flutter unter anderem bei der Entwicklung eines neuen Installationsprogramms für Ubuntu. Microsoft hat Flutter für faltbare Geräte mit mehreren Bildschirmen wie das Surface Duo angepasst. Toyota plant, Flutter für automobile Infotainmentsysteme zu verwenden. Basierend auf Flutter wurde auch die Benutzeroberfläche des in Google entwickelten mikrokernbasierten Betriebssystems Fuchsia erstellt.

Google stellt das Framework Flutter 2 und die Sprache Dart 2.12 vor

Gleichzeitig wurde die Version 2.12 der Programmiersprache Dart veröffentlicht, in der die Entwicklung des grundlegend überarbeiteten Zweigs Dart 2 fortgesetzt wurde. Dart 2 unterscheidet sich von der ursprünglichen Version der Sprache Dart durch die Anwendung einer starken statischen Typisierung (Typen können automatisch abgeleitet werden, daher ist die Angabe von Typen nicht zwingend erforderlich, aber dynamische Typisierung wird nicht mehr verwendet und der ursprünglich abgeleitete Typ wird an die Variable gebunden und anschließend strengen Typprüfungen unterzogen).

Die Veröffentlichung ist bemerkenswert wegen der Stabilisierung des Modus für sichere Verwendung des Wertes „Null” (null safety), der Abstürze verhindern soll, die durch Versuche entstehen, Variablen zu verwenden, deren Wert nicht definiert ist und auf „Null” gesetzt ist. Der Modus impliziert, dass Variablen keine undefinierten Werte haben dürfen, sofern ihnen nicht ausdrücklich der Wert null zugewiesen wird. Im Modus werden die Typen der Variablen strikt berücksichtigt, was dem Compiler ermöglicht, zusätzliche Optimierungen anzuwenden. Die Übereinstimmung der Typen wird während der Kompilierung überprüft; beispielsweise tritt ein Fehler auf, wenn versucht wird, den Wert „Null” einer Variable mit einem Typ zuzuweisen, der keinen undefinierten Zustand zulässt, wie „int”.

Eine weitere wichtige Verbesserung in Dart 2.12 ist die stabile Implementierung der FFI-Bibliothek, die die Erstellung von hochperformantem Code ermöglicht, mit dem API in C angesprochen werden kann. Es wurden Leistungs- und Größenoptimierungen vorgenommen. Tools für Entwickler und ein Profilierungssystem für mit Flutter geschriebenen Code wurden hinzugefügt, sowie neue Plugins für die Entwicklung von Anwendungen in Dart und Flutter für Android Studio/IntelliJ und VS Code.

Google stellt das Framework Flutter 2 und die Sprache Dart 2.12 vor


Quelle: opennet.ru
60GB SSD 8Gb DDR4