Flutter, Dart, and WASM: Shipping a new model for Web applications by Kevin Moore @ Wasm I/O 2024
Ғылым және технология
Wasm I/O 2024 / 14-15 March, Barcelona
Slides: goo.gle/flutter-wasm-io-2024
Now that garbage collection is a standard feature in the WebAssembly runtimes in Chromium-based browsers and Firefox, there is an opportunity for a wide variety of existing GC-languages to target Wasm. Learn how the Dart and Flutter teams and Google worked to add support for this new language to our existing web support, while maintaining compatibility with existing JavaScript. Supporting compilation to both Wasm and Javascript was a challenge. We will cover how JS-interop and browser APIs evolved along with our support for multi-threaded rendering. We’re also excited to showcase our performance compared to JavaScript in the browser and even native code.
Пікірлер: 57
The dream is getting closer and closer to being realized. #flutter #web
@tomjones8293
14 күн бұрын
wet dream you mean ? or SEO dream ?
Great speaker. Did not expect a Pitch Meeting reference. Tight.
@kevmoo
Ай бұрын
Yes! 6 hours after posting. You have made my day. 🙏🤣
@lukewallace3877
27 күн бұрын
Subtle references to internet culture in a technical presentation are TIGHT!
Great Talk Kevin! Flutter is the best Wasm UI Framework!!
Waiting for this since an Year. He is evloved now like a Pokemon
Is it just me or is it that anytime the dotnet team speaks about WASM, people are generally angry. But when another framework discusses it, it's accepted as a revolutionary tech.
@hamm8934
Ай бұрын
Because microsoft is anti consumer
@_____case
Ай бұрын
I think it's because Blazor WASM ships the entire .NET runtime to the user's browser, which is why it performs so poorly. The Flutter team considered porting the entire Flutter Engine to WASM, but decided against it because they concluded that it wouldn't be performant. One team made better long-term technical decisions than the other.
@samgarg5228
Ай бұрын
@@_____case They are still technically shipping the Flutter Engine (Skia) + Framework with the bundle even in wasm, as you can see in the slides 15:00. The main difference is in the Dart's GC. Flutter does not ship the entire Dart GC runtime. They waited for the WASM's GC feature to stabilise and then used the WASM GC instead of shipping the entire Dart GC runtime with the app, Which saves a lot of overhead and bundle size. Blazer ships the .NET GC with the app, and it also uses the DOM instead of drawing pixels to the canvas like flutter, That's why it's very slow and heavy.
@randypenajimenez3893
21 күн бұрын
The hate is real.
@randypenajimenez3893
21 күн бұрын
@@_____casePoorly?
Great talk .
this is a treat
Question to speaker. Can we expect dart isolates in web after migration to Wasm? I can compile multithreading C++ code to Wasm, why I can't compile multithreading dart code?
@mraleph
Ай бұрын
Currently Wasm is limited to sharing linear memory between workers - there is no way to share Wasm GC structs. We could add some support for isolates but all communication would require copying. There is a proposal under discussion to add shared memory to Wasm GC - but it would take some time before that's ready and available in browsers.
Awesome
Wonder how accessibility works if everything is just canvas rendered.
@JT-mr3db
Ай бұрын
Oh they use a DOM twin. Man.. The amount of engineering that has gone in to this is wild.
@aliqanbari2017
Ай бұрын
Currently yes but in the future their working with the Chrome team on a proposal for adding new accessibility APIs for non html apps
@saiphaneeshk.h.5482
Ай бұрын
Everything will be translated I guess.
@Lis001-
21 күн бұрын
I do see that the team does solve some accessibility bugs. Especially there are a few contributors that tend to author most of them and I am grateful for their work. At the same time, there are wcag breaking bugs that has been open for years. So there is still further work to do on accessibility in Flutter.
"Super easy, barely an incovenience" ~ Ryan Goerge I see what u did there. Btw, the speech was tight.
@kevmoo
Ай бұрын
🫵🫵🫵😂
WE wanted performance over WEB and over power react js
Do it will support SEO?
@_____case
Ай бұрын
Prediction: In the not-too-distant future, SEO will also involve AI that consume the rendered pixels, rather than parsing the HTML alone.
@jhonyhndoea
Ай бұрын
dont think so. think of it like an app and not like a website
@zzzyyyxxx
Ай бұрын
There's a proposal to add an accessibility tree to non HTML apps, basically like a cloned HTML tree of the canvas app, which would then be indexed for search engines
Google is that hard to have SEO friendly web/website app in Flutter 😢
Wanted a real-time comparison of the renderers rather than just slides team... Flutter
@kevmoo
Ай бұрын
Real time is tricky running both samples at the same time. We'll have a better demo...in my next talk!
@chaitanyadamarasingu979
Ай бұрын
@@kevmoo OMG i got a response. 🥰🥰🥰🥰🥰 probaly using two laptops of same config running same project with different renderers Thanks Man🤗🤗🤗🤗 I'm a flutter Developer from India
@chaitanyadamarasingu979
Ай бұрын
@@kevmoo Actual we can run two different renderers within VS CODE two instance of chrome Big Fan pf your work and FLUTTER💌
@zzzyyyxxx
Ай бұрын
@@kevmoowhere/when is your next talk, Google IO?
@kevmoo
Ай бұрын
@@zzzyyyxxx that's the plan!
Oh yeah, that's going to be great for ads, unblockable as hell and event more intruse.
@zzzyyyxxx
Ай бұрын
Ads in web apps? This is for web apps not websites, no one expects to use WASM for apps.
is SEO gonna be totally ignored now?
@hamm8934
Ай бұрын
Why would you need seo for a web app? Web app =/= website
@ajitsinghyadav1725
27 күн бұрын
People want one solution so that one app is created in Flutter and can be used as a Website SEO, mobile app etc..
If not html renderer forget about mid-range mobile devices from opening flutter web app
@_____case
Ай бұрын
Wouldn't the CanvasKit implementations consume fewer resources? 🤔
there is no WEB APP for Superlist i guess
@kevmoo
Ай бұрын
There absolutely is!
Every single time I hear Flutter pitch speech stuffed with benchmarks putting Flutter in a spotlight, I swear, every single time I immediately follow one of the example app links and end up with a janky app with terrible UX. Oh, let me try this text input field - keyboard appears and app yeets you to another dimension and text input is nowhere to be seen. I'm talking about Material 3 app mentioned on the slides. I love Dart lang, I'd really love using it for web development, but this whole "Flutter for web" narrative is just one big lie.
I am sorry but Flutter makes no sense in the web why use something else when JavaScript is the web standard Flutter is great for mobile that s it
@jhonacode
19 күн бұрын
Why use React for mobile if native is standard?. Why use Kotlin if C++ is more fast?. Why use C++ if assembly is more fast. Why use assembly if binary is the natural machine language?.
@tomjones8293
14 күн бұрын
want SEO for your website written in Flutter ?? forget about it. only you mother can find your site written in flutter hope this helps