Lesedauer 2 Minuten

Flutter’s Desktop-Plattform wird zwar stetig verbessert, jedoch bietet auch Flutter’s WASM-Support mit NeutralinoJS eine schlanke Alternative Dieses Opensource-Projekt zeigt wie es funktioniert.

WASM + Neutralino = Flutter Desktop App

NeutralinoJS + WASM = Flutter Desktop Lösung

NeutralinoJS ist ein schlankes App-Framework das HTML-Inhalte in einer nativen Webview anzeigt, ähnlich wie Tauri oder Electron. Da Flutter WASM Code zu HTML gerendert wird, kann dieser ebenfalls sehr einfach in NeutralinoJS integriert werden.  Das Endprodukt ist eine App mit folgenden Features:

  • Der Flutter WASM Code wird komplett in der NeutralinoJS Webview ausgeführt.
  • Dank Flutter’s JavaScript InterOP kann aus der WASM Sandbox heraus uneingeschränkt auf alle System-Resourcen zugegriffen werden.
  • Es können alle Neutralino Extensions, wie Python, GoLang, Bun etc. mit Flutter verwendet werden.
  • Über die Neutralino CURL Extension kann die Blazor WASM z.B. HTTPS-Verbindungen mit selbst-signierten Zertifikaten nutzen.
  • Kompaktes Deployment: Neutralino produziert nur 2 Dateien: 1 executable File und 1 File mit allen Resourcen.

Flutter WASM als Desktop-Lösung

Neutralino API: Trotz Flutter WASM Sandbox alle System-Resourcen nutzen

Nur 2 Zeilen, die zur Flutter index.html hinzugefügt werden, machen die C++ Neutralino-API für JavaScript zugänglich. Von Flutter aus können dann JavaScript-Funktionen mithilfe von Flutter’s JS InterOP aufgerufen werden.

Die NeutralinoJS API ist  somit das Bindeglied zwischen der abgesicherten WASM Sandbox, dem Neutralino C++ Subsystem und  den Resourcen des Betriebsystems.

Dieser Code ruft z.B. aus Flutter heraus über die API einen nativen OS-Dialog auf:

Mit dieser Technik ist es möglich, aus einem Flutter-Projekt sehr schnell eine schlanke Desktop App zu generieren-

Demo & Sourcecode zu Neutralino & Flutter WASM (GitHub)

 

 

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!