Flutter, Dart, and WASM: Shipping a new model for Web applications by Kevin Moore @ Wasm I/O 2024

Sdílet
Vložit
  • čas přidán 11. 04. 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.
  • Věda a technologie

Komentáře • 58

  • @guiaflutterflow
    @guiaflutterflow Před měsícem +16

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

  • @philosophia5577
    @philosophia5577 Před měsícem +6

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

  • @isaactfa
    @isaactfa Před měsícem +11

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

    • @kevmoo
      @kevmoo Před měsícem +3

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

    • @lukewallace3877
      @lukewallace3877 Před měsícem

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

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 Před měsícem +3

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

  • @morawobolu1597
    @morawobolu1597 Před měsícem +7

    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 Před měsícem

      Because microsoft is anti consumer

    • @_____case
      @_____case Před měsícem +5

      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 Před měsícem +3

      @@_____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 Před 28 dny

      The hate is real.

    • @randypenajimenez3893
      @randypenajimenez3893 Před 28 dny

      ​@@_____casePoorly?

  • @mehmetedex
    @mehmetedex Před měsícem

    this is a treat

  • @venkatareddy6122
    @venkatareddy6122 Před měsícem

    Great talk .

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 Před měsícem +3

    WE wanted performance over WEB and over power react js

  • @msSinceEpoch-se2ty
    @msSinceEpoch-se2ty Před měsícem

    Awesome

  • @oleh6836
    @oleh6836 Před měsícem

    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 Před měsícem +5

      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.

  • @krtirtho
    @krtirtho Před měsícem

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

    • @kevmoo
      @kevmoo Před měsícem

      🫵🫵🫵😂

  • @JT-mr3db
    @JT-mr3db Před měsícem +4

    Wonder how accessibility works if everything is just canvas rendered.

    • @JT-mr3db
      @JT-mr3db Před měsícem +3

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

    • @aliqanbari2017
      @aliqanbari2017 Před měsícem +3

      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 Před měsícem

      Everything will be translated I guess.

    • @Lis001-
      @Lis001- Před 29 dny

      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.

  • @ajitsinghyadav1725
    @ajitsinghyadav1725 Před měsícem

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

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925 Před měsícem +1

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

    • @kevmoo
      @kevmoo Před měsícem +4

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

    • @chaitanyadamarasingu979
      @chaitanyadamarasingu979 Před měsícem +1

      @@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 Před měsícem

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

    • @zzzyyyxxx
      @zzzyyyxxx Před měsícem

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

    • @kevmoo
      @kevmoo Před měsícem

      @@zzzyyyxxx that's the plan!

  • @amorenew
    @amorenew Před měsícem

    Do it will support SEO?

    • @_____case
      @_____case Před měsícem +3

      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 Před měsícem +2

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

    • @zzzyyyxxx
      @zzzyyyxxx Před měsícem +1

      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

  • @rolf8064
    @rolf8064 Před měsícem +3

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

    • @zzzyyyxxx
      @zzzyyyxxx Před měsícem

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

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925 Před měsícem

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

    • @_____case
      @_____case Před měsícem +1

      Wouldn't the CanvasKit implementations consume fewer resources? 🤔

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 Před měsícem

    there is no WEB APP for Superlist i guess

    • @kevmoo
      @kevmoo Před měsícem +2

      There absolutely is!

  • @yakkalabour
    @yakkalabour Před 3 dny

    Flutter to go to the moon

  • @AMar4enko
    @AMar4enko Před měsícem +1

    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.

  • @leonardorignanese5902
    @leonardorignanese5902 Před měsícem +1

    is SEO gonna be totally ignored now?

    • @hamm8934
      @hamm8934 Před měsícem

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

    • @ajitsinghyadav1725
      @ajitsinghyadav1725 Před měsícem

      People want one solution so that one app is created in Flutter and can be used as a Website SEO, mobile app etc..

  • @Alex-bc3xe
    @Alex-bc3xe Před měsícem

    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 Před 27 dny +5

      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 Před 21 dnem

      want SEO for your website written in Flutter ?? forget about it. only you mother can find your site written in flutter hope this helps