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

Поделиться
HTML-код
  • Опубликовано: 11 апр 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.
  • НаукаНаука

Комментарии • 60

  • @guiaflutterflow
    @guiaflutterflow Месяц назад +18

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

    • @tomjones8293
      @tomjones8293 Месяц назад

      wet dream you mean ? or SEO dream ?

    • @anime-music-news
      @anime-music-news 7 дней назад

      ​@@tomjones8293 why keep asking for SEO where that is not really the focus of the product. smh

  • @philosophia5577
    @philosophia5577 2 месяца назад +7

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

  • @isaactfa
    @isaactfa 2 месяца назад +11

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

    • @kevmoo
      @kevmoo 2 месяца назад +3

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

    • @lukewallace3877
      @lukewallace3877 Месяц назад

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

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 2 месяца назад +5

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

  • @venkatareddy6122
    @venkatareddy6122 2 месяца назад

    Great talk .

  • @mehmetedex
    @mehmetedex 2 месяца назад

    this is a treat

  • @morawobolu1597
    @morawobolu1597 2 месяца назад +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 2 месяца назад

      Because microsoft is anti consumer

    • @_____case
      @_____case 2 месяца назад +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 Месяц назад +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 Месяц назад

      The hate is real.

    • @randypenajimenez3893
      @randypenajimenez3893 Месяц назад

      ​@@_____casePoorly?

  • @msSinceEpoch-se2ty
    @msSinceEpoch-se2ty Месяц назад

    Awesome

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 2 месяца назад +3

    WE wanted performance over WEB and over power react js

  • @JT-mr3db
    @JT-mr3db 2 месяца назад +4

    Wonder how accessibility works if everything is just canvas rendered.

    • @JT-mr3db
      @JT-mr3db 2 месяца назад +3

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

    • @aliqanbari2017
      @aliqanbari2017 2 месяца назад +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 2 месяца назад

      Everything will be translated I guess.

    • @Lis001-
      @Lis001- Месяц назад

      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 Месяц назад

      🫵🫵🫵😂

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925 2 месяца назад +2

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

    • @kevmoo
      @kevmoo 2 месяца назад +4

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

    • @chaitanyadamarasingu979
      @chaitanyadamarasingu979 2 месяца назад +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 2 месяца назад

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

  • @oleh6836
    @oleh6836 2 месяца назад

    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 2 месяца назад +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.

  • @amorenew
    @amorenew 2 месяца назад

    Do it will support SEO?

    • @_____case
      @_____case 2 месяца назад +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 2 месяца назад +2

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

    • @zzzyyyxxx
      @zzzyyyxxx Месяц назад +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

  • @ajitsinghyadav1725
    @ajitsinghyadav1725 Месяц назад

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

  • @rolf8064
    @rolf8064 2 месяца назад +3

    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.

  • @chaitanyadamarsingu9925
    @chaitanyadamarsingu9925 2 месяца назад

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

    • @_____case
      @_____case 2 месяца назад +2

      Wouldn't the CanvasKit implementations consume fewer resources? 🤔

    • @anime-music-news
      @anime-music-news 7 дней назад

      ​@@_____casetrue i tried it for the first time and was shock from the performance

  • @chaitanyadamarasingu979
    @chaitanyadamarasingu979 2 месяца назад

    there is no WEB APP for Superlist i guess

    • @kevmoo
      @kevmoo Месяц назад +2

      There absolutely is!

  • @leonardorignanese5902
    @leonardorignanese5902 Месяц назад +1

    is SEO gonna be totally ignored now?

    • @hamm8934
      @hamm8934 Месяц назад

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

    • @ajitsinghyadav1725
      @ajitsinghyadav1725 Месяц назад

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

  • @AMar4enko
    @AMar4enko Месяц назад +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.

  • @yakkalabour
    @yakkalabour 18 дней назад

    Flutter to go to the moon

  • @Alex-bc3xe
    @Alex-bc3xe Месяц назад

    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 Месяц назад +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 Месяц назад

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