Flutter, Dart, and WASM-GC: A new model for Web applications by Kevin Moore @ Wasm I/O 2023

preview_player
Показать описание
Wasm I/O 2023 / 23-24 March, Barcelona

Support for garbage collection within WebAssembly (WASM-GC) will bring a host of new languages and frameworks to the web app space. Learn how the Dart and Flutter teams at Google are building on WASM-GC (among other upcoming standards) to bring richer, faster, more consistent applications to the web

Until now, WASM-compiled browser applications have been mostly limited to systems programming languages – allowing a number of traditionally desktop experiences to run on the web. (Think AutoCad, PhotoShop, Google Earth.) The implementation of WASM-GC across WASM runtimes will bring a set of new languages and frameworks to an ecosystem dominated by C/C++ and Rust. The open source Dart and Flutter projects at Google have spent over a year adding WebAssembly as a target platform with the hope of improving application load time and interactive performance for Flutter experiences on the web. This talk will cover how WASM-GC expands the WASM ecosystem, some details on how Flutter and Dart approached migrating our existing JS-compiled web support to WebAssembly, and our hopes for a ecosystem that embraces WASM-GC across the browser and server to enable a more portable, secure, and interoperable future of computer systems.
Рекомендации по теме
Комментарии
Автор

"This is in a browser. None of this is DOM. This is 100% Canvas."

_____case
Автор

Awesome talk! Super excited about this. Can't wait to start playing around with it and using it in production.

FilledStacks
Автор

Flutter web with fast initial load would be a huge improvement 😮 Great talk Kevin!!

wdestroier
Автор

00:00 Introduction to Dart and Flutter
00:41 Features of Dart
03:55 Dart as a General Purpose Language
04:59 Flutter as a UI Toolkit
06:10 Key Pillars of Flutter
07:22 Flutter's Portability and Open Source Nature
08:49 Example of a Native Desktop App in Flutter
10:16 Using JavaScript, HTML, and CSS for web development with Flutter
11:01 Switching to Skia and CanvasKit for better performance and fidelity
12:08 Creating desktop experiences with Flutter web and CanvasKit
12:55 Flutter web's performance and portability for production apps
14:37 Challenges of implementing garbage collection in WebAssembly
15:58 Steps involved in compiling Dart to WebAssembly
20:01 Improving Fidelity and Accuracy
21:00 Interoperability and Performance
22:11 Material 3 Demo
23:41 WasmGC with Flutter and Pixel Shaders
25:36 Next Steps and Future Plans

-www.chapters.video-
Автор

Finally, async/ await has taken over the industry. Well done, C#

obinnaokafor
Автор

Good job, Kevin. I am pretty optimistic in Flutter's future on web platform. Maybe mobile devs will have another jobs soon as FE web devs

cepuofficial
Автор

Amazing Talk Kevin... we hope the wasm gc work is completed soon and all the browsers adopt it to get Native Speed with Flutter Web.

philosophia
Автор

💙💙💙 Nice talk Kevin! Very excited about Dart!

luisround
Автор

This is very promising. I would love for the ability to call wasm code written in other languages too.

r.pizzamonkey
Автор

Awesome stuff. Also, not often you hear someone pronounce Ubuntu correctly. Nice, Kevin!

anotherjack
Автор

The average developer doesn't understand that this is a HUGE happening right now. WASM is a *very* important project going on right now. For a while it's been going strong but it really needed a big implementor to really pick up the trend. I hope that Flutter will be that implementor. If they get this to work, they should market the living h3ll out of it. Let the people know that new ground has been broken.

littlebearandchicken
Автор

Am I wrong in this assessment: Javascript led to more and more embedded native standards to support common "desktop" things in the browser. This includes the Canvas API, which is basically a wrapper around OS-native 2D and 3D graphics APIs. WebAssembly came along to allow something akin to a virtual machine running inside browsers, and now Dart and Flutter are using these layers to basically make the browser nothing more than a container for various layers of wrappers around native OS APIs, made standard by the pressures of "HTML5" to standardize these wrapper APIs.

But at the end of the day, none of this is "web" anymore. It's just a very complex virtual machine comprised of an HTML5-compliant browser supporting Canvas, WebAssembly, HTTP, and so on. In leiu of the open source world we always deserved, we've simply open-sourced the application API and now everything is being implemented natively by browser vendors to make that API cross-platform.

It's all very silly is my point.

jasonboyd
Автор

I hope this materializes soon. I dont wanna be dipping my toe into javascript.

ishaanmalhotra
Автор

Wouldn't this be a great opportunity to talk about Impeller to? The replacement for Skia.

mikopiko
Автор

Please give us Code Push in Flutter. I changed my projects from flutter to react native regardless of flutters superior developer experience and binary speed ONLY because RN codepush. Feature delivery and bug fixing is just so much simpler and better

pierce
Автор

something was wrong with the setter 1:19, it's rather setting the privatized name to the public name instead of the value parameter

marana.th
Автор

and i find some UI framework for rust like slint and dioxus, its still new, i tried the app demo on web its super smooth

psclip
Автор

sounds like a fast way to being painted into a corner without any way out

stevenstark-com
Автор

Will there be a negative effect on SEO?

RVDriest
Автор

19:39 "We eliminate the JavaScript interop layer. It's Wasm to Wasm." Been waiting for this for over a decade. JavaScript HAS to die.

ElVerdaderoAbejorro