並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 650件

新着順 人気順

WebAssemblyの検索結果41 - 80 件 / 650件

  • WebAssembly の過去・現在・未来 - Qiita

    はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

      WebAssembly の過去・現在・未来 - Qiita
    • RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO

      Rustはじめました Rustイイですよね。Cと同程度のパフォーマンスで動作して、メモリリークを防止し、マルチスレッドも安全に記述できます。GC(ガベージコレクション)処理よりも高速にメモリーを開放します。今まで、より高速に動くプログラミング言語を求めるとC/C++等が必要になり、安全面で気をつけないところが増えてしまって手が出しづらく、一方で、Javaなどの安全面が確保された言語や、JavaScriptやPythonなどのスクリプトで記述できる言語は、nullやundefinedなどを気をつける必要があり、更に実行速度を上げるには課題がありました。(Javaは十分速いと思います) Rustは、C/C++と同程度のパフォーマンス(強い)を持ちつつ、型やメモリやスレッドに関する安全面を備えているため、今後、OSやミドルウェアの開発に使われることが増えるのではと思っています。一方で、JavaS

        RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO
      • Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として

        Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として Google Chromeの開発チームは、すでに非推奨となっているWeb標準のWeb SQL Database APIをChromeから削除、その代替機能としてSQLite開発チームと協力してWebAssembly版のSQLiteを開発し、提供する予定であることを明らかにしました。 Chrome is deprecating and eventually removing Web SQL! Read @tomayac’s post that details all the steps for getting there. [We are here] Chrome 105 shows a deprecation w

          Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として
        • オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に

          オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に VMware Wasm Labsは、Node.jsやDenoのようにWebAssemblyやJavaScriptで記述したWorkerをサーバサイドでイベントドリブンに実行できる「Wasm Workers Server」のバージョン1.0をリリースしました。 Wasm Workers Server v1.0.0 is out. We are happy to announce the support for Python, Ruby and more languages in the future! From now on, you can create worker-based se

            オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に
          • MoonBit が WebAssembly 時代の理想(の原型)だった

            最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

              MoonBit が WebAssembly 時代の理想(の原型)だった
            • WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly JavaScript Interface 」の3つ

              W3Cの WebAssembly Working Groupは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマット「WebAssembly」の仕様が勧告に到達したことを発表しました。 今回勧告になったのは、WebAssemblyに関連する3つの仕様です。 1つ目はWebAssemblyのバイナリファイルを実行する仮想マシンの仕様を定義した「WebAssembly Core Specification」。これは一般的なマイクロプロセッサの動作を模倣するような作りにすることで、WebAssemblyのバイナリファイルでプロセッサのネイティブコードに近い実行速度を実現するようになっています。 2つ目の「WebAssembly Web API」は、さまざまなプラットフォームでWebAssemblyを利用可能にするため、WebAssemblyバイナリファイルのシリ

                WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly JavaScript Interface 」の3つ
              • Web 以外でも期待される WebAssembly - Blockchain との親和性について

                はじめに こんにちは。Blockchain Lab の高瀬(loloicci)です。 先日 gihyo.jp にて『Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界』 で取り上げて頂いたとおり、LINE Blockchain では WebAssembly (WASM) 形式のスマートコントラクトを実行する機能を開発しています。 WebAssembly は名前の通り Web で使用することを想定して開発され始めた言語ですが、いくつかの特長から Web 以外の様々な分野からも注目を集めています。 また、Blockchain におけるスマートコントラクトも WebAssembly に注目している分野の一つです。 この記事ではブロックチェーンにおけるスマートコントラクトの紹介と、スマートコントラクト分野がなぜ WebAssembly を注目しているの

                  Web 以外でも期待される WebAssembly - Blockchain との親和性について
                • WebAssemblyでサーバレスアプリケーションを開発するフレームワーク「Spin」がバージョン1.0に到達

                  WebAssemblyに特化したスタートアップFermyonは、WebAssemblyでサーバレスアプリケーションを開発するためのフレームワーク「Spin」がバージョン1.0に到達したことを発表しました。 Introducing Spin 1.0 The open source developer tool supports programming languages such as #Rust #Go #JavaScript #TypeScript #Python C# along with features such as database connectivity, built-in key/value store and more. Learn about #Spin 1.0 https://t.co/vsb419mdHu — Fermyon (@fermyontech) Marc

                    WebAssemblyでサーバレスアプリケーションを開発するフレームワーク「Spin」がバージョン1.0に到達
                  • より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド

                    より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド 昨年(2023年)12月にリリースされた「Ruby 3.2」では、WebAssemblyによって実装されたRubyランタイム「Ruby.wasm」が正式版となりました。これによりWebブラウザや単体のWebAssemblyランタイムの上でRubyランタイムを実行し、Rubyプログラムを実行できるようになりました。 このRuby.wasmをベースに、さらに高速なRubyのWebAssembly実装となる「Ruvy」が、Shopifyからオープンソースとして公開されました。 Calling all #Ruby developers! Explore a new tool for leveraging Ruby to create #WebAs

                      より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド
                    • WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly 2022

                      メールマガジン「WebAssembly Weekly」を発行しているScott Logicは、WebAssemblyの利用状況などに関する調査報告として「The State of WebAssembly 2022」を公開しました。 回答者はWebAssembly関連の技術者299人。 言語はRustがトップ、Blazorの利用が急上昇 WebAssemblyはソースコードをコンパイルしてバイナリに変換することで生成されますが、そのソースコードを記述するプログラミング言語としてもっとも利用されているのはRustで、昨年よりもさらに他のプログラミング言語と差を広げてトップを走っています。 2位がC++、マイクロソフトのBlazorが急上昇して3位になったのは注目ですね。 サーバレスとプラグインでの利用が上昇 WebAssemblyをどのようなアプリケーションで用いているか。トップはWebアプリ

                        WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly 2022
                      • サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる

                        サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる スタンドアロンのWebAssemblyランタイム「Wasmer」の開発元であるWasmer.ioは、サーバサイドのWebAssemblyフレームワークとして、かつて動的なWebサイトを構築する技術として主流だったCGI(Common Gateway Interface」の仕組みを取り込んだ「WCGI」を発表しました。 Today we are incredibly excited to announce WCGI. WCGI allows running any CGI app with WebAssembly and Wasmer! (...we got Wordpress running! ) Check it out

                          サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる
                        • WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース

                          WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース Webブラウザ上で実行可能なWebAssembly製JavaVM 前バージョンのCheerpJは、Javaのバイトコードを事前コンパイルによりJavaScriptコードに変換することで、Webブラウザ上でJavaアプリケーションを実行可能にするコンパイラを中心とするツール群でした。 今回の新バージョン「CheerpJ 3.0」では、WebAssemblyによってOpenJDKのJavaランタイムを完全に実装したと説明されています。これにより、JITコンパイラなどを含むJavaVMの機能をWebブラウザ上で実行できるようになりました。 Javaアプリケーションのソースコードは不要で、ビルド済みのJarファイルをそのままWebブラウザで実行

                            WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース
                          • GitHub - ffmpegwasm/ffmpeg.wasm: FFmpeg for browser, powered by WebAssembly

                            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 - ffmpegwasm/ffmpeg.wasm: FFmpeg for browser, powered by WebAssembly
                            • WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社

                              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hands-on WebAssembly: Try the basics — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2020/08/25 著者: Polina Gurtovaya、Andy Barnov サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語タイトルは内容に即したものにしました。画像はすべて元記事からの引用です。 Web開発の一般的な知識のみを前提とするシンプルなハンズオンチュートリアルで、WebAssembly(Wasm)を始めてみましょう。実行可能なコード例を用いてWasmを味わうのに必要なものは「コー

                                WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社
                              • WebAssemblyの現状と展望 ~言語ツールチェインからWASIまで~

                                Infra Study 2nd #4「セキュリティエンジニアリングの世界」 https://forkwell.connpass.com/event/219136/

                                  WebAssemblyの現状と展望 ~言語ツールチェインからWASIまで~
                                • クラウドネイティブなデータ可視化ツール「Grafana」で、なぜかWebAssembly化したDoomがプレイ可能に。開発元が社内ハッカソンで実現

                                  クラウドネイティブなデータ可視化ツール「Grafana」で、なぜかWebAssembly化したDoomがプレイ可能に。開発元が社内ハッカソンで実現 クラウド上で実行される多様なソフトウェアのログやメトリクスを受け取り、運用管理のためのダッシュボード上で可視化するツールとして定番のソフトウェアが「Grafana」です。 このGrafanaの開発元であるGrafana Labsは、Grafanaのダッシュボード画面上で一人称ゲームの古典とも言えるDoomをプレイ可能にするソフトウェア「Grafana Doom」をオープンソースで公開しました。 Can it run Doom? To mark the 25th DOOMiversary of #Doom64, you can now play Doom on Grafana thanks to time series panels and th

                                    クラウドネイティブなデータ可視化ツール「Grafana」で、なぜかWebAssembly化したDoomがプレイ可能に。開発元が社内ハッカソンで実現
                                  • TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表

                                    TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表 WebAssemblyの普及と発展を目的とするByteCode Allianceは、TypeScriptのコードをコンパイルしてWebAssemblyバイナリを生成できるようにすることを目指すスペシャルインタレストグループ「TypeScript Compilation SIG」を発表しました。 WebAssemblyの仕様策定はW3Cが行っており、ByteCode AllianceはそのWebAssemblyを基盤として、クロスプラットフォーム対応を実現するAPI群のWASI(WebAssembly System Interface)やコンポーネントモデル、ガベージコレクション対応などの拡張、およびそれらの事実

                                      TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表
                                    • Wasm Labsが「Wasm Worker Server」をオープンソースで公開。Node.jsやDenoのようにWebAssemblyのWorkerをイベントドリブンに実行

                                      Wasm Labsが「Wasm Workers Server」をオープンソースで公開。Node.jsやDenoのようにWebAssemblyのWorkerをイベントドリブンに実行 VMware Wasm Labsは、WebAssemblyのWorkerをNode.jsやDenoのようにサーバサイドでイベントドリブンに実行できる「Wasm Workers Server」をオープンソースで公開しました。 インストールも簡単で、わずか5分で使い始められると説明しています。 Today, we are excited to announce Wasm Workers Server, a self-contained server to run your workers in #WebAssembly. It assigns an HTTP endpoint to wasm modules base

                                        Wasm Labsが「Wasm Worker Server」をオープンソースで公開。Node.jsやDenoのようにWebAssemblyのWorkerをイベントドリブンに実行
                                      • 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が発表
                                        • WebAssemblyがSIMDをサポート、「WebAssembly SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行 - Publickey

                                          WebAssemblyがSIMDをサポート、「WebAssembly SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行 ChromeなどのWebブラウザに搭載されているJavaScriptエンジン「V8」の開発チームは、WebAssemblyでSIMD命令をサポートする「WebAssembly SIMD」を来月、2021年5月にリリース予定のChrome 91からデフォルトで利用可能にすることを明らかにしました。 Firefoxでもx86版、x86-46版においてはすでにフラグを設定することでWebAssembly SIMDが利用可能になっており、Node.jsでもフラグの設定で利用可能になっています。 これによりWebAssemblyで画像処理などが高速に実行できるようになることが期待されます。 WebAssembly SIMD will be ship

                                            WebAssemblyがSIMDをサポート、「WebAssembly SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行 - Publickey
                                          • WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023

                                            回答者はWebAssembly関連の技術者303人。 最も使われているのはRust、2位のJavaScriptの使われ方とは? WebAssemblyのアプリケーションのコードを記述するプログラミング言語として何を使っているかを尋ねた質問への回答では、3年連続でRustがトップ。しかも利用率は上昇中です。 2位に入ったのがJavaScriptです。WebAssemblyバイナリはソースコードをコンパイルしてバイナリに変換することで生成されますが、JavaScriptはWebAssemblyへのコンパイルに対応していません。 WebAssemblyアプリケーションのコードとしてJavaScriptを使う方法は、WebAssemblyで構築されたJavaScriptエンジンをWebAssemblyランタイム上で実行し、そこでJavaScriptコードを走らせることです。 この方法ではWebAs

                                              WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023
                                            • Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作

                                                Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作
                                              • ブロックチェーンで使われるWebAssembly Runtime

                                                はじめに こんにちは。Blockchain Labの高橋です。 以前、同じくBlockchain Labに所属している高瀬がスマートコントラクトとWebAssemblyの親和性について記事を公開しました (Web 以外でも期待される WebAssembly – Blockchain との親和性について)。 その中でも少し述べられていたようにWebAssembly Runtime を組み込んで VM として使用し、WebAssembly 形式でのスマートコントラクトをサポートするブロックチェーンが登場しつつあります。 そこで、今回は WebAssembly 形式でのスマートコントラクトをサポートしているブロックチェーンがどのような WebAssembly Runtime を VM に組み込んでいるのかを紹介します。 標準化の取り組み - WASI - ブロックチェーンで使われている WebA

                                                  ブロックチェーンで使われるWebAssembly Runtime
                                                • WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG

                                                  はじめまして。R&Dチーム所属、20.5卒の伊藤です。 普段の業務では自然言語処理と格闘していることが多いです。 今回は自然言語処理モデルとして有名なBERTをWebAssemblyを使用してフロントエンドで動かしてみた話になります。 最近、自然言語処理ライブラリとして普段お世話になっているHugging Face社のTransformersのTokenizerがRustで実装されていることを知り、それならばWebAssemblyにコンパイルして動かせるのではないかと試したみたのがきっかけです。 Tokenizerのみ動かしても実用性に乏しいため、Tokenizerから得られた結果からBERTを用いた推論をブラウザで動作させるまでを行い、備忘録がでら手順をまとめました。 どなたかの参考になれば幸いです。 8/26追記 本記事内のコードを含むリポジトリを公開しました!Dockerを使用してブ

                                                    WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG
                                                  • WebVM - Linux virtualization in WebAssembly

                                                    __ __ _ __ ____ __ \ \ / /__| |_\ \ / / \/ | \ \/\/ / -_) '_ \ V /| |\/| | \_/\_/\___|_.__/\_/ |_| |_|

                                                      WebVM - Linux virtualization in WebAssembly
                                                    • TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog

                                                      みなさん、WebAssembly聞いたことありますよね? スマートキャンプでエンジニアをしている瀧川です。 私が初めてWebAssemblyを目にしたのは確か2018年、VimをWebAssemblyに移植してブラウザで動くようにしたという記事だったかなと思います。 https://github.com/rhysd/vim.wasm 当時は「はー、なんだか未来を感じるけど、どう使われてくんだろう」くらいな認識で、最近までほとんど注目していませんでした。 しかし、少し前にffmpeg.wasmについての記事がバズっているのを見かけたときビビっときましたね。 ブラウザ上でffmpegが動かせるのはWebアプリケーションを作る上で可能性が広がりますし、何よりWebAssemblyのポテンシャルが活かされていると感じました。 そこで今回、WebAssemblyの世界観を味わうために、代表的なWeb

                                                        TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog
                                                      • サーバサイドを含むWordPressのフルスタックをWebAssembly化した「In-Browser WordPress」、WordPressのコア開発チームとGoogle Chromeの開発チームが紹介

                                                        PHPやSQLiteなどのサーバサイドを含むWordPressのバックエンドをWebAssembly化し、WordPressのフルスタックをWebブラウザ上で実行する「In-Browser WordPress」が、「WordPress Playground」で公開されています。 これは昨年(2022年)9月にWordPressのコア開発チームが開発中であることを明らかにし、今年1月頃にWordPress Playgroundで公開が始まった、サーバサイドを含むWordPressの試験的なフルスタック実装です。 参考:WordPressのコア開発チーム、WordPressをWebブラウザで実行する「Client-side WebAssembly WordPress」を開発中 「WordPress Playground」でアクセスすると、Webブラウザ上で「In-Browser WordPre

                                                          サーバサイドを含むWordPressのフルスタックをWebAssembly化した「In-Browser WordPress」、WordPressのコア開発チームとGoogle Chromeの開発チームが紹介
                                                        • Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】

                                                            Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】
                                                          • Virtiofs正式採用でMacのファイルアクセスが高速化、Docker Desktop 4.15リリース。WebAssemblyアプリをcontainerd配下で管理可能に

                                                            Virtiofs正式採用でMacのファイルアクセスが高速化、Docker Desktop 4.15リリース。WebAssemblyアプリをcontainerd配下で管理可能に WindowsやMacなどのローカル環境に簡単にDockerコンテナを用いた開発環境を導入できるDocker Desktopの最新版「Docker Desktop 4.15」正式版がリリースされました。 #VirtioFS GA, adminless install during first run (!!), quick search, and more! Learn more about everything new in #DockerDestkop 4.15: https://t.co/IhTA0DcCqO pic.twitter.com/VWClpJ7vJU — Docker (@Docker) Decem

                                                              Virtiofs正式採用でMacのファイルアクセスが高速化、Docker Desktop 4.15リリース。WebAssemblyアプリをcontainerd配下で管理可能に
                                                            • 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ランタイム「Wasmtime」がバージョン1.0に到達、本番利用に対応。Bytecode Allianceによる事実上の参照実装

                                                                Bytecode Allianceがオープンソースで開発しているWebAssemblyランタイム「Wasmtime」がバージョン1.0に到達し、本番利用にも対応した正式版としてリリースされました。 Bytecode AllianceはWebAssemblyの標準化を推進する団体であり、同団体が標準化を進めているWASI(WebAssembly System Interface)は、WebAssemblyにファイルやネットワーク、メモリなどのシステムリソースへ安全にアクセス可能にするAPIの標準仕様です。 WASIは、WebAssemblyアプリケーションからOSのAPIを抽象化することになるため、WASI対応のWebAssemblyアプリケーションは基本的にOSに依存せずに実行可能なアプリケーションとなります。 WasmtimeはこのWASIを策定しているBytecode Alliance

                                                                  WebAssemblyランタイム「Wasmtime」がバージョン1.0に到達、本番利用に対応。Bytecode Allianceによる事実上の参照実装
                                                                • VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

                                                                  VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。 The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitt

                                                                    VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に
                                                                  • なぜ WebAssembly 生成を Go にしたのか

                                                                    オンラインイベントで聞かれて、ツイッターにつぶやいたら思った以上に反響があったので、もう少し詳細に書いてみます。 思ったより反響があったまとめ信頼できる暗号ライブラリがある自分が TypeScript より Go のほうが書けるGo の Wasm バイナリサイズを気にする必要がないWebCrypto にない暗号が必要自社の WebRTC SFU において End to End Encryption (E2EE) をブラウザ上で実現するためにはいくつかの壁がありました。 一つは WebCrypto が提供していない暗号を利用したいというものです。 今回 E2EE を実装するにあたり採用した Signal プロトコルでは公開鍵暗号に Curve25519 を採用しています。残念ながら WebCrypto では Curve25519 に対応していません。この時点で「暗号ライブラリをどこからもって

                                                                    • SwiftのWebAssembly対応の進捗 | メルカリエンジニアリング

                                                                      こんにちは、メルペイエキスパートチームインターンの@kateinoigakukunです。 本記事では私がインターンの中で開発しているSwift言語のWebAssembly対応について紹介します。 背景 メルペイでは「技術をアウトプットするところに技術は集まる」という思いから、 稼働の50%以上を技術コミュニティへの貢献や技術の普及に取り組むエキスパートチームが存在します。 私は主にSwiftコミュニティへの技術的な貢献に注力しています。特に去年の10月頃からSwiftのWebAssemblyサポートを進めています。 WebAssemblyはブラウザで実行可能なバイナリ形式として開発されている低級言語です。またブラウザ以外の環境でも実行できるポータブルな形式としても設計されており、活用できる用途は多岐にわたります。 Swiftは教育の現場でも取り扱われるケースが増えてきており、注目されている

                                                                        SwiftのWebAssembly対応の進捗 | メルカリエンジニアリング
                                                                      • Rust/WebAssemblyのトラブルに効くデバッグ&高速化テクニック

                                                                        本連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法を説明していきます。前回はRust/WebAssemblyとJavaScriptとのデータ交換について説明しました。今回は、ログ出力とファイルサイズ縮小の方法、および、成果物をパッケージにして世界に公開する方法を説明していきます。 はじめに 本連載では、Webフロントエンド開発において注目されているバイナリ形式のプログラムファイルWebAssemblyを、Rustで実装して活用する方法を説明しています。 より本格的にプログラムを開発するには、正しく動作させるまでにデバッグを行う必要があります。本記事ではデバッグ時に利用できるログ出力について説明します。また、アプリの読み込み速度をより速くできる、ファイルサイズ縮小方法につ

                                                                          Rust/WebAssemblyのトラブルに効くデバッグ&高速化テクニック
                                                                        • WebAssembly と JavaScript との間で自在にデータをやりとりする

                                                                          はじめに 引き続き Rust + WebAssembly + SolidJS で遊んでいます。前回は、Rust 側で作成した文字列を JavaScript 側で console.log に出力することを考えましたが、今回は JavaScript 側から何らかのデータを Rust 側へ渡すことを考えたいと思います。今回も、wasm-bindgen[1] に頼らずにやっていきましょう。 メモリの確保と管理 WebAssembly のメモリ空間は、シンプルな Linear Memory(線形メモリ)になっています。Rust と JavaScript との間で、「プリミティブな数値型」より大きなデータをやりとりするためには、この Linear Memory 上にデータを配置するのが良さそうです[2]。 単一のメモリバッファの確保 メモリの確保は Rust 側で実施します。線形メモリ上には WebA

                                                                            WebAssembly と JavaScript との間で自在にデータをやりとりする
                                                                          • 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コンポーネントの組み合わせによるアプリケーション開発を実現へ
                                                                            • WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に

                                                                              WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に Wasmer 4.0ではWasmerが独自仕様として提唱する、WebAssemblyからOSなどのシステムにアクセスするAPIを抽象化するWASI(WebAssembly System Interface)仕様をPOSIX対応に拡張した「WASIX」が安定版となり、これを利用してWebAssemblyで実装したBashのコマンドプロンプトなどが実現しています。 参考:WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表 下記はWasmerによりBashのコマンドラインをWebAssemblyで実装し、それを実行したBash環境上でPythonのWasme

                                                                                WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に
                                                                              • [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020

                                                                                [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020 オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Blazor WebAssembly 3.2.0」のリリースを発表しました。 Blazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよび実行系です。 Blazor WebAssembly 3.2.0はBlazor WebAssemblyとしてフル機能が実装され、本番運用に対応したバージョンです。これによりBlazor WebAssemblyは正式版としてリリースされたことになります。 It's here!!! Blazor WebAssembly 3.2.0

                                                                                  [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020
                                                                                • 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がロードマップを公開