WasmCon 2023 Sessions Now Online
Written by Nikos Vaggalis   
Friday, 01 March 2024

The recorded session of the premier conference for technical developers and users interested in exploring the potential of WebAssembly are now online.

WasmCon 2023, organized by the Linux Foundation, was a two-day event that took place in Washington on September 2023. At an event like this you get the lowdown on the past, present and future of Webassembly.

In the short time WebAssembly has been part of the landscape it has undoubtedly created a stir. At the outset it was touted as a runtime that would be embedded into every major web browser in order to write code in any language that could be compiled to its bytecode format. Using it, popular browsers would be able to execute not just JavaScript but also compiled binaries, hence the second label that was attached to it - the JavaScript killer. .

As things progressed, both of those assumptions were debunked. WebAssembly has broken loose of the browser's constraints and can be used for running Microservices or serverless functions or even run Wasm binaries on the command line so that even cross-platform CLI applications can be developed.

And the use cases kept growing. Toolkits like Wasmer's JS SDK brought POSIX compatible apps in the server and the browser. Applications could now provide full support for efficient multithreading, sockets, current directory pthreads, process forking , subprocess spawning and waiting (exec, wait), TTY support, asynchronous polling of sockets and files, pipe and event support, etc.

Then there was WCGI, which combines old school CGI with Webassembly. It turns out that WebAssembly+CGI is a sane attempt, since you:

  • Can invoke wasm modules instead of native executables

  • Can reuse your existing CGI applications by compiling them to WASI (AssemblyScript, C, C++, Go, PHP, Python, . . . )

  • Ship ultra-small packages that will only contain your business logic and static assets, no HTTP stack or bulky Docker containers

  • Have complete sandboxed execution: WebAssembly code runs in a sandbox, with one isolated instance per request

WebAssembly also gave life to old Java application with CheerpJ the Java-to-Javascript runtime and compiler that can convert any Java application to HTML5 for in-browser rendering. The Cheerp C++ To Webassembly Compiler does that for C++ as it lets you compile virtually any C/C++ code to WebAssembly and JavaScript.

And the latest talk is on WebAssembly as a replacement to Containers.

These topics and more were covered in sessions as part of the Wasmcon conference, initialy beginning last September but constantly being updated, ending up till yesterday as a 50 video strong Youtube playlist. The list is too long to be comprehensive, but we managed to single out the most noteworthy in our opinion:

JavaScript Toolchain for WebAssembly Components
As said, Webassembly and Javascript have gone from foes to best friends. This presentation introduces the JavaScript toolchain projects for WebAssembly Components, as well as writing WebAssembly Components in JavaScript.

Wasm Components for Every Language
While Rust is the prime language for writing Wasm components, there's attempts to bring more languages to the table. This session introduces a new polyglot ecosystem where applications and libraries written in virtually any language are able to communicate with each other as well as the system in a high level and secure way.

Develop Wasm Applications with Docker
In another frenemy situation, this talk explored how containers and WebAssembly can work together to unlock the potential of both technologies;that is until Wasm replaces containers all together!

Getting Started with AI and WebAssembly and Unraveling the Magic of Two Hot Trends: WebAssembly and Generative AI
Of course AI couldn't have been left out of the picture. This talk, presents WASI-nn, a technology that sits at the crossroads of AI/ML and WebAssembly. WASI-nn abstracts the module from the underlying system, allowing the host to use any available hardware so that you can use the same module to run ML inference in a server, a browser or in an IoT edge device, as such bolstering portability. Also "WebAssembly and Generative AI" explains how WebAssembly and Generative AI can complement each other to spark true innovation.

SQLite in Wasm: A Glimpse into the Future of Shared Libraries
Mirroring SQLite between browser tabs and the edge, enabling offline-first collaborative workloads. WebAssembly can make offline-first applications a wide spread commodity. We have touched this subject recently in SnapCode: A Java IDE for the Web, which is a Java IDE that runs inside your browser and local first, thanks to WebAssembly.

The important part here is that no server side component is required. All the code is run on the client via WebAssembly and JavaScript, and as such local first. And why is local first important? Local first apps

  • can be used offline and sync with a remote serice when going online

  • are effective in scenarios that continuous data connectivity is not guaranteed-don't assume that there's a Cloud always on the backend

  • they are local first - you own your data; they are not deposited on a Cloud provider. Unless you own the data or it doesn't reside on your own devices then it's not yours.

Also let's not forget Running PostgreSQL Inside Your Browser. I think that the local first space will attract of a lot of attention in the short future.

And finally, Taking WASI-Cloud-Core for a Spin
WASI-Cloud-Core is a WebAssembly Systems Interface (WASI) proposal aimed to provide a generic way for WASI applications to interact with service including key-value storage, pub/sub, sql databases, etc, regardless of platforms they are running on.

The base interface, WASI (WebAssembly System Interface), is a modular system interface for WebAssembly (Wasm) that enables developers to run Wasm programs on any platform, including the browser, the cloud, and the edge. WASI is designed to be secure, fast, and portable, allowing developers to write their programs once and run them anywhere.

In this talk, attendees got a dive deep into the proposed interfaces, what capabilities WASI-Cloud-Core offers and why they will make Cloud-Native and serverless application development more portable, secure and simpler.

As said, there's many great sessions but if you were hard pressed to provide a summary, those would be the most eye catching. To enjoy them all head over to Wasmcon's 2023 Youtube channel. Enjoy!

lflogo

 

More Information

WasmCon 2023 on Youtube

 

Related Articles

SnapCode: A Java IDE for the Web

Running PostgreSQL Inside Your Browser

 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


GR00T Could Be The Robot You Have Always Wanted
27/03/2024

We may not have flying cars, but we could well soon have robots that match up to predictions for the 21st century. Nvidia has announced GR00T, a cleverly named project to build robots using foundation [ ... ]



Java Version 22 Released
04/04/2024

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info