並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

wasiの検索結果1 - 24 件 / 24件

  • 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を実装する
      • 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や言語に依存しないコンポーネントモデルを実現
        • 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がロードマップを公開
          • ブラウザで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を動かす夢 - まめめも
            • RustによるマクロサービスフレームワークSpin入門

              この記事はAdvent of Spin 2023というオンラインチャレンジに参加した結果してSpinに入門した結果のまとめとなっています。学んだことのまとめですが、Spin入門としても利用いただけるかなとも思っています。 TL;DR マクロサービスフレームワークのSpinをつかって、Rustでマイクロサービスを作ります。 JSONのやり取りや、key-valueストアの利用、ルーティングがカバーされています。 Hurlというツールを使ってテストファースト開発します。 Spinとは? Spinとはマイクロサービスを作成するためのフレームワークで次の特徴があります。 イベント駆動型のフレームワーク HTTP(S)とRedisにデフォルトで対応 いくつかのストレージに標準で対応 イベントハンドラーはWasmコンポーネントとして実装される WASI preview 2に対応 開発元が配布しているコ

                RustによるマクロサービスフレームワークSpin入門
              • 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で可能に
                • 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
                  • 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)の実験的サポートへ
                    • 第56回 情報科学若手の会 Wasmを実行するunikernelとWasmコンパイラ

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

                        第56回 情報科学若手の会 Wasmを実行するunikernelとWasmコンパイラ
                      • 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
                        • (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

                          • 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」へ変更しようという提案は延期に
                              • 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の更なる促進に期待
                                • 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: 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
                                    • 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
                                      • 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を作成する
                                        • Fermyon Spin 2.0 Adds Support for WebAssembly Components and WASI Preview 2

                                          InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example

                                            Fermyon Spin 2.0 Adds Support for WebAssembly Components and WASI Preview 2
                                          • Runno

                                            A passion project by Ben Taylor (@taybenlor@aus.social). The source is available on GitHub. Shoot me an email if you want to chat about Runno (runno@taybenlor.com).

                                              Runno
                                            • GitHub - mewz-project/mewz: A unikernel designed specifically for running Wasm applications and compatible with WASI

                                              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 - mewz-project/mewz: A unikernel designed specifically for running Wasm applications and compatible with WASI
                                              • wasm環境で動くmrubyを作りたかった... 話 - ローファイ日記

                                                mrubyファミリー Advent Calendar 2023 24日目の記事です.............................. qiita.com wasm環境で動くmrubyを作っているのでその途中経過をダラダラ書きます。 本当は.............. 今の時点である程度まともに動かしたり、情報も整理したかったんですね。で、一昨日〜昨日と夜に時間があったはずなのですが、その日程で存在した会社の全社集会後に無限に飲み明かしてしまい、その時間と体力が.......。 なので生活の状況をシェアします。 mruby/edge (仮) を作りたかった話 すごく昔、WASM CRubyの発表があった時に、「必要な機能だけを取捨選択できるmrubyの方が向いてたりしませんか?」という質問をした覚えがあります(全てがうろ覚え)。その時は、それでも利用者が多い方のランタイムでやりたい

                                                  wasm環境で動くmrubyを作りたかった... 話 - ローファイ日記
                                                • Changes to Rust's WASI targets | Rust Blog

                                                  WASI 0.2 was recently stabilized, and Rust has begun implementing first-class support for it in the form of a dedicated new target. Rust 1.78 will introduce new wasm32-wasip1 (tier 2) and wasm32-wasip2 (tier 3) targets. wasm32-wasip1 is an effective rename of the existing wasm32-wasi target, freeing the target name up for an eventual WASI 1.0 release. Starting Rust 1.78 (May 2nd, 2024), users of W

                                                    Changes to Rust's WASI targets | Rust Blog
                                                  1