タグ WASM
人気順 5 users 50 users 100 users 500 users 1000 usersRustでWasm Runtimeを実装する
Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。 続きを読む
wasmos: WASMを実行する自作マイクロカーネル
背景 WebAssembly(WASM)をブラウザの外で活用するためにWASIの標準化が進められています。その目的は隔離され、制限されたWASMの実行環境を作ることですが、これは難しい挑戦です。WASMの安全性は外部APIの能力に依存するため、WASIの標準化は慎重に行う必要がありますが、これには多くの時間がかかります。私はこれがWA... 続きを読む
Wasmer、「Wasmer JavaScript SDK」を発表
Wasmer、「Wasmer JavaScript SDK」を発表:WASIXを介してあらゆるUNIXプログラムをブラウザで実行できる WebAssembly(Wasm)ランタイムを開発するWasmerは、WASI(X)アプリケーションをブラウザで簡単に実行するための新しいライブラリ「Wasmer JavaScript SDK」を発表した。 続きを読む
WebAssembly の過去・現在・未来 - Qiita
はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単... 続きを読む
Fly.io に入社した - blog.8-p.info
3月の末から Fly.io という会社ではたらいている。 いわゆる Heroku のような PaaS なのだけど、 Cloudflare や Vercel のような、東京の人々には東京のサーバーが、ポートランドの人々にはシアトルのサーバーがリクエストをひろうので速い、というエッジっぽいことができる でも、そこで動くのは WASM や V8 Isolates ... 続きを読む
FAAS in Go with WASM, WASI and Rust - Eli Bendersky's website
This post is best described as a technology demonstration; it melds together web servers, plugins, WebAssembly, Go, Rust and ABIs. Here's what it shows: How to load WASM code with WASI in a Go environment and hook it up to a web server. How to implement web server plugins in any language that can... 続きを読む
RustでWasm Runtimeを実装してみた
はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerでWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどの... 続きを読む
Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定
Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定 JetBrainsでKotlinの開発を担当するZalim Bashorov氏と、VMwareでSpring Frameworkのコミッタとして働くSébastien Deleuze氏は、Kotlinで書かれたコードをWebAssem... 続きを読む
Docker+Wasm Tchnical Preview 2がリリース。Wasmをコンテナとして扱える業界標準「runwasi」採用でWasmランタイムを選択可能に
Docker Desktopを提供するDocker社は、Docker DesktopにWebAssemblyランタイムを統合したDocker DesktopのTechnical Preview 2をリリースしたと発表しました。 Technical Preview 2での最大の変更点は、runwasiを採用したことでWebAssemblyランタイムが選択できるようになったことです。 Technical Preview 1ではWasmEdg... 続きを読む
KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で
KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で Kotlinで書かれたコードをWebAssemblyバイナリとするコンパイル機能を備えた「Kotlin/Wasm」が、Kotlin 1.8.20ベータ版で搭載されたことが明らかになりました。 Kotlin 1.8.20-Beta brings man... 続きを読む
Linuxコンテナの「次」としてのWebAssembly、の解説
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWA... 続きを読む
WasmでJavaScriptを動かす意義
ある時Twitterのタイムラインを見ていたら、「JavaScriptをWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するのに、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これ... 続きを読む
CDNエッジでJS/TS/WASMを実行できる「Vercel Edge Functions」正式リリース。Node.jsサブセットを目指す
CDNエッジでJS/TS/WASMを実行できる「Vercel Edge Functions」正式リリース。Node.jsサブセットを目指す Next.jsの開発元であり、Webアプリケーションのホスティングサービスなどを提供するVercelは、CDNエッジでJavaScript/TypeScript/WebAssemblyを実行できるサーバレス基盤「Vercel Edge Functions」の正式リリースを... 続きを読む
WebAssembly対応でRubyは何が出来るようになったのか?
はじめに Ruby 3.2よりWASIベースのWebAssemblyサポートされました。 これによってRubyをブラウザ上で実行できるようになるわけですが、実はWASMはブラウザの外での動作も可能になっており、OSに依存しないライブラリを作ったり、Edge Computingで実行させたり、シングルバイナリの実行可能ファイルにしたりと色々な事が... 続きを読む
Wasmはなぜセキュアなのか?
Wasmはなぜセキュアなのか? 前回Wasmのバイナリを読んでみたが、実行時にどのようにセキュアに実行しているのか気になったので調べてみた。 とりあえず今回も公式ドキュメントを見ながら整理しつつ、実際のコードも無理なく辿れそうなところはwasmerの実装を参考に見ていきたいと思う。 Wasmの目指すセキュリティ とり... 続きを読む
Docker+Wasmを試してみた(Docker Engineのビルドから)
はじめに DockerでWasmを実行できるDocker+Wasmがテクノロジープレビューとして発表されました。 公式ドキュメントにはDocker Desktopのバイナリしか公開されていませんでしたが、GitHubリポジトリにWasm対応のDocker Engineをインストールする方法がありました。 個人アカウントのリポジトリですが、Docker社の人がClou... 続きを読む
sqlite3 wasm docs: About the sqlite3 WASM/JS Subproject
WebAssembly, a.k.a. WASM, is a standard defining a low-level programming language suitable (A) as a target for cross-compilation from many other languages and (B) for running via a virtual machine in a browser. Designed with scriptability via JavaScript in mind, it provides a way to compile C cod... 続きを読む
RubyKaigiとiOSDCでWasmの話をしてきた - kateinoigakukunのブログ
09/08-10に三重で開催されたRubyKaigi、09/10-12に東京で開催されたiOSDCにどちらもスピーカーとして参加してきました。 カンファレンスはしごされた方はお疲れ様でした。 RubyKaigi Keynote 初めてのRubyKaigiでの発表で、さらにキーノートで、さらにトップバッターという大変貴重な体験でした。いやー緊張した。1 当日... 続きを読む
Zig 言語のファーストインプレッション
Bun を読むにあたって、まずZigを抑える必要があると思ったので数時間学習してみた。チュートリアルを一通りやったのと、ちょっと手を動かした程度で、正直エアプの域は出てない。 自分の動機として wasm を吐くのに使う言語をずっと探していて、Rust も悪くないが正直学習コスト高すぎでしんどく、Zig がそれに足るか調... 続きを読む
WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう! - エンジニアHub|Webエンジニアのキャリアを考える!
エンジニアHub > 記事一覧 > WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう! WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう! WebAssembly(Wasm)は、ブラウザー上で直接動くプログラミン... 続きを読む
RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する
wasm-packを使うことで、ビルドしてwasm-bindgen-cliでさらに変換処理を行い、npmで配布可能なパッケージにするという多段階必要なビルド手順をまとめることが可能です。 またnewコマンドのようなテンプレートから生成する機能などもあり、より手軽にWasmの実行を行えます。 後述のTrunkとの違いは、wasm-packはwebpack... 続きを読む
【WASM & Rust】フロントエンドでRustを使う方法をmizchiさんとペアプロしながら解説する #ch789
フロントエンドエンジニアが Rust と WASM を使ってフロントエンドのコードを書こうとすると、意外と Rust のエグいところが出てきて面食らいます。 この配信では、フロントエンドに詳しい mizchi さんに、KOBA789 が Rust と WASM を教えていきます。 ★事前資料 https://gist.github.com/mizchi/86e53810e08eee2176d98b... 続きを読む
ブラウザ内でバイナリを圧縮してコードやlocalStorageに埋め込む
JS で wasm のダウンロードや TypedArry を通じた操作をやってると、コード内や localStorage にバイナリを埋め込みたいときがあります。 考え方 JS の内部エンコーディングは UTF16 と決められているので、UTF16で表現可能な範囲を1文字として、バイナリをインライン化すればサイズが小さくて済むはず Chrome は Compre... 続きを読む
WebAssembly の GC Proposal とは何か / どこに向かおうとしてるのか
最初に これは WebAssembly に GC が導入されるから紹介、という記事ではない。どちらかというと、WebAssembly GC の採用がどれだけ遠く、また GC がのればどんな言語でも wasm のコンパイルサイズが減って軽量になる、という夢を見ている人に、現実を見てもらうための記事になる。 WebAssembly GC Proposal (Team)は、... 続きを読む
フロントエンドエンジニアがWASM(Rust)でWebアプリを作ってみた
この記事について この記事はアドベントカレンダー2021 Rust 四日目の記事です 概要 フロントエンドエンジニアである筆者がWASM(Rust)でWebアプリを作ってみたので、 その際の技術選定(主にビルド・開発補助周り)について 作ってみた雑感、特に「ぶっちゃけフロントエンドRust[1]ってどうなの?」という点 について... 続きを読む