#author("2022-06-19T09:02:56+00:00","default:admin","admin") #author("2023-03-02T04:37:29+00:00","default:admin","admin") [[WebAssembly:https://webassembly.org/]] -[[WebAssembly - Wikipedia:https://ja.wikipedia.org/wiki/WebAssembly]] -[[WasmBook:https://wasmbook.com/]] ... 書籍「入門WebAssembly」のサイト -[[WebAssembly の基礎:http://nmi.jp/2017-11-06-WebAssembly-Basics]] -[[WebAssemblyの略語はWASMではなくWasm:https://zenn.dev/katei/articles/wasm-is-not-all-caps]] -[[WebAssemblyの開発環境が整う、.NET 6でクロスプラットフォーム開発が加速へ:https://xtech.nikkei.com/atcl/nxt/column/18/01818/101800004/]] -[[「WebHID」や「WebAssembly」、ここまで来たWeb技術の最先端:https://xtech.nikkei.com/atcl/nxt/column/18/01786/092100007/]] -[[第4のWebブラウザ用言語「WebAssembly」、誰がどのように使っているのか:https://atmarkit.itmedia.co.jp/ait/articles/2107/08/news112.html]] -[[WebAssembly の利用シナリオを調べる:https://zenn.dev/takewell/articles/11b80090137dcc]] -[[Web 以外でも期待される WebAssembly – Blockchain との親和性について:https://engineering.linecorp.com/ja/blog/webassembly-expected-to-be-used-beyond-the-web/]] -[[WebAssembly を試してみた:https://laboradian.com/tried-webassembly/]] -[[「WebAssembly」ならブラウザで高速にCもRustもGoも動く:https://news.mynavi.jp/article/programinglanguageoftheworld-20/]] -[[WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】:https://qiita.com/umamichi/items/c62d18b7ed81fdba63c2]] -[[ネイティブアプリ並みのパフォーマンス!WebAssemblyでフロントエンド開発が変わる:https://sterfield.co.jp/designer/webassembly%E3%81%A7%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E9%96%8B%E7%99%BA%E3%81%8C%E5%A4%89%E3%82%8F%E3%82%8B/]] -[[[速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020:https://www.publickey1.jp/blog/20/blazor_webassemblycnetwebmicrosoft_build_2020.html]] -[[【エバンジェリスト・ボイス】Webの 未来? WebAssemblyとBlazor:https://www.idnet.co.jp/column/page_131.html]] -[[BlazorやRustのWebAssemblyを使うべき理由:https://ondwn.com/blazor-rust-wasm/]] -[[Webassemblyマルチスレッドクレート:wasm-mtを試す:https://zenn.dev/dozo/articles/39c81f784e8c8d]] -[[WebAssemblyのパッケージマネジメントとレジストリ「WAPM」がリニューアルして登場:https://www.publickey1.jp/blog/22/webassemblywapm.html]] -[[Software Design 2021年3月号の「WebAssembly入門」を読んだ:https://dackdive.hateblo.jp/entry/2021/03/24/090000]] -[[都会の星の撮り方本を出版しました。WebAssembly を使っています:http://nmi.jp/2022-02-08-Porting-LibRaw-with-Emscripten]] *WASI [#n27c6f97] -[[【WebAssembly連載第五回】WASIを触ってみようその1:https://toranoana-lab.hatenablog.com/entry/2023/03/02/100000]] *実行環境 [#d4f7551e] -[[Web 以外でも期待される WebAssembly – Blockchain との親和性について:https://engineering.linecorp.com/ja/blog/webassembly-expected-to-be-used-beyond-the-web/]] **[[Web Embedding:https://webassembly.org/docs/web/]] [#ce861fd9] ***Node.js [#pd32266c] ***Webブラウザ [#e2c8071a] **WASI [#lab4632f] -[[WebAssembly System Interface (WASI):https://nodejs.org/api/wasi.html]] -[[コンテナ技術を捨て、 WASIを試す:https://medium.com/nttlabs/wasi-6060b243ac90]] -[[Rust で WASI 対応の WebAssembly を作成して実行:https://fits.hatenablog.com/entry/2020/04/29/210734]] -[[WASI 試してみた:https://developers.10antz.co.jp/archives/765]] **[[Non-Web Embeddings:https://webassembly.org/docs/non-web/]] [#eacaa45e] ***対応言語 [#t7962f6a] -Rust -[[AssemblyScript:https://www.assemblyscript.org/]] --TypeScriptのサブセット -C/C++ *開発 [#t8fc2027] **準備 [#pd8e0e5a] -Node.js v12の最新版を入れる -wat-wasmをインストール npm install -g wat-wasm -Visual Studio Code に拡張機能「WebAssembly」をインストール -AssemblyScript のインストール npm install -g assembyscript -g *Web以外での活用 [#x1b08a87] -[[The Future of WebAssembly in Embedded & IoT - YouTube:https://www.youtube.com/watch?v=M1XYZi-lDSs]] -[[Jonathan Beri - WebAssembly and the Internet of Things:https://www.youtube.com/watch?v=oky3FdsTuUM]] -[[Wasmachine: Bring IoT up to Speed with A WebAssembly OS:https://staff.itee.uq.edu.au/jaga/proceedings/percomworkshops2020/papers/p343-wen.pdf]] -[[WebAssembly Modules as Lightweight Containers for Liquid IoT Applications:https://design.inf.usi.ch/sites/default/files/biblio/icwe2021-liquid-iot-wasm.pdf]] -[[Programming IoT applications across paradigms based on WebAssembly:https://dl.gi.de/bitstream/handle/20.500.12116/34705/C25-7.pdf?sequence=1&isAllowed=y]] -[[ECE202 WASM for IoT Devices:https://liux120.github.io/ECE202_WASM/]] -[[The Three Pillars of WebAssembly:https://thenewstack.io/the-three-pillars-of-webassembly/]] -[[WASMを実行するためのランタイム、wasmCloudがCNCFのサンドボックスに:https://thinkit.co.jp/article/18714]] -[[Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~:https://internet.watch.impress.co.jp/docs/event/1296568.html]] **VM [#jf409591] -[[WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由:https://logmi.jp/tech/articles/324956]] -[[WebAssemblyの“Openさ”は多様な応用先を生む源泉 自分だけのWasm Embedding Interfaceを考えよう:https://logmi.jp/tech/articles/324997]] ***Wasmer [#ue6060ac] ***Envoy [#rc910f98] ***Krustlet [#lf51885c] ***Kernel-wasm [#cae629fc] ***Nabulet [#k3d804fb] ***[[waSCC:https://wascc.dev/]] [#v32fc2bc] **IoT [#tb0df0a5] -[[SORACOMでIoT + WASMを簡単に試す:https://zenn.dev/nakaakist/articles/8564dff597e073]] -[[WebAssemblyが目指していること。ナノプロセスモデルの実現、システムインターフェイス、実行時リンクの実装など:https://www.publickey1.jp/blog/20/webassembly_1.html]] -[[WebAssemblyでコンテナレスの未来を築く - WebAssemblyサミットでのKevin Hoffman氏の講演:https://www.infoq.com/jp/news/2020/12/webassembly-summit-containerless/]] **機械学習 [#p2e8dbd7] -[[Build fast, sparse on-device models with the new TF MOT Pruning API:https://blog.tensorflow.org/2021/07/build-fast-sparse-on-device-models-with-tf-mot-pruning-api.html?hl=ja]] *開発言語 [#u5a26f78] -[[Awesome WebAssembly Languages:https://nodejs.org/api/wasi.html]] -[[WebAssemblyアプリ開発で最も使われている言語はRust C++、AssemblyScript、Blazor、Goが続く:https://www.itmedia.co.jp/news/articles/2107/02/news152.html]] **WAT(WebAssembly Text) [#u7e78297] **[[AssemblyScript:https://www.assemblyscript.org/]] [#t498ce89] -[[AssemblyScript の紹介 : 次世代のコンピューティング言語:https://www.fastly.com/jp/blog/meet-assemblyscript-your-next-computing-language]] -[[AssemblyScript に入門する:https://zenn.dev/sosukesuzuki/scraps/b5e25e18bdb7f4]] -[[AssemblyScriptを使ってTypeScriptのコードを早くしよう:https://qiita.com/chikoski/items/d98ed0a98acfa896869f]] **Rust [#l26e7bde] -[[RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう:https://codezine.jp/article/detail/14567]] -[[WebAssemblyアプリ開発で最も使われている言語はRust、注目の機能はスレッドなど。The State of WebAssembly 2021:https://www.publickey1.jp/blog/21/webassemblyrustthe_state_of_webassembly_2021.html]] -[[WebAssemblyとRustが作るサーバーレスの未来:https://thinkit.co.jp/article/17486]] -[[Rust のコードをいろいろな環境で動かしてみたメモ:https://zenn.dev/mryhryki/articles/2021-08-01-run-rust-on-several-environments]] -[[Rust×WASMに入門する(Linderaでブラウザから形態素解析):https://shine-bal.hatenablog.com/entry/2021/08/15/210915]] -[[RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する:https://zenn.dev/matcha_choco010/articles/2022-06-11-trunk-rust-wasm]] -[[「Rust言語で作るWebバイナリファイル「WebAssembly」入門」連載一覧:https://codezine.jp/article/corner/881]] ***準備 [#e9489834] -Rust更新 rustup update -target追加 rustup target add wasm32-unknown-unknown **Go [#g11dbab8] -[[Go × WebAssemblyで電卓のWebアプリを作ってみた:https://buildersbox.corp-sansan.com/entry/2019/02/14/113000]] -[[Go言語がWebAssemblyをサポートへ。GOARCHは「wasm」、GOOSは「js」に:https://www.publickey1.jp/blog/18/gowebassemblygoarchwasmgoosjs.html]] *ツール [#ke3d31fd] **[[WebAssembly Studio:https://webassembly.studio/]] [#lcb02d22] **[[Emscripten:https://emscripten.org/]] [#xf02feb4] -[[1年間本番環境で WebAssembly ( by Emscripten )を使ってきた中で生じた問題とその解決策:https://qiita.com/goccy/items/1b2ff919b4b5e5a06110]] **[[WABT:https://github.com/WebAssembly/wabt]] [#i7437bb2] -[[実行ファイル:https://github.com/WebAssembly/wabt/releases]] *[[Wasmer:https://wasmer.io/]] [#t94539bf] -[[スタンドアロンなWebAssemblyランタイム「Wasmer 2.0」正式リリース、Win/Mac/Linux対応。SIMDに対応、実行速度が約50%改善、参照型対応など:https://www.publickey1.jp/blog/21/webassemblywasmer_20winmaclinuxsimd50.html]] -[[WebAssemblyをブラウザの外で動かすWasmerを触ってみた:https://zenn.dev/koduki/articles/f1b342079788be]] *[[WasmEdge:https://github.com/WasmEdge/WasmEdge]] [#o748be07] -[[WasmEdge for Go Package:https://github.com/second-state/WasmEdge-go]] -[[コンテナ標準のOCI対応、クラウドネイティブなWebAssemblyランタイム「WasmEdge」が、CNCFのサンドボックスプロジェクトに採用:https://www.publickey1.jp/blog/21/ociwebassemblywasmedgecncf.html]] -[[WasmEdgeを使用してWebAssemblyでJavaScriptを実行する:https://ichi.pro/wasmedge-o-shiyoshite-webassembly-de-javascript-o-jikkosuru-149803209341153]] *[[WebVM:https://webvm.io/]] [#q634ec74] -[[WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能:https://www.publickey1.jp/blog/22/webassemblyx86webvmweblinux.html]]