Cross-Plattform-Framework Flutter 3.13 beschleunigt mit neuer Rendering-Engine

Das Framework arbeitet weiter an Material Design 3 sowie an der neuen Rendering-Engine Impeller und erlaubt 2D-Scrolling. Dart hat Version 3.1 erreicht.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: Ko Thongtawat / Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Maika Möbus
Inhaltsverzeichnis

Google hat sein quelloffenes Cross-Plattform-Framework Flutter in Version 3.13 veröffentlicht, in das 724 Pull Requests eingeflossen sind. Auch die neue Minor Version 3.1 der Programmiersprache Dart ist mit geringen Änderungen in dem Release enthalten. Flutter 3.13 setzt die Arbeit an der Einführung des Material Design 3 fort und wird das Designsystem im nächsten stabilen Release zum Standard erheben – das betrifft die Farben, Textstile und andere visuelle Elemente in Anwendungen. Daneben erhöht Flutter die Rendering-Performance und ermöglicht zweidimensionales Scrollen.

Impeller ist Flutters neue Grafik-Rendering-Engine als Nachfolger von Skia. In iOS seit dem letzten Release standardmäßig aktiviert, liegt Impeller für macOS nun als Preview vor und hat für Android bisher noch nicht den Preview-Status erreicht, lässt sich dort aber optional aktivieren.

In Flutter 3.13 hat das Entwicklungsteam weitere Performance-Updates unter iOS eingeführt. Der Renderer soll nun sowohl mit einer geringeren Latenz punkten als auch bei manchen Benchmarks einen höheren durchschnittlichen Durchsatz aufweisen. Insbesondere soll der Benchmark "Flutter Gallery Transitions Performance" nun eine durchschnittliche Frame-Rasterisierungszeit von rund der Hälfte derer von Skia aufweisen.

Das zeigt das Flutter-Team anhand des Benchmarks auf einem iPhone 11:

Die neue Grafik-Rendering-Engine Impeller zeigt für den Benchmark "Flutter Gallery Transitions Performance" eine verbesserte durchschnittliche Frame-Rasterisierungszeit auf einem iPhone 11 im ungefähren Zeitraum zwischen den Flutter-Versionen 3.10 und 3.13.

(Bild: Google)

Zu den Zielen der neuen Rendering-Engine zählt, eine vorhersagbare Performance zu liefern, indem sie beispielsweise alle Shader und Reflexionen offline zur Build-Zeit kompiliert. Impeller ist zudem portabel, da Flutter es nicht an eine spezifische Client-Rendering-API bindet, und nutzt Features aus modernen APIs wie Metal und Vulkan, ohne jedoch von diesen abzuhängen.

Flutter bietet nun die Basis zum Erstellen von Widgets, die sich in zwei Dimensionen scrollen lassen. Damit gehen einige neue Klassen wie TwoDimensionalChildDelegate und die abstrakte Basisklasse TwoDimensionalScrollView einher. Es eröffnet sich dadurch auch die Möglichkeit, diagonal zu scrollen.

Das Flutter-Team zeigt ein Beispiel für ein zweidimensionales Raster unter Verwendung von Lazy Loading in rund 200 Zeilen Code, das im Online-Dart-Editor DartPad implementiert ist. Darin lässt sich horizontal, vertikal und diagonal scrollen.

Die Android-API-Levels 16, 17 und 18 fallen in Flutter 3.13 aus dem Support. Das aktuelle API-Level 34 für das anstehende Android 14 lässt sich in Flutter bereits verwenden. In Vorbereitung auf iOS 17 und Xcode 15 sollten Entwicklerinnen und Entwickler Flutter 3.13 verwenden. Beim Download von Xcode 15 ist laut dem Flutter-Team darauf zu achten, auch den iOS-17-Simulator herunterzuladen.

Alle weiteren Details zur neuen Flutter-Version hält ein ausführlicher Blogeintrag bereit.

Wie das Dart-Entwicklungsteam ausführt, bringt das erste stabile Release seit der Hauptversion 3.0 im Mai 2023 nur kleinere Neuerungen und wenige API-Änderungen. Diese betreffen die in Version 3.0 eingeführten Class Modifier. Hauptsächlich liege der Fokus in Dart 3.1 darauf, neue Roadmap-Items innerhalb der kommenden Releases in den Beta- oder stabilen Status zu überführen. Daher bezieht sich der Blogeintrag zur Ankündigung nicht etwa auf neue Dart-Features, sondern geht auf Programmierung im funktionalen Stil in Dart ein. Wer sich über die Änderungen in Dart 3.1 informieren möchte, kann den Changelog begutachten.

(mai)