Rubyでブラウザの外でwebassemblyを使い始める
5811 ワード
良い質問はなぜブラウザの外でwebassemblyに尋ねるでしょう.私も知っている.インターネット上で検索して、私は多くの記事は、そのユーティリティについて話しているが、再開、セキュリティ、速度、移植性を発見した. セキュリティは、“ホスト”の両方のブラウザからアウトに直接アクセスしていないため、それから. その低レベルで速度 システムの不可知性による移植性 簡単に言えば、以下のユースケースがあります. 無力な ブロックチェーン:Ethereum 2.0
IOT ゲーム 免責事項:このブログでは、Wasbassemblyについてのコアを省略するだけで簡単にして、直接“テーマを開始”を構築するために直接.ブログの終わりに、私は更なる学習のために良い説明がある多くの関連を提供します.
webassemblyとは
webassembly公式サイト定義として:
この定義は以下のように簡単にできます:
明らかに、それはあまりに平らです、しかし、それは現在十分です.
その定義は少し悪かったです、webassemblyはブラウザで動くだけでなく、ノードのような実行時に実行できます.良いパフォーマンスとセキュリティを提供するJS.
何
ブラウザからwebassembleコードを実行するには、ランタイムと呼ばれるランタイムが必要です
何
The
インストール
コンパイル
プロジェクトは公式に維持する
The
走る
単純な錆Hello Worldを実行するには、次のように実行します.
あなたは、あなた自身で
この小さなブログが始まったばかりで、私は概念に深くはありません、しかし、私はより多くを学ぶために内容から源を提供します.
私はそれを読んだfree course Linux財団で利用可能なEDXで.これは無料コースですので、そこに行って、それを取るともっと学ぶ.
読書のおかげで、私はあなたがそれを好き願っています.どちらかのようなコメント、私を修正したり、ちょうど私は、あまりにも好きになると思います.
便利なリンク https://docs.wasmtime.dev/lang-rust.html https://github.com/bytecodealliance/wasmtime/tree/main/docs https://www.edx.org/course/introduction-to-webassembly-runtime https://wasmtime.dev/ https://wasi.dev/ https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ https://www.smashingmagazine.com/2019/08/beyond-browser-serverless-webassembly/ https://www.infoworld.com/article/3453716/bytecode-alliance-focuses-on-webassembly-outside-the-browser.html https://icwe2020.webengineering.org/wp-content/uploads/2020/06/ICWE2020_keynote-David_Bryant.pdf https://github.com/ewasm
webassemblyとは
webassembly公式サイト定義として:
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
この定義は以下のように簡単にできます:
A binary code what can be run in the browser with high performance.
明らかに、それはあまりに平らです、しかし、それは現在十分です.
その定義は少し悪かったです、webassemblyはブラウザで動くだけでなく、ノードのような実行時に実行できます.良いパフォーマンスとセキュリティを提供するJS.
何
wasmtime
?ブラウザからwebassembleコードを実行するには、ランタイムと呼ばれるランタイムが必要です
wasmtime
. The wasmtime
からのプロジェクトですBytecode Alliance コマンドラインユーティリティまたは別のプロジェクトのlibとしてwebassemblyを実行します.理論的には、WebAssembly
これは、システムからの“ホスト”とAPIへのアクセスを持っていない、それはどこですWASI
出なさい.何
WASI
?The
WASI
webassemblyシステムインターフェースを表し、webassemblyのための共通のシステムレベルです.インストール
wasmtime
LinuxディストリビューションとMacOSでは、このコマンドを実行して、手順に従ってインストールを行ってください.curl <https://wasmtime.dev/install.sh> -sSf | bash
コンパイル
プロジェクトは公式に維持する
WASI
C/C++とRustの場合.ここでは、どのように動作を実証するために錆を使用します.最初に我々はwasm32-wasi
私たちの錆コードをWASM
を実行し、wasmtime
rustup target add wasm32-wasi
すべてが大丈夫なら、あなたは現在、ターゲットにRustプロジェクトをコンパイルすることができますwasm32-wasi
cargo build --target wasm32-wasi
コンパイル済みモジュールはtarget/wasm32-wasi/debug
あなたが定義した名前で.The
WASI
APIは完全に現在動作していませんが、それは時間の問題です.走る
単純な錆Hello Worldを実行するには、次のように実行します.
wasmtime run target/wasm32-wasi/debug/program.wasm
なしでrun
wasmtime target/wasm32-wasi/debug/program.wasm
実行中のプロセスはsandbox
のwasmtime
アクセスディレクトリのアクセス許可と同様です.あなたは、あなた自身で
wasmtime
repository またはdocumentation この小さなブログが始まったばかりで、私は概念に深くはありません、しかし、私はより多くを学ぶために内容から源を提供します.
私はそれを読んだfree course Linux財団で利用可能なEDXで.これは無料コースですので、そこに行って、それを取るともっと学ぶ.
読書のおかげで、私はあなたがそれを好き願っています.どちらかのようなコメント、私を修正したり、ちょうど私は、あまりにも好きになると思います.
便利なリンク
Reference
この問題について(Rubyでブラウザの外でwebassemblyを使い始める), 我々は、より多くの情報をここで見つけました https://dev.to/henrybarreto/getting-started-with-webassembly-outside-a-browser-with-rust-19a0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol