並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 620件

新着順 人気順

Wasmの検索結果201 - 240 件 / 620件

  • 自作コンパイラをブラウザ上で動かす | κeenのHappy Hacκing Blog

    このエントリは言語実装 Advent Calendar 2020の1日目の記事です。 次はsisshiki1969さんで「RustでつくるRuby、その後の進捗」です。 κeenです。 昔からちまちま作ってるSML処理系をブラウザ上で動かすことができたのでその進捗報告です。 ちまちま作ってるSML処理系とはこれのことです。 KeenS/webml: A Standard ML Compiler for the Web 今回実装したオンラインコンパイラは以下で試すことができます: WebML Online Compiler まあ、ブラウザで動くのでここに貼ることもできるんですけどね。 こういうのどうやって作ったの?っていうのを話していけたらなと思います。 設計 そもそもの話、WebMLはブラウザで動かすために設計、実装されています。 スタートから違うじゃんと思うかもしれませんが、スタートから

      自作コンパイラをブラウザ上で動かす | κeenのHappy Hacκing Blog
    • Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp

      RubyKaigi 2022 キーノートレポート Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート 9月8日から9月10日までの3日間RubyKaigi 2022が三重県津市で開催されました。今年はRubyKaigi 2019以来、3年ぶりの現地開催で非常に盛り上がったカンファレンスとなりました。 初日のキーノートではRubyコミッターのYuta Saitoさんが「Ruby meets WebAssembly」というタイトルで発表しました。 Saitoさんはインターネット上では主に@kateinoigakukunという名前で活動しており、Swiftコミッターとしてもよく知られたエンジニアです。CRubyのWebAssembly移植を進め、2022年1月にRubyコミッターとなっています。今回のキーノートはCRubyのW

        Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp
      • nehan(縦書き文庫の組版エンジン)をWebAssembly化することで、約3倍の高速化を達成しました - anti scroll

        縦書き文庫の組版エンジンであるnehan(js製)をRustで書き換え、WebAssemblyで実行したところ、約3倍の高速化に成功しました。 現時点ですでに運用されています。 感想としては「本当は10倍ぐらい速くなって欲しかったけど、そこまでは速度が出ずにトホホ…」という感じです。 3倍なら良いではないか、と思われる方もいるかもしれませんが、青空文庫の長編小説なんかは、だいたい40万字ぐらいあり、そのjsでの組版時間は(すごく遅い端末だと)27秒に達することもあります。 ちなみに手元のノートPC(メモリ8G)でjsに組版させると5秒ぐらいです。 この5秒が1.7秒ぐらいになるのは嬉しくても、27秒が9秒になっても、あんまり嬉しくないですよね。 だから、ずっと10倍を目標にしてきたのですが… まあこれから頑張って、Rust側のソースを最適化していこうと思います。 ビューアーの変更点 全ペー

          nehan(縦書き文庫の組版エンジン)をWebAssembly化することで、約3倍の高速化を達成しました - anti scroll
        • Rust + wasmでJS向けの形態素解析ライブラリを作ってnpmで公開する

          この記事はRust Advent Calendar 2021 (カレンダー1)の8日目の代打記事です。 この記事でわかること 💪wasm-pack最強💪 lindera-jsというライブラリを作った経験を通じて、既存のRust製ライブラリをnpmのパッケージにして公開するまでの手順がわかります lindera-jsはパッケージサイズの問題があるのでまだ、限られたケース(読み込みの時間が気にならないケース)でしか使えなさそう 出来上がったもの Rust製の形態素解析ライブラリであるLinderaをjavascript/typescriptから呼び出すことが出来るライブラリを作ってnpmで公開しました。 npmからインストールしたら、 import * as lindera from "lindera-js"; console.log(lindera.tokenize("関西国際空港限定ト

            Rust + wasmでJS向けの形態素解析ライブラリを作ってnpmで公開する
          • 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の動作環境問題
            • 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
              • 興味のおもむくままにWASM/WASIらへん

                https://zenn.dev/link/comments/09280d40f6fa5a で考えていたけどあまりに脇道に逸れ過ぎなので別のスクラップブックにした。 気になること WASIって何? (WASMとの差分) Web用 WASMをパッケージングする上でEmscriptenとwasm-packの違い 純粋JSとのパフォーマンス差をベンチマークしてみたい WASIって何? (WASMとの差分) WASIはBrowser, JS independent なWASM仕様 -> ランタイムのためのインターフェース? BytecodeAllianceが中心となって策定している WASI実装としては wasmtime, wasmer, lucetの3つがメジャーっぽい 結局、WASI/WASMの関係性は何なのか? 一般的にWASMと呼ばれているものはブラウザ向けのWebAssemblyのこと

                  興味のおもむくままにWASM/WASIらへん
                • 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で可能に
                  • Proxy-Wasm + Rust による Envoy の拡張 ―― 独自メトリクスの追加を例に - Flatt Security Blog

                    This image includes the work that is distributed in the Apache License Version 2.0 株式会社Flatt Securityでセキュリティエンジニアとして働いている米内です。 本稿では、Envoy に独自メトリクスを追加するようなフィルタのサンプル実装の提示を通して、 WebAssembly によるサービスプロキシの拡張を可能にする仕様である Proxy-Wasm について紹介します。 Proxy-Wasm とは Proxy-Wasm の周辺 Rust による Envoy の拡張 SDK の利用 スタートアップ処理 メトリクスの定義 メトリクスの値の変更 動作例 おわりに Proxy-Wasm とは 近年は WebAssembly System Interface(WASI) を中心として、「WebAssembl

                      Proxy-Wasm + Rust による Envoy の拡張 ―― 独自メトリクスの追加を例に - Flatt Security Blog
                    • プログラム3行ではじめるWebAssembly、軽量静的型付け「Zen言語」

                      webアプリのサイズ、小さいほど読み込みが早くて快適に! Zen言語でシンプルな WebAssembly、動かしてみました。(src on GitHub) C言語以上に細部に手が届く、軽量静的型付け言語の「Zen言語」は、WebAssembly出力にも対応。 下記、たった3行、誰にでも分かりやすい足し算するだけのプログラムを「zen build」でコンパイルするだけ、HTML/JavaScriptから呼び出して、利用できます。(src on GitHub) export fn add(a: i32, b: i32) i32 { return a + b; } (プログラム解説) export → 外部から使うよ fn → function 関数だよ add → 関数名はaddにしよう a: i32 → 符号付き整数32bitのパラーメータaが関数addの引数1つ目 b: i32 → 符号付

                        プログラム3行ではじめるWebAssembly、軽量静的型付け「Zen言語」
                      • カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15

                        カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15

                          カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
                        • JupyterLite: Jupyter ❤️ WebAssembly ❤️ Python

                          JupyterLite is a JupyterLab distribution that runs entirely in the web browser, backed by in-browser language kernels. MotivationJupyterLite is a reboot of several attempts at making a full static Jupyter distribution that runs in the browser, without having to start the Python Jupyter Server on the host machine, usually done by running jupyter lab or jupyter notebook in a terminal. The goal of th

                            JupyterLite: Jupyter ❤️ WebAssembly ❤️ Python
                          • BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表

                            BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表 マイクロソフトはWebアプリケーションフレームワーク「Blazor」を用いてiOSとAndroidに対応したネイティブアプリケーションを開発可能にする実験的なプロジェクト「Mobile Blazor Bindings」を、1月14日(日本時間1月15日未明)に開催されたオンラインインベント「.NET Conf Focus on Blazor」で発表しました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングだけでSPA(Single Page Application)のWebアプリケーションなどを開発できるため、.NETの知識や経

                              BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表
                            • WebAssembly outside of the browser

                              「カーネル/VM探検隊@関西 10回目」での発表資料です。 https://connpass.com/event/161201/

                                WebAssembly outside of the browser
                              • Rust でモザイク加工を実装し、それを WebAssembly として Web アプリから利用する

                                Rust でモザイク加工を実装し、それを WebAssembly として Web アプリから利用する2022-07-11 Twitter のアイコンが本人とかなり乖離してきたため、職場の人に「え、誰ですか?」と言われることが多々あり、そろそろアイコンを変えようかなと思っていました。でもアイコンを変えると認識できなくなると思ったので、少しずつアイコンにモザイクをかけていこうと思い、モザイクツールを自作していました。自作しなくても既存のツールがあるのではと思うかもしれませんが、車輪は再発明するものなので再発明しました。ただ車輪の再発明とは言っても、Wasm で動作(=クライアントで加工してくれるからサーバーに送らなくていいし Web で使える)という点では比較的新しい車輪の再発明な気がしています。 それがこの umie です。ファイル選択して送信するとこのようにモザイクをかけられます。 ちなみ

                                  Rust でモザイク加工を実装し、それを WebAssembly として Web アプリから利用する
                                • eBPF、WASM、kubectl bind -「KubeCon NA 2022」帰国翌日の速報Recap by @amsy810

                                  本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 それでは、「KubeCon + CloudNatieCon NA 2022 帰国後即日 Recap LT」というタイトルで、本日はお話をさせていただきます。 サイバーエージェントでKubernetes as a serviceプロダクトオーナーとして勤務している青山と申します。もしかしたら「Kubernetes完全ガイド」(インプレス)を読んでいただいている方もいらっしゃるかなと思います。 ほぼコロナ前の水準に戻ったKubeCon 本日は、KubeConというKubernetes関連のカンファレンスのRecapをし

                                    eBPF、WASM、kubectl bind -「KubeCon NA 2022」帰国翌日の速報Recap by @amsy810
                                  • どこでもGoodnotes

                                    どこでもグッドノート コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 過去 2 年間、Goodnotes のエンジニアリング チームは、成功した iPad のメモ作成アプリを他のプラットフォームに導入するプロジェクトに取り組んできました。このケーススタディでは、2022 年の iPad アプリが、ウェブ テクノロジーを基盤とするウェブ、ChromeOS、Android、Windows に実装され、チームが 10 年以上にわたって取り組んできた同じ Swift コードを再利用した WebAssembly について説明します。 ウェブ、Android、Windows に Goodnotes が登場した理由 2021 年、Goodnotes は iOS と iPad 向けのアプリとしてのみ提供されていました。Goodnotes のエンジニアリング チームは、Go

                                      どこでもGoodnotes
                                    • GitHub - jtpio/jupyterlite: Wasm powered Jupyter running in the browser 💡

                                      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 - jtpio/jupyterlite: Wasm powered Jupyter running in the browser 💡
                                      • Vim compiled to WebAssembly

                                        - Emscripten & WebAssembly night !! #8 - 30min - Demo: https://rhysd.github.io/vim.wasm/ - Repo: https://github.com/rhysd/vim.wasm - Event: https://emsn.connpass.com/event/136346/

                                          Vim compiled to WebAssembly
                                        • WebAssembly の GC Proposal とは何か / どこに向かおうとしてるのか

                                          最初に これは WebAssembly に GC が導入されるから紹介、という記事ではない。どちらかというと、WebAssembly GC の採用がどれだけ遠く、また GC がのればどんな言語でも wasm のコンパイルサイズが減って軽量になる、という夢を見ている人に、現実を見てもらうための記事になる。 WebAssembly GC Proposal (Team)は、それを実現するパーツを分割して仕様策定を進めていて、実際に GC が動き出すまでには数年かかるだろうし、自分の感覚的に、将来的に GC が採用されるかは五分五分といったところ。 ただ、 GC Proposal から派生した仕様郡は GC が採用されなかったとしても有意義なものばかりなので、本記事ではそれを紹介したい。 基本的にここを参照 Excuse 自分は低レベルプログラミングの経験が浅く、WebAssembly のために関

                                            WebAssembly の GC Proposal とは何か / どこに向かおうとしてるのか
                                          • Ruby On BrowserとRuby WASM/WASIの雑感 - ブログのおんがえし

                                            Ruby WASM/WASI の発表にえらくテンションが上がったので、勢いで作ったものが窓の杜で紹介されてびっくりしました。(それだけ注目されているということですね) Ruby On Browserは51行しかないHTMLでまだまだ荒削りなのでもっとちゃんとしたものを試したい方は是非TryRuby playgroundのCRuby 3.2.0dev をお試しください。 Ruby On Browser自体もまだまだ発展させていくつもりですが、現状Ruby WASM/WASIを触ってみていいなあと思ったことです。 1. 簡単に自分好みのブラウザRubyが作れる Try Rubyのようにブラウザ上でプログラミング言語が試せること自体は現在はそこまで珍しくないですが、クライアントサイドだけで(しかもとても短いコードで)動かせるのは大変魅力的です。個人のPCやイントラネット上に好みのカスタマイズを加

                                              Ruby On BrowserとRuby WASM/WASIの雑感 - ブログのおんがえし
                                            • WebAssembly がネットワーク プロキシにもたらす拡張性

                                              .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                WebAssembly がネットワーク プロキシにもたらす拡張性
                                              • ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ

                                                プライベートでは基本的に誰の役にも立たないプログラムを作ってるんだけど、たまにうっかり MySQL Parameters みたいな役に立つものを作ってしまう。 MySQL Parameters は5年くらい前に Vue.js の勉強のために作ってみたんだけど、結局そのまま Vue.js は触らず放置状態だった。MySQL の新しいバージョンが出るたびにデータは更新してたけど。 ruby.wasm で Ruby が WebAssembly 上で動くようになり、ブラウザ上で JavaScript の代わりに使えるようになったんで、MySQL Parameters を Ruby で作り直してみた。 ruby.wasm ruby.wasm のページに載ってるけど、これだけでブラウザ上で Ruby が動く。簡単。 <html> <script src="https://cdn.jsdelivr.ne

                                                  ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ
                                                • RubyKaigiとiOSDCでWasmの話をしてきた - kateinoigakukunのブログ

                                                  09/08-10に三重で開催されたRubyKaigi、09/10-12に東京で開催されたiOSDCにどちらもスピーカーとして参加してきました。 カンファレンスはしごされた方はお疲れ様でした。 RubyKaigi Keynote 初めてのRubyKaigiでの発表で、さらにキーノートで、さらにトップバッターという大変貴重な体験でした。いやー緊張した。1 当日のスライドはこちら。 Ruby 3.2でサポート予定のRubyのWebAssembly/WASI対応について話してきました。 前半でモチベーションや出来るようになったことをデモを交えつつオーディエンスと共有して、後半は実装について自分の好きなことを話す、という構成でした。 syntax_treeを使ったデモはちょっと上手くいかなかったんですが 2、 一番見せたかったIRBでSVGを表示するデモがうまくいって良かったです。IRBのデモはこち

                                                    RubyKaigiとiOSDCでWasmの話をしてきた - kateinoigakukunのブログ
                                                  • Remixを使い始めた話 | Money Forward Kessai TECH BLOG

                                                    こんにちは、23卒の新卒エンジニアのfujinoです。今回は弊社のサービスでReactのフレームワークであるRemixを使い始めた話をしようと思います。 背景 弊社では今までVue.jsのフレームワークであるNuxt.jsを用いてフロントエンドを実装していました。 これは、採用当時は生のhtmlが使えるのが良いと思っていたことや、Vue.jsの経験のあるフロントエンジニアがチームにいたことが理由でした。 しかし、最近ではTypescriptとの親和性や、コミュニティの大きさなどの理由からReactの方が勢いがあるように感じます。 弊社でも少し前からReactに移行することを決定し、現在進行形でNuxt.jsからReactへの移行プロジェクトを進めています。 Reactの主要なフレームワークとして、Next.jsとRemixが挙げられます。 両者の違いとして、Next.jsはSSG(Stat

                                                      Remixを使い始めた話 | Money Forward Kessai TECH BLOG
                                                    • Rust+WASMでWebクローラーのXMLパースを高速化

                                                      本記事はストックマークAdvent Calendarの21日目の記事です。 はじめに こんにちは、ストックマークの谷本です。 ストックマークでは、ビジネス情報に特化したデータプラットフォームを独自に構築しています。 本記事では、そのデータプラットフォームの中核であるWebクローラーのパフォーマンスを、Rust+WASMでコスパ良く改善できたという事例を紹介したいと思います。 何が問題だったか Webクローラーは、国内外のニュースサイトや企業サイト、ブログを回覧してビジネス情報をデータ化します。 そのさい、読み込むSitemapやRSS(これらはXML形式で配信されています[1])のサイズが大きいと解析にかなり時間がかかり、想定していた処理時間を超えてタイムアウトエラーを起こすケースがありました[2]。それが少数のサイトであればまだインパクトは小さいですが、回覧するサイトは日々増えており、W

                                                        Rust+WASMでWebクローラーのXMLパースを高速化
                                                      • About the sqlite3 WASM/JS Subproject

                                                        WebAssembly, a.k.a. WASM, is a standard defining a low-level programming language suitable (A) as a target for cross-compilation from many other languages and (B) for running via a virtual machine in a browser. Designed with scriptability via JavaScript in mind, it provides a way to compile C code (among others) to WASM and script it via JavaScript with relatively little friction despite the vast

                                                        • 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)の実験的サポートへ
                                                          • Go を Wasm にビルドして Google Apps Script で動かす

                                                            Go のコードで文字列の変換をする関数があり、これが Google スプレッドシート上の関数としても利用できれば検証[1]に便利かもしれないと思いました。 Google スプレッドシートでは Apps Script の関数をセル上で実行できるので、Go のコードを Wasm にビルドして JavaScript から呼び出すことができれば良いのではないかと考え、実際に試してみることにしました。 動作環境 Go 1.22.2 Apps Script の設定 Chrome V8 ランタイムを有効にする その他 macOS の pbcopy コマンド[2]を利用した手順を記載していますが、Linux 環境でも pbcopy を他の手段に置き換えることで同様に動作しました。 事前調査 Go を Wasm にビルドして GAS で動かす事例は見当たりませんでしたが、Rust を Wasm にビルドして

                                                              Go を Wasm にビルドして Google Apps Script で動かす
                                                            • AssemblyScriptでライブラリコードの高速化をしてみる

                                                              From Spring Boot 2 to Spring Boot 3 with Help of Apache Tomcat and More

                                                                AssemblyScriptでライブラリコードの高速化をしてみる
                                                              • An introduction to WebAssembly for JavaScript Developers

                                                                If you transmit a number whereas an integer encoded on 64 bits is expected you will get an exception: let run = async () => { try { let bytecode = await fetch("add/add.wasm"); let wasm = await WebAssembly.instantiateStreaming(bytecode); console.log(wasm.instance.exports.addInt64(1,2)); } catch(e) { console.error(e); } }; > run().then(); TypeError: wasm function signature contains illegal type Call

                                                                • 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
                                                                  • 「The Art of WebAssembly」を読んだ - dackdive's blog

                                                                    The Art of WebAssembly: Build Secure, Portable, High-Performance Applications 作者:Battagline, RickNo Starch PressAmazon 読んだので簡単なまとめを。 この本について 前半は WebAssembly の基本的なしくみや Node.js・ブラウザで動かす方法、後半はパフォーマンス測定やデバッグ方法について学べる本。 また、特定の言語やツールチェイン(たとえば Rust だったら wasm-pack とか)に依存した内容ではなく、WAT と呼ばれる WebAssembly のテキスト表現を書きながら実装する。 構成 ざっくり Chapter ごとにやってることを書く。 Chapter 1: Introduction to WebAssembly WebAssemblyとは何か、その

                                                                      「The Art of WebAssembly」を読んだ - dackdive's blog
                                                                    • VS Code Extensions and WebAssembly

                                                                      It is important to note that the component model does not support low-level (C-style) pointers. As such, you cannot pass object graphs or recursive data structures. In this respect, it shares the same limitations as JSON. To minimize data copying, the component model introduces the concept of resources, which we will explore in more detail in a forthcoming section of this blog post. The jco projec

                                                                        VS Code Extensions and WebAssembly
                                                                      • 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チームが明らかに
                                                                        • Wasmtime Reaches 1.0: Fast, Safe and Production Ready!

                                                                          As of today, the Wasmtime WebAssembly runtime is now at 1.0! This means that all of us in the Bytecode Alliance agree that it is fully ready to use in production. In truth, we could have called Wasmtime production-ready more than a year ago. But we didn’t want to release just any WebAssembly engine. We wanted to have a super fast and super safe WebAssembly engine. We wanted to feel really confiden

                                                                            Wasmtime Reaches 1.0: Fast, Safe and Production Ready!
                                                                          • MoonBit

                                                                            > moon new hello> cd hello> cat main/main.mbtfn init { println(@lib.hello()) }> moon run mainHello, world! The Full-Product Collaborative DesignThe collaborative design of programming language, compiler, build system, and IDE ensures the integrity of the system, reduces component friction, and improves overall efficiencyGenerate significantly smaller WASM output than any existing solutions Program

                                                                            • WebAssembly: Docker without containers!

                                                                              This is a companion article to a talk about Docker+WebAssembly that we gave at "Docker Community All Hands 7, Winter Edition" on Dec 15th, 2022. Introduction Recently Docker announced support for WebAssembly in cooperation with WasmEdge. This article will explain what is WebAssembly, why it is relevant to the Docker ecosystem and provide some hands-on examples to try on. We assume you are familiar

                                                                                WebAssembly: Docker without containers!
                                                                              • 10月新刊情報『ハンズオンWebAssembly』

                                                                                『ハンズオンWebAssembly ―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法』 Gerard Gallant 著、北原 憲、洲崎 俊、西谷 完太、磯野 亘平、米内 貴志 訳 2022年10月12日発売予定 512ページ(予定) ISBN978-4-8144-0010-2 定価4,180円(税込) WebAssemblyはWebブラウザ上で効率的かつ安全にコードを実行するために開発された技術です。様々なプラットフォームでの実行や、C++やRustなどのプログラミング言語で開発が可能です。本書はWebAssemblyの技術的な原理、動作、どのようなことが可能なのかを基礎からしっかり学ぶことができ、かつ実践的な開発テクニックにまで踏み込んだ開発者向けの解説書です。プログラミング言語は主にC++を取り扱います。簡単な例から解説をはじめ、動的リンクや

                                                                                  10月新刊情報『ハンズオンWebAssembly』
                                                                                • GoでWebAssembly――Go標準のWebAssemblyサポートを体験する

                                                                                  GoとWebAssembly 今回は、プログラミング言語GoによるWebAssemblyプログラムの開発を紹介します。Goは、Googleの開発したプログラミング言語であり、WebAssemblyへの対応も積極的に行われています。C/C++やRustでは、EmscriptenやRust and WebAssemblyのような外部プロジェクトとの連携でWebAssembly対応を果たしていました。Goでは、直接WebAssemblyバイナリをターゲットにできるなど、言語レベルでWebAssemblyに対応しているのが特徴です。そのため、Goの言語環境を整える以外の特別な環境整備が不要で、すぐに標準ライブラリを含めたGoの言語仕様を十分に生かしたWebAssemblyプログラムを作成することができます。 Goは、C/C++やRustと同様にネイティブコードをターゲットにしたプログラミング言語で

                                                                                    GoでWebAssembly――Go標準のWebAssemblyサポートを体験する

                                                                                  新着記事