並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 79件

新着順 人気順

wasiの検索結果1 - 40 件 / 79件

  • Wasmで少しだけ手軽にRubyとRubyスクリプトを持ち運ぶ

    やりたいことRuby の環境を作らずに基本的なスクリプトを動作させたい 非エンジニアの環境で 1 ファイルでコマンドを動作させたいというほどの環境の縛りはない簡単に Docker 環境で基本的なコードが動けばよい、程度今回できたことWasm 版 Ruby を Wasm Runtime 上で動かす基本的な Ruby コードと Wasm 版 Ruby を一つの Wasm module にパッケージし、それを Wasm Runtime 上で動かす さらに Wasm module を compile しておいて起動を速くする(Rubyについてはまだまだ課題は多いが)Wasm を使うことで直接実行バイナリを生成できない言語でも JVM + .war 程度の使い勝手である程度のことができることが分かった実験に使ったのは macOS 13.6.7 ( arm64 darwin 22 )Ruby 3.2.

    • WebAssembly は次世代のコンテナ技術になれるか?


       WebAssembly  component model 調  WebAssembly  WebAssembly  Web  JVM version 20xx  JS使JS(wasmtime/wasmer)  WebAssembly VM V8  Spider Monkey  WebAssembly Runtime  Wasmtime  Wasmer  WebAssemb
        WebAssembly は次世代のコンテナ技術になれるか?
      • RustでWasm Runtimeを実装する

        Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。

          RustでWasm Runtimeを実装する
        • Rust、WASI 0.2への対応を表明 ー WebAssemblyの更なる促進に期待

          4月10日、Rust言語はWASI(WebAssembly System Interface)ターゲットを現在の0.1から0.2に切り替えることを発表した。 4月10日、Rust言語はWASI(WebAssembly System Interface)ターゲットを現在の0.1から0.2に切り替えることを発表した。 この更新が行われるのはRust 1.78からで、wasm32-wasip1とwasm32-wasip2の二つの新しいターゲットが導入される。 wasm32-wasip2がWASI 0.2をサポートするターゲット名で、これを指定することでRustから出力されるWebAssemblyコードがWASI 0.2に対応したものとなる。 wasm32-wasip1は、既存のwasm32-wasiターゲットの別名として当面は機能するが、2025年1月5日のRust 1.84で削除される予定であ

            Rust、WASI 0.2への対応を表明 ー WebAssemblyの更なる促進に期待
          • ブラウザでRubyを動かす夢 - まめめも

            何に使うわけでもないけど、とにかくブラウザで Ruby を動かしたかったんです。 その夢が、ついにかなった気がします。 長年の念願だった Emscripten と xterm.js でブラウザで irb を動かすやつがついに(一応)できたhttps://t.co/ubentOzj7p— Yusuke Endoh (@mametter) 2024年1月27日 振り返ってみると、ここに来るまで 6 年もかかったようです。ちょっと嬉しくなったので経緯を書き残します。 Emscripten で Ruby をビルドする 2018 年、ふと思い立って、Emscripten で Ruby をビルドできるようにしました。 Emscripten は、要するに C/C++ プログラムを JavaScript や Wasm に変換してくれるコンパイラです。C で書かれた Ruby を Emscripten でビ

              ブラウザでRubyを動かす夢 - まめめも
            • WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現

              WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現 WebAssembly関連仕様の標準化を行っているW3C WebAssembly Community GroupのWASI Subgroupミーティングにおいて、2024年1月25日に行われた投票で「WASI Preview 2」(もしくはWASI 0.2.0)仕様が承認され、安定版に到達したことが明らかになりました。 WASI Preview 2では、WebAssemblyアプリケーションがOSなどのプラットフォームに依存せず、さまざまなプログラミング言語で開発したWebAssemblyコンポーネントを組み合わせて開発できるように、「コンポーネントモデル」とそのインターフェイスを記述するIDL(Interface Definition Language)であ

                WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現
              • (renamed)

                WASI Preview 2 is also known as WASI 0.2. and I've gotten feedback that that name makes more sense to people, so I've renamed my post accordingly. Here's the new URL for this page

                • RustによるマクロサービスフレームワークSpin入門


                  Advent of Spin 2023SpinSpin TL;DR SpinRust JSONkey-value Hurl使 Spin Spin  HTTP(S)Redis  Wasm WASI preview 2 
                    RustによるマクロサービスフレームワークSpin入門
                  • C#からWebAssembly/WASIバイナリ生成可能に、.NET 8 SDKで実験的実装

                    マイクロソフトは、C#のコードからWASIに対応したWebAssemblyバイナリの生成を.NET 8 SDKで可能にする実験的実装「wasi-experimental」が追加されたと、ブログ「Extending WebAssembly to the Cloud with .NET」で明らかにしました。 WebAssembly System Interface provides a way for WebAssembly code to call and implement arbitrary APIs, safely and across languages. ... and now, you can create WASI apps with #dotNET using the wasi-experimental workload in .NET 8. Learn more. http

                      C#からWebAssembly/WASIバイナリ生成可能に、.NET 8 SDKで実験的実装
                    • WASIのフルスペルを「WebAssembly System Interface」から「WebAssembly Standard Interface」へ変更しようという提案は延期に

                      WASIのフルスペルを「WebAssembly System Interface」から「WebAssembly Standard Interface」へ変更しようという提案は延期に WebAssemblyはもともとWebブラウザ上で高速に実行可能なバイナリフォーマットとして登場しました。高い実行性能やCPUアーキテクチャに依存しないポータビリティ、高度なセキュリティなどの利点を持ちます。 この優れた利点を持つWebAssemblyをWebブラウザ上だけではなく、サーバやデスクトップ環境でも実行可能にしようと2019年4月に登場したのがWASI(WebAssembly System Interface)と呼ばれる技術です。 参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.j

                        WASIのフルスペルを「WebAssembly System Interface」から「WebAssembly Standard Interface」へ変更しようという提案は延期に
                      • wasi-sdk,wit-bindgenとjcoでWebPに対応した画像diff wasm componentを作成する

                        Visual Regression Test をサポートする reg-actions をリリースしたという記事のTODOとして挙げたのだが、reg-viz/reg-cliのwasm化とwebp対応を進めたいと思っていた。 今回はその第一歩として画像diffライブラリのwebp/wasm化対応と、その際に躓いた内容などを記載する。 TL;DR webpをサポートした画像diffライブラリをRustで書き、wit-bindgenとjcoでnode.js,denoから使用できるようにした webpのサポートにはlibwebpを使用した 当初はwasm32-unknown-emscriptenで進めていたがComponent化で問題が発生した wasi-sdkを利用し、wasm32-wasiにtargetを変えることでimportをwasi_snapshot_preview1に揃えることで上記を回

                          wasi-sdk,wit-bindgenとjcoでWebPに対応した画像diff wasm componentを作成する
                        • Wasmtime and Cranelift in 2023

                          It’s that time of year: time to start winding down for the winter holiday season, time to reflect on the past year, and time to think about what we can accomplish together in 2024. The Wasmtime and Cranelift projects are no exception. This article recounts Wasmtime and Cranelift progress in 2023 and explores what we might do in 2024. Wasmtime is a standalone WebAssembly runtime. It is fast, secure

                            Wasmtime and Cranelift in 2023
                          • Introducing Ruvy

                            Opens in a new windowOpens an external siteOpens an external site in a new window We’ve recently open sourced a project called Ruvy! Ruvy is a toolchain that takes Ruby code as input and creates a WebAssembly module that will execute that Ruby code. There are other options for creating Wasm modules from Ruby code. The most common one is ruby.wasm. Ruvy is built on top of ruby.wasm to provide some

                              Introducing Ruvy
                            • 第56回 情報科学若手の会 Wasmを実行するunikernelとWasmコンパイラ

                              第56回 情報科学若手の会で発表したスライドです。

                                第56回 情報科学若手の会 Wasmを実行するunikernelとWasmコンパイラ
                              • NGINX Unit、サーバサイドWebAssemblyにプレビュー対応。Webアプリケーション開発がWebAssemblyで可能に

                                NGINX Unit、サーバサイドWebAssemblyにプレビュー対応。Webアプリケーション開発がWebAssemblyで可能に オープンソースで開発されている軽量なアプリケーションサーバ「NGINX Unit」(エンジンエックス ユニット)が、最新のバージョンである「NGINX Unit 1.31」でサーバサイドWebAssemblyにテクノロジープレビューとして対応し、WebAssemblyランタイムを搭載したことを明らかにしました。 NGINX UnitはこれまでPHPやPython、ruby、Perl、Go言語などに対応し、Webアプリケーション構築が可能でした。今回この対応言語にWebAssemblyが加わったことになります。 Server-side #WebAssembly has immense potential. In a new blog post, @LiamCr

                                  NGINX Unit、サーバサイドWebAssemblyにプレビュー対応。Webアプリケーション開発がWebAssemblyで可能に
                                • WASI support in Go - The Go Programming Language

                                  Johan Brandhorst-Satzkorn, Julien Fabre, Damian Gryski, Evan Phoenix, and Achille Roussel 13 September 2023 Go 1.21 adds a new port targeting the WASI preview 1 syscall API through the new GOOS value wasip1. This port builds on the existing WebAssembly port introduced in Go 1.11. What is WebAssembly? WebAssembly (Wasm) is a binary instruction format originally designed for the web. It represents a

                                    WASI support in Go - The Go Programming Language
                                  • WebAssembly: An Updated Roadmap for Developers

                                    The WebAssembly (Wasm) ecosystem is transforming. Developers can look forward to a modular, virtualizable, and robust environment for building applications, libraries, and services. We are excited to be working towards this with implementations for WASI-Preview 2. This roadmap reflects changes occurring in standards within the WebAssembly Community Group (CG) and the WASI Subgroup within the W3C.

                                      WebAssembly: An Updated Roadmap for Developers
                                    • WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開

                                      WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開 WebAssemblyやWebAssembly System Interface(WASI)の普及と改善を推進するBytecode Allianceは、今後のWebAssembly関連技術のロードマップを明らかにしました。 ロードマップは「Core Wasm」(WebAssembly本体)、「Component Model」(WebAssemblyコンポーネントモデル)、「WASI」の3つに分かれています。 WebAssembly本体には現在実装が勧められているガベージコレクションに加えて今後スレッドの実装予定などが、コンポーネントモデルにはコンポーネントのネーミングとバージョニングなどの実装予定などが、WASIにはWASI CLIやWASI HTTPなどの実装予定など

                                        WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開
                                      • Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ

                                        Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ Googleが中心となってオープンソースで開発されているGo言語の次期バージョン「Go 1.21」では、WebAssembly System Interface(WASI)が実験的にサポートされることが明らかになりました。 これによりGo言語で簡単にファイルアクセスなどOSの主要なAPIを呼び出しつつ、特定のOSに依存しないポータブルな実装のWebAssemblyアプリケーション開発の実現が期待されます。 Go 1.21 Release Candidate 3 is released! Run it in dev! Run it in prod! File bugs! https://t.co/Ul1xGhvlkf Announcement: https://t.co/5Ncs1od

                                          Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ
                                        • 第11回 プラットフォームを超えるWebAssembly | gihyo.jp

                                          本コーナーでは技術へのタッチポイントを増やすことを目標に、各分野で活躍されている方をお迎えします。今回はWebAssemblyです。高速安全に動作する特徴やブラウザでの利用を超えていく将来の展望など、あんどうさんとざっくばらんに紹介します。 【話し手】 あんどうやすし ANDO Yasushi㈱ Cogent Labs所属。おもしろそうなWeb系フロントエンド技術について翻訳したり執筆したり。だけど最近興味があるのはAI倫理。 やはり倫理……! 倫理はすべてを解決する……!! Twitter @technohippy GitHub technohippy WebAssemblyとは 日高: 今回はWasm(WebAssembly)をテーマにお話を伺います。よろしくお願いします。あんどうさんといえば多くの技術書を執筆、翻訳していますよね。 あんどう: 主にオライリー・ジャパンで執筆、翻訳を手

                                            第11回 プラットフォームを超えるWebAssembly | gihyo.jp
                                          • WebAssemblyでBashやCurlが動く、業界標準APIを拡張した「WASIX」を発表 Wasmer

                                            WebAssembly(Wasm)ランタイムを開発するWasmerは2023年5月30日(米国時間)、「WASI」(WebAssembly System Interface)を拡張してPOSIX(Portable Operating System Interface)に対応した「WASIX」を発表した。 WASIXは、WebAssemblyでネットワークやファイル、メモリなどのシステムリソースを抽象化するAPI仕様であるWASIを拡張したものだ。Wasmerは発表の中で、以下のように述べている。 「2019年に発表されたWASIは、Wasmコミュニティーにとって大きな後押しとなったが、改善のペースの遅さが普及を妨げてきた。WASIXはWASIの提案を拡張し、POSIXとの完全な互換性を持つことで、有用で生産的なアプリケーションを構築できる」 WASIXとは一体何なのか 関連記事 C/C++

                                              WebAssemblyでBashやCurlが動く、業界標準APIを拡張した「WASIX」を発表 Wasmer
                                            • GitHub - stealthrocket/net: Go package implementing WASI socket extensions

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - stealthrocket/net: Go package implementing WASI socket extensions
                                              • VSCode for Web、WebAssembly版言語ランタイムやシェルを拡張機能として実験的に実装。Webブラウザローカルでコードやシェルを実行可能に

                                                VSCode for Web、WebAssembly版言語ランタイムやシェルを拡張機能として実験的に実装。Webブラウザローカルでコードやシェルを実行可能に Visual Studio Code(VSCode)をWebブラウザで利用可能にしたVSCode for Webは、ローカルマシンにVSCodeをインストールすることなく、WebブラウザさえあればGitHub上のソースコードなどを編集可能にする便利なサービスです。 ただし、VSCode for WebはWebブラウザ上で実行されているため、コードを実行するにはサーバなど、言語のランタイムがインストールされている別のマシンが必要となります。 この点は、ローカルマシン上のランタイムを用いてコードを実行できる、デスクトップアプリケーションとしてのVSCodeと比べた場合の、VSCode for Webの欠点といえます。 そこでこの欠点を補う

                                                  VSCode for Web、WebAssembly版言語ランタイムやシェルを拡張機能として実験的に実装。Webブラウザローカルでコードやシェルを実行可能に
                                                • WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表

                                                  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ランタイムを用いて直接実行する

                                                    WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表
                                                  • Announcing WASIX · Blog · Wasmer

                                                    Back to articlesAnnouncing WASIXWASIX extends the WASI proposal to build useful and productive applications today with full POSIX compatibility Today we are very excited to launch a new initiative that will start shaping the future of WebAssembly on both the browser and the server. WASI was announced about 4 years ago and was a great push to move the Wasm community forward. It got everyone so exci

                                                      Announcing WASIX · Blog · Wasmer
                                                    • WebAssembly版SQLiteがWASI対応に。VMware Wasm Labsチームが明らかに

                                                      VMware Wasm LabsチームはSQLite開発チームと協力し、WebAssembly SQLiteがWASI対応になったことを明らかにしました。 SQLiteは昨年11月にリリースされたバージョン3.40からWebAssembly版の「SQLite3 WASM/JS」へのコンパイルをサポートし、配布される公式のバイナリにLinux版、Windows版、Mac OS X版、Android版などと共にWebAssembly版の「SQLite3 WASM/JS」が含まれるようになりました。 参考:「SQLite3 WASM/JS」パブリックベータ公開。SQLite 3.40でサポート開始、WebブラウザなどでSQLiteが実行可能に 今回このWebAssembly版SQLiteが、WebAssemblyでクロスプラットフォームを対応するWASI(WebAssembly System I

                                                        WebAssembly版SQLiteがWASI対応に。VMware Wasm Labsチームが明らかに
                                                      • 2023年のWebAssembly と Bytecode Alliance

                                                        TL;DR Bytecode Alliance が毎月配信しているコミュニティミーティングを見て内容のサマリーや関係することについてまとめています。 参照したコミュニティミーティングは、1 月 31 日に実施されたものです。 2023 年に Bytecode Alliance が見据えている次のような WebAssembly の仕様動向について語られています。 ✅ WASI Preview 2 ✅ コンポーネント レジストリ Bytecode Alliance Foundation Bytecode Alliance Foundation は、WebAssembly の仕様の標準化を推進する団体です。 WebAssembly (Wasm) や **WebAssembly System Interface (WASI)**など、W3C 標準に基づくソフトウェア基盤の実装に取り​​組んでいる非

                                                          2023年のWebAssembly と Bytecode Alliance
                                                        • Spin 1.0 — The Developer Tool for Serverless WebAssembly

                                                          We are delighted to introduce Spin 1.0, the first stable release of the open source developer tool for building serverless applications with WebAssembly (Wasm)! Since we first introduced Spin last year, we have been hard at work together with the community on building a frictionless developer experience for building and running serverless applications with Wasm. For this release, we focused on bui

                                                            Spin 1.0 — The Developer Tool for Serverless WebAssembly
                                                          • WebAssemblyでマルチスレッドによる並列処理を可能にする「wasi-threads」仕様の提案、ByteCode Allianceが明らかに

                                                            WebAssemblyにおける業界標準仕様などを推進する団体「ByteCode Alliance」は、WebAssemblyでマルチスレッドによる高速な並列処理を可能にする「wasi-threads」仕様を提案したことを明らかにしました。 W3Cでのマルチスレッド仕様策定は現在フェーズ3 WebAssemblyは、Webブラウザ上で高速に実行可能なバイナリフォーマットとしてW3CのWebAssembly Working Groupで標準化が行われており、現在でも新たな機能追加や性能向上のための議論が行われています。 現時点でWebAssemlbyはシングルスレッド処理のみ可能ですが、W3Cの仕様策定の作業の中にはマルチスレッドを実現する「threads」の議論が進められており、フェーズ1のFeature Proposal(機能提案)、フェーズ2のProposed Spec Text Ava

                                                              WebAssemblyでマルチスレッドによる並列処理を可能にする「wasi-threads」仕様の提案、ByteCode Allianceが明らかに
                                                            • Announcing wasi-threads

                                                              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

                                                                Announcing wasi-threads
                                                              • コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく

                                                                コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく コンテナランタイムの事実上の標準となっているcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が昨年(2022年)12月に統合されていたことが分かりました。 これによりcontanerdはWebAssemblyランタイムとしてWasmtimeとWasmEdgeを正式にサポートし、containerdの管理下でこれらのランタイムを用いてWebAssemblyバイナリの実行が可能になる見通しです。 将来のcontainerdのリリースでこれらの機能が正式版として登場すると見られます。 containerdでWasmEdgeが正式サポート 先月、1月31日にWebAsse

                                                                  コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
                                                                • WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ

                                                                  WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ Webブラウザ上で高速に実行可能なバイナリフォーマットとして開発されたWebAssemblyは、その後Webブラウザ以外の環境でも実行可能にするため、ファイルシステムなどOSごとに異なるAPIを抽象化するための業界標準仕様「WebAssembly System Interface」(WASI)が策定されました。 WASIの登場により、WebAssemblyはWebブラウザでもWindowsやMacでも、Dockerコンテナでも共通のバイナリで実行可能なバイナリフォーマットへと進化したのです。 参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけ

                                                                    WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ
                                                                  • Linuxコンテナの「次」としてのWebAssembly、の解説

                                                                    はじめに 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++のコードなどを実行するところから始まっている

                                                                      Linuxコンテナの「次」としてのWebAssembly、の解説
                                                                    • WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース

                                                                      Ruby開発チームは、2022年12月25日にRuby 3.2.0の正式リリースを発表しました。Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっています。 WebブラウザでRubyコードをそのまま実行可能に 新バージョンであるRuby 3.2.0の最大の新機能は、WASIベースのWebAssembly版Rubyが登場したことです。 これによりWASIをサポートしたWebAssemblyの実行環境、例えばWebブラウザやNode.js、DenoなどのサーバサイドJavaScriptランタイム、Cloudflare WorkersやFastly Compute@Edgeなどのクラウドエッジ環境で、WebAssembly版のRubyを実行できるようになりました。 これらの環境でWebAssemblyの上でRubyランタイムを実行すると、Rubyで書かれたコードをそのまま走ら

                                                                        WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース
                                                                      • WebAssembly対応でRubyは何が出来るようになったのか?

                                                                        はじめに Ruby 3.2よりWASIベースのWebAssemblyサポートされました。 これによってRubyをブラウザ上で実行できるようになるわけですが、実はWASMはブラウザの外での動作も可能になっており、OSに依存しないライブラリを作ったり、Edge Computingで実行させたり、シングルバイナリの実行可能ファイルにしたりと色々な事が出来るようになります。 今回はRubyのWASM対応でどんなことが出来るようになったかをまとめたいと思います。 WebAssemblyとは? WASMに関して少しおさらいをしておきましょう。 WebAssemblyは仮想命令セットアーキテクチャです。WASMとも言います。RustやCをはじめとした多くの言語からコンパイルする事が出来、Webブラウザの中で高速にそしてセキュアに処理を実行するための仕組みとして登場しました。 元々ブラウザ向けに登場した仕

                                                                          WebAssembly対応でRubyは何が出来るようになったのか?
                                                                        • Goodbye to the C++ Implementation of Zig ⚡ Zig Programming Language

                                                                          Goodbye to the C++ Implementation of ZigHow we used WebAssembly to annihilate 80,000 lines of legacy codeAuthor: Andrew Kelley It’s funny - I have shared this story a handful of times with friends of mine who are qualified, competent software engineers, and each time the response was confusion about why any of this would be necessary or even remotely helpful. WebAssembly?! After ten minutes of puz

                                                                          • Ruby 3.2.0 RC 1 リリース

                                                                            Posted by naruse on 6 Dec 2022 Ruby 3.2.0 Release Candidate 1 が公開されました。Ruby 3.2では多くの機能を追加しています。 WASIベースのWebAssemblyサポート WASIベースのWebAssemblyへのコンパイルがサポートされました。これにより、ブラウザやサーバーレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになります。現在この移植版はThread API以外のbasic testとbootstrap testをパスしています。 Background もともとWebAssembly (Wasm)が導入されたのは、プログラムをブラウザの上で安全かつ高速に実行するためでした。しかし、様々な環境で安全かつ効率的にプログラムを実行するという目的は、Webだけでなく一般

                                                                            • Wasmはなぜセキュアなのか?

                                                                              Wasmはなぜセキュアなのか? 前回Wasmのバイナリを読んでみたが、実行時にどのようにセキュアに実行しているのか気になったので調べてみた。 とりあえず今回も公式ドキュメントを見ながら整理しつつ、実際のコードも無理なく辿れそうなところはwasmerの実装を参考に見ていきたいと思う。 Wasmの目指すセキュリティ とりあえず公式の記載を脳死で読解していく。 The security model of WebAssembly has two important goals: (1) protect users from buggy or malicious modules, and (2) provide developers with useful primitives and mitigations for developing safe applications, within the

                                                                                Wasmはなぜセキュアなのか?
                                                                              • Announcing Wasmer 3.0 · Blog · Wasmer

                                                                                Today we are very excited to launch Wasmer 3.0, following three months of work since our first alpha. So, what’s new in Wasmer? wasmer is now able to run WAPM packages directly via wasmer run Better API and memory management We have simplified the way engines work. Now, only one engine is needed (although the engine might use different artifacts to load/store code) Zero-copy deserialization of art

                                                                                • Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題

                                                                                  プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。前半は、なぜWebAssembly対応をするのか、そのモチベーションと経緯について。 登壇者の自己紹介とアジェンダ紹介 齋藤優太氏(以下、齋藤):いやぁ~、緊張しますね(笑)。みなさんおはようございます。 会場:おはようございます。 齋藤:「Ruby meets WebAssembly」ということで、今日は最近少し話題になっているRubyとWebAssemblyの話をしようと思います。よろしくお願いします。 (会場拍手) RubyがWebAssembly上で動くようにな

                                                                                    Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題