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

  • @guiaflutterflow
    @guiaflutterflowАй бұрын

    The dream is getting closer and closer to being realized. #flutter #web

  • @tomjones8293

    @tomjones8293

    14 күн бұрын

    wet dream you mean ? or SEO dream ?

  • @isaactfa
    @isaactfaАй бұрын

    Great speaker. Did not expect a Pitch Meeting reference. Tight.

  • @kevmoo

    @kevmoo

    Ай бұрын

    Yes! 6 hours after posting. You have made my day. 🙏🤣

  • @lukewallace3877

    @lukewallace3877

    27 күн бұрын

    Subtle references to internet culture in a technical presentation are TIGHT!

  • @philosophia5577
    @philosophia5577Ай бұрын

    Great Talk Kevin! Flutter is the best Wasm UI Framework!!

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979Ай бұрын

    Waiting for this since an Year. He is evloved now like a Pokemon

  • @morawobolu1597
    @morawobolu1597Ай бұрын

    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

    @hamm8934

    Ай бұрын

    Because microsoft is anti consumer

  • @_____case

    @_____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

    @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

    @randypenajimenez3893

    21 күн бұрын

    The hate is real.

  • @randypenajimenez3893

    @randypenajimenez3893

    21 күн бұрын

    ​@@_____casePoorly?

  • @venkatareddy6122
    @venkatareddy6122Ай бұрын

    Great talk .

  • @mehmetedex
    @mehmetedexАй бұрын

    this is a treat

  • @oleh6836
    @oleh6836Ай бұрын

    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

    @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.

  • @msSinceEpoch-se2ty
    @msSinceEpoch-se2tyАй бұрын

    Awesome

  • @JT-mr3db
    @JT-mr3dbАй бұрын

    Wonder how accessibility works if everything is just canvas rendered.

  • @JT-mr3db

    @JT-mr3db

    Ай бұрын

    Oh they use a DOM twin. Man.. The amount of engineering that has gone in to this is wild.

  • @aliqanbari2017

    @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

    @saiphaneeshk.h.5482

    Ай бұрын

    Everything will be translated I guess.

  • @Lis001-

    @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.

  • @krtirtho
    @krtirthoАй бұрын

    "Super easy, barely an incovenience" ~ Ryan Goerge I see what u did there. Btw, the speech was tight.

  • @kevmoo

    @kevmoo

    Ай бұрын

    🫵🫵🫵😂

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979Ай бұрын

    WE wanted performance over WEB and over power react js

  • @amorenew
    @amorenewАй бұрын

    Do it will support SEO?

  • @_____case

    @_____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

    @jhonyhndoea

    Ай бұрын

    dont think so. think of it like an app and not like a website

  • @zzzyyyxxx

    @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

  • @ajitsinghyadav1725
    @ajitsinghyadav172527 күн бұрын

    Google is that hard to have SEO friendly web/website app in Flutter 😢

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925Ай бұрын

    Wanted a real-time comparison of the renderers rather than just slides team... Flutter

  • @kevmoo

    @kevmoo

    Ай бұрын

    Real time is tricky running both samples at the same time. We'll have a better demo...in my next talk!

  • @chaitanyadamarasingu979

    @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

    @chaitanyadamarasingu979

    Ай бұрын

    @@kevmoo Actual we can run two different renderers within VS CODE two instance of chrome Big Fan pf your work and FLUTTER💌

  • @zzzyyyxxx

    @zzzyyyxxx

    Ай бұрын

    ​@@kevmoowhere/when is your next talk, Google IO?

  • @kevmoo

    @kevmoo

    Ай бұрын

    @@zzzyyyxxx that's the plan!

  • @rolf8064
    @rolf8064Ай бұрын

    Oh yeah, that's going to be great for ads, unblockable as hell and event more intruse.

  • @zzzyyyxxx

    @zzzyyyxxx

    Ай бұрын

    Ads in web apps? This is for web apps not websites, no one expects to use WASM for apps.

  • @leonardorignanese5902
    @leonardorignanese5902Ай бұрын

    is SEO gonna be totally ignored now?

  • @hamm8934

    @hamm8934

    Ай бұрын

    Why would you need seo for a web app? Web app =/= website

  • @ajitsinghyadav1725

    @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..

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925Ай бұрын

    If not html renderer forget about mid-range mobile devices from opening flutter web app

  • @_____case

    @_____case

    Ай бұрын

    Wouldn't the CanvasKit implementations consume fewer resources? 🤔

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979Ай бұрын

    there is no WEB APP for Superlist i guess

  • @kevmoo

    @kevmoo

    Ай бұрын

    There absolutely is!

  • @AMar4enko
    @AMar4enko28 күн бұрын

    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.

  • @Alex-bc3xe
    @Alex-bc3xe25 күн бұрын

    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

    @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

    @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

Келесі