WASM I/O
WASM I/O
  • 69
  • 334 466
Multi-Platform Libraries With Swift for WebAssembly by Max Desiatov @ Wasm I/O 2024
Wasm I/O 2024 - Barcelona, 14-15 March
WebAssembly support in Swift started as a community project and over the years evolved into an ecosystem of libraries and developer tools. The talk showcases features of Swift, including its ability to seamlessly interoperate with C and C++ libraries, all supported by the WebAssembly toolchain.
I’ll demo capabilities of Swift, directly calling into a lower level C++ library, using programmatic electronic music composition as an example. When compiled to Wasm, it can run in the browser or on the edge as well as natively on macOS, Linux, and Windows, with little changes to library code.
Переглядів: 4 279

Відео

Capabilities all the way down - an OS for WASM by Sid Hussmann @ Wasm I/O 2024
Переглядів 1,5 тис.8 місяців тому
Wasm I/O 2024 - Barcelona, 14-15 March Slides: 2024.wasmio.tech/slides/capabilities-all-the-way-down-an-os-for-wasm-wasmio24.pdf WASI has two powerful security principles: Strong isolation and control over dependencies using capability-based security. In my talk, I demonstrate how to build resilient systems with this approach and reduce the overall attack surface by over 99%. - In my talk, I pr...
Design Systems in Wasm: One year on the bumpy road to the component model by P. Dureau / J. Valverde
Переглядів 1,5 тис.8 місяців тому
Wasm I/O 2024 - Barcelona, 14-15 March Speakers: Pierre Dureau / Jean Valverde Slides: 2024.wasmio.tech/slides/design-systems-in-wasm-one-year-on-the-bumpy-road-to-the-component-model-wasmio24.pdf We used WebAssembly to package web Design Systems that run on any platform, language, or framework. To have a single build for server side and browser side rendering, we moved to the upcoming preview2...
Building next generation of stream computation engine using Component Model by Sehyo Chang @ Wasm IO
Переглядів 1 тис.8 місяців тому
Wasm I/O 2024 - Barcelona, 14-15 March Slides: 2024.wasmio.tech/slides/building-next-generation-of-stream-computation-engine-using-component-model-wasmio24.pdf Join us for an insightful journey into revolutionizing stateful stream processing engines! In this talk, we’ll unveil how we harnessed the power of the WebAssembly (WASM) Component model to pave the way for the next generation of stream ...
WANIX: A WebAssembly Operating and Development Environment by Jeff Lindsay & Julian Del Signore
Переглядів 3,9 тис.8 місяців тому
Wasm I/O 2024 / 14-15 March 2024 WANIX takes WebAssembly to the next level. Edit, compile, and run WebAssembly from a WebAssembly UNIX-like environment entirely in the browser. Written in and using Go as a runtime, WANIX draws from Genera and Plan9 to provide a local-first operating and development environment of the future. - This is the story of a WebAssembly native operating system and integ...
Everything about media files in WASM: fonts, images, audios all in rust by Dmitriy Kovalenko
Переглядів 1,5 тис.8 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: www.icloud.com/iclouddrive/0b6grdvMmw5F0n5PKUXIzB2Iw#Wasm I made fframes. Fun fact: our fully featured video editor including media files loads faster than today’s SPAs. And we are doing A LOT of media processing: parsing font files for custom text shaping, decoding images, processing audios for visualization via fft, and many more. All of this in ...
Chicory: Creating a Language-Native Wasm Runtime by Benjamin Eckel / Andrea Peruffo @ Wasm I/O 2024
Переглядів 1,1 тис.9 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: andreaperuffo.com/chicory-wasmio-deck/ Repo: github.com/dylibso/chicory This talk will outline how and why we created Chicory: a JVM native Wasm runtime. You should walk away with an understanding of what it takes to create a language-native runtime and why you might want to create one for your own language. - There are a number of mature Wasm runt...
elfconv: AOT compiler that translates Linux/AArch64 ELF binary to WebAssembly by Masashi Yoshimura
Переглядів 5739 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: 2024.wasmio.tech/slides/elfconv-aot-compiler-that-translates-linuxaarch64-elf-binary-to-webassembly-wasmio24.pdf Repo: github.com/yomaytk/elfconv WebAssembly (WASM) enables us to use sandbox environments on edge devices and servers as well as browsers so that we can distribute platform-independent and secure applications. Previously, we could compi...
Sustainability with WASM? - faster, greener computing [Panel] @ Wasm I/O 2024
Переглядів 2309 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Panelists: Shivay Lamba / Saiyam Pathak / Saloni Narang / Danielle Lancashire Wasm enables greener computing through efficient architecture and virtualization. Our panel shares insights and best practices for using Wasm to reduce carbon footprint across AI, containers, and more. Join us to learn how Wasm optimizes performance and resources for sustainable ...
Mind the Gap Between the Wasm Future and the Present by Taylor Thomas @ Wasm I/O 2024
Переглядів 2,4 тис.9 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Learn how to make the future work seamlessly with the present! This demo-heavy talk, led by experts, will show the pros and cons of the different options for integrating Wasm with current platforms like Kubernetes. You’ll leave with a clear idea of how to use Wasm in real situations today. - WebAssembly is a cool idea, but what does it look like to run it ...
Create cloud native agents and extensions for LLMs by Vivian Hu & Michael Yuan @ Wasm I/O 2024
Переглядів 4269 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: 2024.wasmio.tech/slides/create-cloud-native-agents-and-extensions-for-llms-wasmio24.pdf There is an enormous interest from the ecosystem to build LLM applications. But it is not yet clear the best practices to build those applications in cloud native environments. We will be presenting lessons learnt from real world use cases. - LLMs like ChatGPT a...
Understanding Wasm: How We Got Here by Chris Dickinson @ Wasm I/O 2024
Переглядів 2,1 тис.9 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: www.neversaw.us/slides-no-notes.pdf Let’s put Wasm and the problems it solves into historical context: what are we trying to solve, and for whom? What has been tried before? What makes this effort more likely to succeed? We’ll examine the history of virtual machines, operating systems, & hypervisors from the 1960s through the 2010s. - Have you ever...
The Smallest Thing That Could Possibly Work: WASM on Microcontrollers With TinyGo by Ron Evans
Переглядів 1,5 тис.9 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: deadprogram.github.io/wasmio-2024/#/ Repo: github.com/deadprogram/wasmio-2024 In an action-packed session filled with live demos, I will explain the why and how of running WASM code on the smallest of processors: the microcontroller. Using TinyGo and other open source software, this session will show how WebAssembly can be used to do useful things ...
Flutter, Dart, and WASM: Shipping a new model for Web applications by Kevin Moore @ Wasm I/O 2024
Переглядів 21 тис.9 місяців тому
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...
The Wasm-Scape Navigator: Sorting Through the Mosaic of Specs by Edoardo Vacchi @ Wasm I/O 2024
Переглядів 4589 місяців тому
Wasm I/O 2024 / 14-15 March, Barcelona Slides: speakerdeck.com/evacchi/o-2024-the-wasm-scape-navigator-sorting-through-the-mosaic-of-specs What are the challenges of following the development of the growing WebAssembly ecosystem as a toolchain and runtime maintainer? How do we address hard issues such as backward compatibility? How and how much should we care? - As an early adopter, the WebAsse...
Wasm can do that!? by Daniel Lopez @ Wasm I/O 2024
Переглядів 2,6 тис.9 місяців тому
Wasm can do that!? by Daniel Lopez @ Wasm I/O 2024
Accelerating ML Inferencing with WebAssembly & Spin 2.0 by Radu Matei & Saiyam Pathak @ Wasm I/O 24
Переглядів 1,1 тис.9 місяців тому
Accelerating ML Inferencing with WebAssembly & Spin 2.0 by Radu Matei & Saiyam Pathak @ Wasm I/O 24
Empowering Go with WebAssembly System Interface (WASI) Unleashed by Rajiv Singh / Achille Roussel
Переглядів 1,2 тис.9 місяців тому
Empowering Go with WebAssembly System Interface (WASI) Unleashed by Rajiv Singh / Achille Roussel
Kotlin/Wasm - Compile Once Run Everywhere by Zalim Bashorov @ Wasm I/O 2024
Переглядів 2,7 тис.9 місяців тому
Kotlin/Wasm - Compile Once Run Everywhere by Zalim Bashorov @ Wasm I/O 2024
WebAssembly at the Core of the MultiversX Blockchain by Robert Sasu @ Wasm I/O 2024
Переглядів 6589 місяців тому
WebAssembly at the Core of the MultiversX Blockchain by Robert Sasu @ Wasm I/O 2024
Computer Vision at the Edge with WebAssembly by Miguel Ángel Cabrera & Angel De Miguel @ Wasm I/O 24
Переглядів 6889 місяців тому
Computer Vision at the Edge with WebAssembly by Miguel Ángel Cabrera & Angel De Miguel @ Wasm I/O 24
Chicory: Creating a Language-Native Wasm Runtime by Benjamin Eckel & Andrea Peruffo @ Wasm I/O 2024
Переглядів 8009 місяців тому
Chicory: Creating a Language-Native Wasm Runtime by Benjamin Eckel & Andrea Peruffo @ Wasm I/O 2024
Paint by Numbers: High Performance Drawing in Wasm by Sean Isom @ Wasm I/O 2024
Переглядів 5 тис.9 місяців тому
Paint by Numbers: High Performance Drawing in Wasm by Sean Isom @ Wasm I/O 2024
WebAssembly Component Model: What? How? And why you should not ignore it! by Thorsten Hans @ Wasm IO
Переглядів 4,5 тис.9 місяців тому
WebAssembly Component Model: What? How? And why you should not ignore it! by Thorsten Hans @ Wasm IO
Running JS via Wasm faster with JIT by Dmitry Bezhetskov @ Wasm I/O 2024
Переглядів 8089 місяців тому
Running JS via Wasm faster with JIT by Dmitry Bezhetskov @ Wasm I/O 2024
Building Durable Microservices with WebAssembly by John A. De Goes @ Wasm I/O 2024
Переглядів 6 тис.9 місяців тому
Building Durable Microservices with WebAssembly by John A. De Goes @ Wasm I/O 2024
Nobody Knows the Trouble I've Seen: Debugging Wasm for web and server by N. Venditto & R. Squillace
Переглядів 8229 місяців тому
Nobody Knows the Trouble I've Seen: Debugging Wasm for web and server by N. Venditto & R. Squillace
Extism 1.0, your framework to build with WebAssembly by Steve Manuel @ Wasm I/O 2024
Переглядів 3,2 тис.9 місяців тому
Extism 1.0, your framework to build with WebAssembly by Steve Manuel @ Wasm I/O 2024
Programmable Embedded Vision Sensors by Dan Mihai Dumitriu @ Wasm I/O 2024
Переглядів 3869 місяців тому
Programmable Embedded Vision Sensors by Dan Mihai Dumitriu @ Wasm I/O 2024
WebAssembly at Google by Thomas Steiner & Thomas Nattestadt @ Wasm I/O 2024
Переглядів 4,7 тис.9 місяців тому
WebAssembly at Google by Thomas Steiner & Thomas Nattestadt @ Wasm I/O 2024

