見出し画像

webassembly


webassembly
WebAssemblyが気になるので調べてみた

第1
WebAssemblyが気になるので調べてみた

第2
C/C++であればEmscripten

Copilot
Emscriptenは、CおよびC++のソースコードをWebAssembly(または、WebAssemblyが登場するまでのasm.jsとして知られるJavaScriptのサブセット)にコンパイルするLLVM/Clangベースのコンパイラです。主にウェブブラウザ上で実行することを目的としています。Emscriptenを利用することで、CまたはC++で書かれたアプリケーションやライブラリを事前コンパイルして、ウェブブラウザ上で効率的に、特に動的にコンパイルされたあるいはインタプリタ実行されたJavaScriptと同等か、より速いスピードで実行することが可能になります1。

Emscriptenは、Unreal Engine 3、SQLite、MeshLab、Bullet physics、AutoCAD、Qtアプリケーションフレームワークのサブセットなど、多くの有名なプロジェクトでWebAssemblyに移植するために広く利用されています1。また、WebAssembly System Interface(WASI)の開発成果物とNode.js、Wasmtime、WasmerなどのWebAssemblyランタイムと組み合わせると、非Web環境で実行するためのWebAssembly埋め込み用にコンパイルすることもできます1。

詳細や使用方法については、Emscriptenの公式サイトやドキュメントを参照すると良いでしょう。Emscriptenの公式サイトには、インストール方法やサンプルコード、チュートリアルなどが豊富に用意されています
第3
Rustであればwasm-pack

第4
goであればビルトインのコンパイラなどを使用します。
assemblyscriptを使用

第5 typescript
assemblyscript使用
Copilot
AssemblyScriptは、TypeScriptのような構文を持つWebAssembly向けの言語です。WebAssemblyの機能セットを特定にターゲットとしており、開発者にコードの低レベルな制御を提供します。TypeScriptとの類似性により、新しい言語を学ぶことなくWebAssemblyにコンパイルできます。既存のWebエコシステムと統合されており、重いツールチェーンのセットアップは不要です。単にnpm installで利用できます。AssemblyScriptはApache License、Version 2.0でリリースされた無料でオープンソースのソフトウェアであり、BinaryenをベースにWebAssembly仕様に基づいています。1

AssemblyScriptは、以下の素晴らしい人々によって提供されています:

Contributors
なぜAssemblyScriptを選ぶのでしょうか?

Surma氏は、「新しい言語を学ばずにWebAssemblyを書くことができ、WebAssemblyが提供するすべての利点を活用できる。AssemblyScriptは完全に使えて、非常に楽しい!」と述べています。
Alon Zakai氏は、「AssemblyScriptはWebAssemblyとコードサイズを考慮して設計されています。新しい目的のために既存の言語を使用しているのではなく、WebAssembly向けに設計された言語です。wasm-optとの統合が素晴らしく、実際にはそれで構築されており、良いコードサイズを簡単に得ることができます。」と述べています。
Peter Salomonsen氏は、「AssemblyScriptは高レベルの読みやすさと低レベルの制御を兼ね備えています。高レベルの言語のような感覚を持ちつつ、低レベルの感覚も得られ、必要に応じて直接WebAssemblyの命令を書くこともできます。」と述べています。1
AssemblyScriptは、TypeScriptの構文を活用してWebAssemblyを効率的に記述できる素晴らしいツールです。1
TypeScriptでWebAssemblyを開発できるAssemblyScriptを試してみた

第6結論
あ)個人的にはなにもわからない

以上

いいなと思ったら応援しよう!