CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
A from-scratch experimental ahead-of-time JS engine Porffor is a unique JS engine/compiler/runtime, compiling JS code to WebAssembly or native ahead-of-time. It is limited for now; intended for research, not serious use! Wasm compilation Porffor's WebAssembly output is much faster and smaller compared to existing JS -> Wasm projects. This is because Porffor compiles JS AOT instead of bundling an i
WebAssembly Type Reflection JavaScript APIの一部をWebKitに実装したので紹介します。 WebAssembly Type Reflection JavaScript API とは WebAssembly Type Reflection JavaScript APIは、Memory・Table・Global・関数の型に関する情報をJavaScriptから取得するAPIを追加する提案です。https://github.com/WebAssembly/js-types で管理されています。 たとえば、MemoryやTableであればサイズの制限、Globalであれば値の型とミュータビリティ、FunctionであればそのシグネチャをJavaScriptから取得できます。 この提案は、既存のAPIに対して3つの変更を加えます。 1. Memory、Glob
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている
One of the limitations of on-browser VSCode (e.g. vscode.dev) is lack of Linux-based Terminal and containers running completely within the browser. So we’ve created an experimental VSCode extension “vscode-container-wasm” which enables to run Linux-based containers within the browser and interact with them via the terminal. gcc on VSCode within the browserHow it worksThis is implemented by running
About two months ago, @maxdeviant and I began the project of making Zed extensible. In a code editor, extensibility can include many features that require many different capabilities, but for the first phase of the project, we have focused on extensible language support. We want people to be able to code in Zed in any programming language, not just a select few. We've just reached that first miles
Back to articlesWinterJS 1.0Announcing WinterJS 1.0, the fastest Javascript web server now also supporting Cloudflare applications and React Server Components WinterJS 1.0 is finally here. WinterJS is an incredibly fast WinterCG-compatible Javascript runtime written in Rust using the SpiderMonkey engine to execute JavaScript, and Tokio to handle the underlying HTTP requests and JS event loop. Wint
Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場 WindowsやMacなどのデスクトップPCでVisual Studio Code(以下VSCode)を利用して開発をする場合、同じローカルマシン上でDockerコンテナのLinux環境を起動し、VSCodeのターミナルで接続して操作することは、開発環境としてよくあることだと思います。 これと同じことをWebブラウザ版のVSCodeでも実現する、すなわちWeb版VSCodeが同一Webブラウザ上にWebAssembly化したDockerコンテナを起動し、Web版VSCodeからローカルマシンとして接続し利用できる、実験的実装を実現したVSCodeの拡張機能「vscode-container-wasm」が登場しました。 V
この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js
The WasmFX project extends WebAssembly (abbreviated Wasm) with effect handlers as a unifying mechanism to enable efficient compilation of control idioms, such as async/await, generators/iterators, first-class continuations, etc. WasmFX is currently being considered as the basis for stack switching in WebAssembly. The concrete proposal is known as typed continuations. Join the conversation over at
Back to articlesAnnouncing WinterJSThe most performant JavaScript Service Workers server thanks to Rust and SpiderMonkey Follow up the WinterJS series reading about the recent production-ready WinterJS 1.0 release here. Today we are incredibly excited to announce WinterJS (wasmer/winterjs package). WinterJS is a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey engine t
A Bytecode Alliance project Cranelift is a fast, secure, relatively simple and innovative compiler backend. It takes an intermediate representation of a program generated by some frontend and compiles it to executable machine code. Cranelift is meant to be used as a library within an "embedder". It is in successful use by the Wasmtime WebAssembly virtual machine, for just-in-time (JIT) and ahead-o
WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表 WebAssemblyランタイム「Wamer」の開発元であるWasmer社は、WebAssemblyでファイルやネットワーク、メモリなどのシステムリソースを抽象化する業界標準のAPI仕様である「WASI」(WebAssembly System Interface)を拡張してPOSIX対応にする新技術「WASIX」を発表しました。 WASIとPOSIX WebAssemblyはもともと、Webブラウザ上でネイティブコード並の実行速度でアプリケーションを実行することを目的に策定されたバイナリフォーマットです。 そのWebAssemblyを、LinuxやWindows、macOSなどのOS上でWebAssemblyランタイムを用いて直接実行する
Back to articlesAnnouncing WCGI: WebAssembly + CGIWCGI - Revolutionizing Server Development with WebAssembly and CGI Welcome to the future of server-side development with WebAssembly! Today we are introducing WCGI, a technology that marries the power of WebAssembly with the versatility and simplicity of CGI. Here are some of WCGI's highlights: You can reuse your existing CGI applications by compil
Until now, one piece missing from WebAssembly standalone engines was the ability to spawn threads. Browsers have had this ability for some time via Web Workers, but standalone engines had no standard way to do this. This post describes the work of several collaborators to bring about wasi-threads, a proposal to add threads to WASI. It will explain the history to this proposal, the work done to get
WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ Webブラウザ上で高速に実行可能なバイナリフォーマットとして開発されたWebAssemblyは、その後Webブラウザ以外の環境でも実行可能にするため、ファイルシステムなどOSごとに異なるAPIを抽象化するための業界標準仕様「WebAssembly System Interface」(WASI)が策定されました。 WASIの登場により、WebAssemblyはWebブラウザでもWindowsやMacでも、Dockerコンテナでも共通のバイナリで実行可能なバイナリフォーマットへと進化したのです。 参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけ
The JavaScript Promise Integration (JSPI) API allows WebAssembly applications that were written assuming synchronous access to external functionality to operate smoothly in an environment where the functionality is actually asynchronous. This note outlines what the core capabilities of the JSPI API are, how to access it, how to develop software for it and offers some examples to try out. What is ‘
ある時Twitterのタイムラインを見ていたら、「JavaScriptをWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するので、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。 JavaScriptをWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptをWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJava
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く