КОМЕНТАРІ

  • @ypomerantsev
    @ypomerantsev 7 днів тому

    Am I the only one seeing errors with "else if" that is the same as the first "if" statement which will never be used by developers in any code?

  • @MunjalPatel
    @MunjalPatel 9 днів тому

    Hi, could you please share GitHub / Docs for this work? I am not able to find them.

  • @farizmuradov7285
    @farizmuradov7285 29 днів тому

    can it use full featured tcp protocols such modbus, ssh without websocket capsulation?

  • @rudrOwO
    @rudrOwO Місяць тому

    Love the Berkeley Mono font

  • @csakdee
    @csakdee Місяць тому

    The "you know" counter is really off the charts in this one!

  • @uquantum
    @uquantum Місяць тому

    Amazing clear presentation, thanks Piotr!

  • @edgeeffect
    @edgeeffect 2 місяці тому

    Is doing a presentation with a tiny tiny font really a good idea?

  • @ron5948
    @ron5948 2 місяці тому

    17:15 Can we have agreed upon component interfaces standardized slecified and then under a well known name so we prevent inconsistent implementation and copying around the .wti files? Prrmature ron watch le videonsiwggaugail 17:15

  • @dodochi79
    @dodochi79 2 місяці тому

    Very excited!

  • @YouFoundMayank
    @YouFoundMayank 2 місяці тому

    People From the future. Just So you Know I was Converting Python into Wasm From this day.

  • @gentek7
    @gentek7 2 місяці тому

    Good day to all, today I tried to connect the Java library of Joda-Time(implementation("joda-time:joda-time:2.13.0")) but I couldn’t do it!!! I would like to know if it is possible to connect Java libraries???😊

  • @gentek7
    @gentek7 2 місяці тому

    Good day to all, today I tried to connect the Java library of Joda-Time(implementation("joda-time:joda-time:2.13.0")) but I couldn’t do it!!! I would like to know if it is possible to connect Java libraries???😊

  • @gentek7
    @gentek7 2 місяці тому

    why does not support java libraries ???

  • @genshian
    @genshian 2 місяці тому

    Damn 2024 YC batch. Happy I found this project! So relevant for the current problems on web processing. Can't wait to dive deeper. Hopefully to get to a deep understanding in all this.

  • @tananga_studio
    @tananga_studio 3 місяці тому

    Kevin you are great! Thank you flutter team for your hard work ❤

  • @davidykamau6300
    @davidykamau6300 4 місяці тому

    Excellent illustrations

  • @davidykamau6300
    @davidykamau6300 4 місяці тому

    He explains well, he also should have used diagrams to explain unshared memory part. But thankx

  • @AndysTV
    @AndysTV 4 місяці тому

    4:37 Are you going to use a matrix for the logic in the next verision 🤣

  • @EduardoCasanova-t9t
    @EduardoCasanova-t9t 4 місяці тому

    Is Golem like Temporal?

  • @codeteam177
    @codeteam177 4 місяці тому

    He just gave a 2 hour talk in 44 minutes.

  • @utubercj
    @utubercj 4 місяці тому

    Good Presentation

  • @ForexRustProgrammingAustralia
    @ForexRustProgrammingAustralia 5 місяців тому

    You're very smart :)

  • @andrewdatar9880
    @andrewdatar9880 5 місяців тому

    Nice presentation and slides, thank you for sharing! Is there a repo with demo code?

  • @bennguyen1313
    @bennguyen1313 5 місяців тому

    I understand a web-application can be accessed via a browser (from mobile/desktop).. but where is it hosted? For example, could a web-application hosted on a PC access the USB hardware peripherals connected to it, or would a pure Flutter Desktop application be required? Haven't seen any Flutter Desktop examples that talk to hardware. Also, a hello-world Augmented-Reality app using Flutter (ar_flutter_plugin / arcore ) would be great! Not sure with how much precision an image be overlayed onto the camera screen, but I'd like to make android app that can find components from a circuit board! For example, if you have a sheet of paper with a grid of squares, say 50x50.. if A4 is said/entered, could AR use a fiducial on the paper to calculate precisely how far into the grid it needs to place an appropriately scaled marker (scaling it based on the the angle and how close the camera is to the sheet). BTW, I understand has the Flutter framework uses state-management as its philosophy (ex. Fred Grott), but what do you think of Flet (Python for flutter)? On the "Flutter Clutter" blog they mention some cool projects featured in the 2022 "Flutter Puzzle Hack" contest.. any idea if they're going to do another?

  • @DevLife717
    @DevLife717 5 місяців тому

    Great job Kev, really excited for the Flutter/WASM future

  • @LeeZhenYong
    @LeeZhenYong 5 місяців тому

    That calling WASM from excel demo 🤯

  • @msahu2595
    @msahu2595 6 місяців тому

    WASM ❤

  • @bslayerw
    @bslayerw 6 місяців тому

    This is awesome. I'm glad I found this talk. I was looking to kick the WASM (and embedded) tires after the Swift 6.0 release, but I bumped into a whole different Swift Wasm based on 5.10. This is what I was looking for. That sent me down a rabbit hole of confusion. Great talk! Thanks! Also, thank you for making the example publicly available.

  • @sergeiromanoff
    @sergeiromanoff 6 місяців тому

    Write once run everywhere - what's ground braking here? Java has been around for decades

  • @luiscarlosjayk
    @luiscarlosjayk 6 місяців тому

    Amazing talk, very well explained in simpler words, thanks a lot for it!

  • @jamesr2408
    @jamesr2408 6 місяців тому

    Money makes the world go around. *What about Flutter-web-stripe support.* Without solving this gap, there is no way to hop into the Flutter-web development train, sorry.

  • @Kubelet
    @Kubelet 7 місяців тому

    Amazing talk, thank you for diving so deep. I really appreciated the level of detail you gave

  • @DavidAlsh
    @DavidAlsh 7 місяців тому

    Holy moly! You compiled a shell environment AND nodejs to webassembly to run in the browser!? That's unbelievable! Does the Nodejs here support napi extensions? Do you have a link to the playground? Do you have a link to the sources? This is _exactly_ what I need - I'd love to build on top of it

  • @yakkalabour
    @yakkalabour 7 місяців тому

    Flutter to go to the moon

  • @mtrisi
    @mtrisi 7 місяців тому

    I'd really love to know how to set up this project from scratch and successfuly get the wasm working with @_extern and, also getting the hot reloading working

    • @MaxDesiatov
      @MaxDesiatov 7 місяців тому

      For hot reloading there are a few live server and preview VS Code extensions for your choosing, and the readme file in the example repo also provides a command to run a bog-standard Python HTTP server. Use your favorite command-line file watcher that will invoke the build command when any of the source files change. The summary is that there's no special magic for hot reloading, everything is pluggable and you can use whatever hot reloading tools you prefer.

  • @bronifty598
    @bronifty598 8 місяців тому

    next time give each person a mic

  • @alphonsokirk8340
    @alphonsokirk8340 8 місяців тому

    Promo-SM

  • @jeeva3984
    @jeeva3984 8 місяців тому

    Java write once, Debug everywhere

  • @kevinl.9657
    @kevinl.9657 8 місяців тому

    I have my jaw drop when you demo-ed the excel one. Damn!

    • @nilslice
      @nilslice 7 місяців тому

      glad you liked it :)

    • @kevinl.9657
      @kevinl.9657 7 місяців тому

      @@nilslice the problem is, i don't actually know how to do it. Lol

    • @nilslice
      @nilslice 7 місяців тому

      @@kevinl.9657 the excel demo is a bit more complicated than any other extism demo. I’ll share the code though! in the meantime, I’d try out extism using JavaScript SDK, which will make the Excel part more familiar since it uses JS too

  • @garageliftrunner
    @garageliftrunner 8 місяців тому

    This guy sounds like one of those smart, dumb people, who's also 40 years old. Do you want to build something. Can I say that? Can you.

  • @wayluke
    @wayluke 8 місяців тому

    Mayby more code or demo to show me the improve or fution, such as kotlin in web how to use with react, you know that even rust wasm provide the react and yum to build web app.

  • @vegidio
    @vegidio 8 місяців тому

    what a terrible presentation

    • @GeorgeC-ur9yw
      @GeorgeC-ur9yw 6 місяців тому

      yea, he is so slow and some words are pronounced so badly I cant hear it even if I rewind

  • @ajitsinghyadav1725
    @ajitsinghyadav1725 8 місяців тому

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

    • @nandoflorestan
      @nandoflorestan 6 місяців тому

      Someone did not watch the video... Click this: 12:42

  • @AMar4enko
    @AMar4enko 8 місяців тому

    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.

  • @wayluke
    @wayluke 8 місяців тому

    Is this tool/plugin still in test? I don't how to debug wasm with js in an full process like you show in the video.

  • @joseluisvazquez5126
    @joseluisvazquez5126 8 місяців тому

    Too much magic going on here. I wonder how does recovery actually works, specially for time sensitive workloads or random internal inputs: - Your WASM program dies, so it needs to be resurrected on another node. - How many events need to be replayed on the cloned WASM program to get to the state the program was when it crashed? - How long does it all take? - What happens if the program was running for days, months or years before crashing? won't you have a long down time until it resumes somewhere else? - What if the running state of the crashed program involved calculations using time or random data (auto generated keys) as sources and those did not interact with the host, but were only internal to the WASM program memory? is the WASM running memory being replicated or snapshoted? that seems expensive BTW. Very interesting how that could be done thought. I do not think the app running on Golem can be completely oblivious to the constraints the platform imposes: apps that might reply differently to the same inputs depending on randomly generated data or the wall clock will not be reproducible, so they should be negated those somehow, or they should asume reality does not really exist for them... If the platform is going to intercept random source generator interactions or private key generation to replay and fake it later, that is a security issue, for instance. You cannot fully isolate apps from reality. And in reality, shit happens. Another thing, you are NOT deleting databases, you are just hidding them from app developers. Databases will be used to store the events that will have to be replayed as needed. Same goes for Kubernetes or network serialization, that will still exist in a way or another on the Golem platform level. or below It might be a good simplification and might reduce duplication and increase overall productivity, but someone will still have to write and maintain databases, schedulers and network serializations.

    • @AlekseyGureiev
      @AlekseyGureiev 25 днів тому

      Besides, if any external services were involved, is it even possible to "replay" events of your service without ever interacting with these second time? Too much magic indeed.

  • @epicbullrun8003
    @epicbullrun8003 8 місяців тому

    Great work, it was quite interesting-EGLD is the future.🚀

  • @JH-pe3ro
    @JH-pe3ro 8 місяців тому

    That's....really boring! It's just another iteration of "the thing we could already do, but in the browser." Jeff even says, "there are no VMs", and then has to clarify, "just WASM"(a VM). Then they share the screens and do the CRDT thing and he goes, "it's like we both SSH'd into a shared server, except there's no server!" But there IS a server - it's the one that's exposed by the service worker! Huh, yeah, it's almost as if we should go back and fix the UX around the actual OS instead of doing whatever this is.

  • @rhadamesmoura6124
    @rhadamesmoura6124 8 місяців тому

    Great!

  • @msSinceEpoch-se2ty
    @msSinceEpoch-se2ty 8 місяців тому

    Awesome