並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1191件

新着順 人気順

WebAssemblyの検索結果201 - 240 件 / 1191件

  • えっ?Browser内でNode.jsアプリが動く?? WebContainerAPIをTypeScriptで動かしてみた

    概要 StackBlitzのサービスを支えるWebContainerという素晴らしい技術のAPIが公開されたので、実際に気になっている方に向けて、体験した所感を紹介しようと思います。一見サーバサイドのNode.jsでやっているように見えることが、実際にはブラウザ内部で動いているので、めちゃくちゃすごいです。 対象読者 StackBlitzにお世話になっていて、その裏側の仕組に興味がある方 ブラウザ内で、Node.jsを動かしたいなぁと思っている方 WebContainerに興味がある方 はじめに フロントエンド界隈では、有名なplayground環境と思われるStackBlitz(このZennの挿入もできるサービスなので、見たことある方も多いかもしれません)が提供している、サービスを支える重要な技術である、WebContainer(Webブラウザ上で実現されるWebAssemblyベースの

      えっ?Browser内でNode.jsアプリが動く?? WebContainerAPIをTypeScriptで動かしてみた
    • A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

      I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic content without sacrificing performance. Over the years,

        A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler
      • WasmGCについて予習する

        この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

          WasmGCについて予習する
        • WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz

          ブラウザ外での WebAssembly の利用が盛り上がっています。 盛り上がりはスタンドアローンのランタイムを使った WebAssembly の実行だけではありません。Python, Ruby, Rust といった言語からの WebAssembly の実行にも注目が集まっています。 なぜそんなことが望まれるのでしょうか? 理由はいくつかあります: 「ネイティブ」をもっと簡単に Node あるいは Python の CPython のようなランタイムでは、C++ などの低レベル言語でもモジュールを書ける場合があります。低レベル言語を使っ

            WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz
          • WasmLinux: LinuxカーネルをWebAssemblyにする

            LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

              WasmLinux: LinuxカーネルをWebAssemblyにする
            • 世界のプログラミング言語(20) 「WebAssembly」ならブラウザで高速にCもRustもGoも動く

              今回紹介するのは、WebAssemblyです。これは、その名の通りWebブラウザ上で動かせるアセンブリ風の言語です。既に、C/C++言語、RustやGo言語などのプログラミング言語がWebAssemblyに対応しています。また、主要Webブラウザではサポートされており、JavaScriptよりも高速に実行できるため、ブラウザの可能性が大きく広がっています。今回は、WebAssemblyについて、また、実際にブラウザで実行する方法を紹介します。 Go言語でWebAssemblyを出力して実行したところ ブラウザにはJavaScriptがあるのになぜ? WebAssemblyはWebブラウザ上で動作する言語です。しかし、Webブラウザ上で動作する言語には、既にJavaScriptがあります。モダンブラウザであれば、どのブラウザを使っても同じようにJavaScriptのプログラムを動かすことがで

                世界のプログラミング言語(20) 「WebAssembly」ならブラウザで高速にCもRustもGoも動く
              • RustでWasm Runtimeを実装してみた

                はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerでWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどのようにして実行されるのかを理解できたので良かったです。 今回はWasmのバージョン1の仕様を満たすように実装して、テストスイートは正常系と実行時異常系のテストは通しましたが、バリデーションなどのテストはスキップしています。 また、少しだけバージョン2の命令とWASIを実装していて、RustからビルドしたHello Worldを標準出力するwasmバイナリも動きます。 本記事は実装したWasm Runtimeの概要と、実装を通して学んだこと

                  RustでWasm Runtimeを実装してみた
                • 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
                  • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

                    こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

                      モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
                    • emruby: ブラウザで動くMRI - クックパッド開発者ブログ

                      こんにちは、フルタイムRubyコミッタの遠藤です。 Ruby 3.0が出てもう4ヶ月経ってしまいました。最近のTypeProfの開発ですが、vscode拡張として使えるようにするために、一生懸命Language Server Protocolをいじって遊んでるところです。 今日の成果です。 RBS が .rb と別ファイルなのが面倒という問題、vscode 拡張をちゃんと作れば解決できそう(まだ実現可能性を調べただけで中身はありません)。 pic.twitter.com/tv6xB0Tm59— Yusuke Endoh (@mametter) 2021年4月2日 こっちのほうはまだ実験段階なので、まとまったころに説明するとして、今回は、Ruby 3.0リリース後にほそぼそとやっていたemrubyをご紹介してみます。 emrubyとは ブラウザの上で動くMRI(Matz Ruby Inter

                        emruby: ブラウザで動くMRI - クックパッド開発者ブログ
                      • Web開発でJavaScriptの代わりにC#でロジックを書くBlazorがめちゃ便利! - Qiita

                        はじめに UL Systems Advent Calendar 2019 の17日目です。 Blazorとは、.NET の技術を使ってクライアント側のWeb UIを構築するためのフレームワークです。このBlazorを使えば、今まで主に業務アプリケーションの開発で C#を使用してきたような開発者であっても、極力JavaScriptを使わず、追加の学習コスト少なくWebアプリケーション(SPA)を開発することができるようになります。 Blazor には、サーバ側で処理するBlazorサーバーと、クライアント側で処理するBlazor WebAssemblyがあります。Blazorの開発を今まさに進めており、2019年9月にリリースされた.Net Core 3.0にてBlazor サーバーが正式にサポートされるようになりました。Blazor WebAssemblyも2020年5月に正式リリースされ

                          Web開発でJavaScriptの代わりにC#でロジックを書くBlazorがめちゃ便利! - Qiita
                        • Adding Python WASI support to Wasm Language Runtimes

                          We recently added Python support to Wasm Language Runtimes. This article provides an overview of how Python works in WebAssembly environments and provides a step by step guide on how to use it. At VMware OCTO WasmLabs we want to grow the WebAssembly ecosystem by helping developers adopt this new and exciting technology. Our Wasm Language Runtimes project aims to provide up-to-date, ready-to-run We

                            Adding Python WASI support to Wasm Language Runtimes
                          • 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入門
                            • FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに

                              Google Chromeに続いてFirefoxもWebAssemblyのガベージコレクション機能を試験的に実装していることが、KotlinのWebAssembly対応ドキュメントから分かりました(現時点ではFirefoxのBeta版やNightlyのドキュメントには記載がないようです)。 すでにGoogle Chromeが、Dart言語のWebAssembly対応への対応のために試験的実装を示すOrigin TrialとしてWebAssemblyのガベージコレクション機能の実装を開始しています。 参考:WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 Firefoxでもほぼ同様に、現在Nightlyとして公開されているFirefox 112aにおいて、開発者向けの設定である「about:co

                                FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに
                              • RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する

                                wasm-packを使うことで、ビルドしてwasm-bindgen-cliでさらに変換処理を行い、npmで配布可能なパッケージにするという多段階必要なビルド手順をまとめることが可能です。 またnewコマンドのようなテンプレートから生成する機能などもあり、より手軽にWasmの実行を行えます。 後述のTrunkとの違いは、wasm-packはwebpackなどのJavaScript側で使われるバンドラーなどと合わせて使うことが想定されていることです。 webpackと合わせて使わない場合には今回のテーマであり後述するTrunkを利用したほうがより簡単にWasmの実行を行えます。 wasm-opt GitHub binaryenというリポジトリでwasm-optというツール含むいくつかのツールが作られています。 wasm-optはその名の通りWasmの最適化をしてくれるツールです。 与えるオプシ

                                  RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する
                                • Rustで少しずつリバーシを作ってみた

                                  はじめに Rustの学習目的でリバーシを作ってみたいと思います。最初からすべての機能を作るのではなく、少しずつ機能を追加しながら解説していきます。また、できるだけよいコードを目指すために機能追加の度にリファクタリングをします。 最初の開発 仕様策定 まずはリバーシとして最低限遊べるうえで最も工数がかからなさそうな仕様を策定します。 cuiアプリ 矢印キーでカーソル移動 Wキーで白石を置き、Bキーで黒石を置き、Backspaseキーで石を取り除く Escキーでアプリ終了 とりあえずこれだけあればリバーシとして遊ぶことはできます。cuiアプリなので実行はWindowsTerminalを想定します。 実装 ソース とりあえずコードの良し悪しは置いといて動くものを作ります 実行結果 解説 cuiアプリとして実装するのでターミナルライブラリを導入します。今回はcrosstermを利用します。Carg

                                    Rustで少しずつリバーシを作ってみた
                                  • SwiftUI で Web アプリという可能性 - OPTiM TECH BLOG

                                    はじめに こんにちは.R&D チームの久保です. 現在 JavaScript や JavaScript にトランスパイルする言語 (TypeScript, 新し目の ECMAScript など) が主流であるフロントエンドの Web アプリケーションフレームワーク界隈ですが,数年前に WebAssembly の実行が主要ブラウザ全てでサポートされて以来,ひそかに他の言語によるフレームワークが増えつつあるのをご存知でしょうか?しかもそれらは,JavaScript でデファクトスタンダードとなりつつある React や Vue.js などと同様,仮想 DOM を実装していたりします. 例としては C# (.NET) の Blazor, Rust の Yew, Go の Vugu, C++ の asm-dom などがあります.ただ,現時点ではその多くが実験的なプロジェクトであり,今すぐに Jav

                                      SwiftUI で Web アプリという可能性 - OPTiM TECH BLOG
                                    • RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita

                                      概要 静的ウェブページ向け検索エンジンtinysearchをrust_icuのトークナイザ(icu::BreakIterator)を使って日本語対応させてみた。 また、これをmdBookに組み込み、The Rust Programming Language 日本語版へ適用してみた (chromiumのみ対応。その他は従来どおりの検索性能) 実装: https://github.com/tamuhey/tinysearch/tree/japanese mdBookへの適用: https://github.com/tamuhey/mdBook/tree/tiny_search The Rust Programming Language 日本語版への適用例: https://tamuhey.github.io/book-ja/ tinysearch tinysearchは静的ウェブページ向け検索

                                        RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita
                                      • RustとDioxusで投稿アプリのSPAを作ってみよう

                                        Dioxusの概要 Dioxus(ディオクサス)は、Dioxus Labsによるクロスプラットフォーム対応のアプリを構築できるRustライブラリです。移植性が高く(portable)、高性能で(performant)、人間工学に基づいた(ergonomic)設計が特徴とされています。Dioxusでは、単一のコードで以下のプラットフォームで動作するアプリを開発可能です。 (1)Web WebAssembly技術を用いたSPA(Single Page Application)を開発できます。WebAssemblyについては@ITの連載「いろんな言語で試す、WebAssembly入門」で紹介しています。その第5回「RustでWebAssembly――「Rust and WebAssembly」を体験する」でRust and WebAssemblyを紹介しています。本記事の理解にWebAssemb

                                          RustとDioxusで投稿アプリのSPAを作ってみよう
                                        • Node.js fetch の内部の話 - from scratch

                                          前置き この記事は リクルートエンジニアアドベントカレンダーの3日目の記事です。 Recruit Engineers Advent Calendar 2022 - Adventar ちなみにココで書いたやつを一部抜粋させていただいております(ネタ切れにより過去投稿を利用してしまっております。。。すいません。。。) www.codegrid.net fetch が Node v18 から試験的にサポートされた ブラウザでは数年前から採用されていた HTTP リクエストを行う関数の fetch が global 空間に関数として作成されました。使うだけなら特に何のフラグもいりません、その代わり使うと Experimental であることを知らせる Warnings が出ます。 // fetch.mjs const response = await fetch('https://api.gith

                                            Node.js fetch の内部の話 - from scratch
                                          • WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった

                                            きっかけ(となったtweetの訂正) もう1ヶ月以上も経ってしまったが、こちらのtweetの公約どおり、WebAssembly (Wasm)におけるDOMの操作について知っている限りのことを書こう。 まずこの節の見出しのとおり、上記の発言は大きく間違えている。私はReference Typesがもたらすパフォーマンス的なメリットや、JavaScriptのオブジェクトを直接Wasmで渡すことが(一応)可能になったということを根拠に上記のtweetをした。しかし下記のtweetでも否定されているとおり、この観点は穴だらけなので、実際のところ多くの人が「直接操作できる」と実感できる状態ではないだろう。 詳細は後述するとして、我ながらひどい凡ミスを犯してしまった。JavaScriptのことを十分に知っているはずなのに、情けない。謹んでお詫びし、ここで訂正する。 大前提: ある意味で永遠にそんな日は

                                              WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
                                            • 都会の星の撮り方本を出版しました。WebAssembly を使っています

                                              先日、都会で撮る 星の軌跡の撮影術 〜はじめて撮る人から上級者まで比較明合成による撮影の完全ガイドという本を出版しました。 この本は、比較明合成という画像処理によって都会の星の軌跡の撮り方を紹介している本ですが、それを WebAssembly を用いてブラウザ内で実現する Web アプリ を作りました(そしてその使い方を本の中で解説しました)ので、この記事では WebAssembly による移植周りについて少し解説したいと思います。 なぜ WebAssembly が必要だったか 今回 WebAssembly を、LibRaw というオープンソースソフトウェアをブラウザ上で利用するために使いまいた。 比較明合成をわかりやすく説明すると、複数の画像を比較して、最も明るい点を選択する合成方法です。星は日周運動により地上からは動いているように見えますが、カメラを固定して連写で何百枚と写真を撮り、そ

                                              • コンテナランタイムの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と統合されていく
                                                • Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023

                                                  GoogleでFlutter & DartのプロダクトとUX担当ディレクターTim Sneath氏は、アフリカのケニア共和国ナイロビで開催された「Flutter Forward 2023」の基調講演で次のように話し、Flutterの進化の方向性を示しました。 「Flutter for Webは汎用目的でデザインされてはいないことを明確にしておきたい。すでにDOMの分野で上手く行っているAngularやVue、Reactのような、DOMベースの新たなフレームワークを作ろうとしているわけではない。 そうではなく、(CanvasやWebAssemblyのような)新しいWeb標準をベースとする最初のフレームワークを作ろうとしているのだ。」 その上で、Flutter for WebがWebAssemblyをサポートする予定であることを明らかにしました。 「FlutterからWebAssemblyへの

                                                    Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023
                                                  • Making JavaScript run fast on WebAssembly - Bytecode Alliance

                                                    JavaScript in the browser runs many times faster than it did two decades ago. And that happened because the browser vendors spent that time working on intensive performance optimizations. Today, we’re starting work on optimizing JavaScript performance for entirely different environments, where different rules apply. And this is possible because of WebAssembly. We should be clear here—if you’re run

                                                      Making JavaScript run fast on WebAssembly - Bytecode Alliance
                                                    • WebAssembly対応でRubyは何が出来るようになったのか?

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

                                                        WebAssembly対応でRubyは何が出来るようになったのか?
                                                      • Zellij: a Rusty terminal workspace releases a beta

                                                        Zellij: a Rusty terminal workspace releases a beta 2021-04-20 :: Aram Drevekenin After long months of work by a dedicated team of enthusiasts, today we are proud to announce the release of the beta version of Zellij! Zellij is a terminal workspace and multiplexer written in Rust, aiming to become a general purpose application development platform in the future. How to install? Download a prebuilt

                                                          Zellij: a Rusty terminal workspace releases a beta
                                                        • RustでWebAssemblyインタプリタ作った話 - Qiita

                                                          はじめに RustでWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

                                                            RustでWebAssemblyインタプリタ作った話 - Qiita
                                                          • WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話 - Qiita

                                                            WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話JavaScriptRustOpenCVTypeScriptWebAssembly WebAssembly(WASM) は JavaScript より計算処理が速いという話題がしばしば聞かれます。 では、単純な数値計算ではないけれど、JavaScript を利用した通常のフロントエンド開発だと時間がかかる処理を移植するとどうなるのでしょうか1。本記事ではその一例として、巨大画像(4K~)を指定したピクセル数までリサイズする処理を書いてみました。 リポジトリ: https://github.com/yokra9/wasm-image-resizer JavaScript + Canvas API でリサイズしてみる まず、比較のため JavaScript でリサイズ処理を

                                                              WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話 - Qiita
                                                            • WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説

                                                              Tama Ruby会議01の発表資料です

                                                                WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
                                                              • WebAssembly Summitまとめ(前編)|chikoski

                                                                WebAssembly Summitというカンファレンスへ参加してきました。その午前のセッションについてまとめました。午後のセッションについては別記事でまとめます。 TL;DR; 午前はWASMを取り巻く問題について扱ったように感じました。いくつかには解決策が提示され、いくつかは問題提起にとどまった印象です。 WebAssembly Summitとは? Webブラウザの上で実行できる第2の言語、それがWebAssemblyです。誕生は2015年にW3Cのコミュニティグループが結成され、2019年末に正式な仕様としてリリースされました。このWebAssemblyのツールやランタイム、そしてWebAssemblyを使ったアプリケーションに関する発表を行うカンファレンスが、WebAssembly Summitです。 WebAssembly は、ネイティブのアプリケーションやエッジサーバにおける処

                                                                  WebAssembly Summitまとめ(前編)|chikoski
                                                                • メルカリレンズβ WebAssembly × AIのプロダクト開発 | メルカリエンジニアリング

                                                                  この記事は、Mercari Advent Calendar 2021 の22日目の記事です。 こんにちは、メルカリ EdgeAIチームの@tkatoです。私たちのチームでは、クライアントサイドでの機械学習応用について、アルゴリズム開発からプロダクション開発までを担当しています。 12月16日に、メルカリレンズβという新しいプロダクトが公開されました。この記事では、メルカリレンズβを開発するにあたり、Webブラウザ向けに機械学習を用いたUIを開発した経験から得た知見を紹介したいと思います。 メルカリレンズβは、スマホのカメラで商品をかざすだけでメルカリでの取引相場や類似商品などの情報を表示するWebアプリです。いくらで買えるか知りたいときや、出品する値段で迷ったときに、メルカリを使ったことのないお客様でも気軽に使えるアプリを目指しています。 技術的には、機械学習を利用した直感的なUIをクライ

                                                                    メルカリレンズβ WebAssembly × AIのプロダクト開発 | メルカリエンジニアリング
                                                                  • 各種WebAPIの簡単な使い方と、組み合わせで実現する新たな体験・可能性を考える

                                                                    2020年2月1日、「PWA Night CONFERENCE 2020」が開催されました。Web体験を進化させる、新しいWeb開発コンセプト「PWA」をテーマに、Web開発に携わるエンジニアたちが集まった本イベント。プレゼンテーション「Webでできる体験を考える会」に登壇したLINE株式会社の折原レオナルド賢氏は、既存のWebAPIを用いてできることや実現できるユーザー体験について、自身の経験や今回の発表に際して行った検証結果を用いて紹介しました。講演資料はこちら Webでできる体験を考える 折原レオナルド賢氏:それでは「Webでできる体験を考える会」ということで始めたいと思います。去年の今頃、こんな記事を書かせていただきました。 もしかしたらこれによって今回呼んでもらったのかなと思いますので、この話の内容も含めていろいろ「Web APIってどういうもの?」という発表をしていきたいと

                                                                      各種WebAPIの簡単な使い方と、組み合わせで実現する新たな体験・可能性を考える
                                                                    • ブラウザ上で動画生成や変換ができるWebAssembly版FFmpeg「ffmpeg.wasm」レビュー

                                                                      WebAssemblyはブラウザ上で機械語を実行可能し、JavaScriptを補完してパフォーマンスを高める技術です。そのWebAssemblyのバイナリ形式で動画処理ソフトウェア「FFmpeg」をコンパイルし、ブラウザ上での動画生成や変換を行えるソフトウェアが「ffmpeg.wasm」です。 FFMPEG.WASM https://ffmpegwasm.github.io/ GitHub - ffmpegwasm/ffmpeg.wasm: FFmpeg for browser and node, powered by WebAssembly https://github.com/ffmpegwasm/ffmpeg.wasm 「ffmpeg.wasm」の「wasm」はWebAssemblyの略称で、JavaScriptからFFmpegを利用可能にすることでブラウザやNode.js上で動画の

                                                                        ブラウザ上で動画生成や変換ができるWebAssembly版FFmpeg「ffmpeg.wasm」レビュー
                                                                      • Dada | Dada

                                                                        Welcome to Dada, an experimental new programming language!Care to try our live tutorial?Wondering what the heck Dada is all about?Jump to the web playground?

                                                                        • WebAssembly: data セクションの最適化 - Qiita

                                                                          概要 WebAssembly 逆アセンブル1 と Rust 製の WebAssembly オプティマイザの twiggy を駆使して、WebAssembly ファイル中の data セクションのサイズ削減を図る 対象読者 WebAssembly を極限まで小さくするための、いかなる苦労を厭わない人 この記事中に、ツールを使えば簡単に WebAssembly を極限まで小さくできる、魔法のような方法が紹介されていると期待していた人はブラウザバック推奨 WebAssembly Text Format にアレルギーのない人 使用ツール WebAssembly for VSCode Visual Studio Code 上で、次の機能を提供する拡張機能 WebAssembly を WebAssembly Text Format に変換する WebAssembly Text Format の色付け

                                                                            WebAssembly: data セクションの最適化 - Qiita
                                                                          • 私たちはKubernetes SchedulerにWasm拡張の夢を見るか | メルカリエンジニアリング

                                                                            この記事はMercari Advent Calendar 2022の21日目の記事です。 こんにちは。メルカリのPlatform Infraチームで働いている @sanposhiho といいます。 個人的にKubernetesやその周辺のOSSにコントリビュートをしていて、特にKubernetesのコントロールプレーンのコンポーネントのうちの一つであるスケジューラー周りを触ってることが多いです。 この記事では、現状のスケジューラーにおける拡張性の課題と、スケジューラーに現代の汎用バイナリとも言えるWasm(WebAssembly)ランタイムを通した拡張性を持たせることができるのかどうかを検証してみます。 Kubernetes Scheduler とは スケジューラーはPodをどのNodeで実行するかを決定しているコンポーネントです。 その時の様々なリソースの状況を見たり、ユーザーが指定した

                                                                              私たちはKubernetes SchedulerにWasm拡張の夢を見るか | メルカリエンジニアリング
                                                                            • GitHub - iced-rs/iced: A cross-platform GUI library for Rust, inspired by Elm

                                                                              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 - iced-rs/iced: A cross-platform GUI library for Rust, inspired by Elm
                                                                              • WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開

                                                                                米Wasmerは、WebAssemblyでPOSIX(Portable Operating System Interface)の機能を利用可能にする新しい仕様「WASIX」を5月30日に公開した。WASIは、WebAssemblyをWindows、macOS、Linuxで動作可能にするための仕様であるWASIを拡張したものだ。WASIでは、OSのファイルシステムやネットワークなどを安全に利用可能にするAPIを定義している。 WASIXは、マルチスレッド処理やバークレーソケット、プロセスのフォーク、DNSによる名前解決など、POSIXが定義する機能の多くをWebAssemblyで利用可能にする。現在のところWASIXはRustとC言語で利用でき、ZigやAssemblyScriptへの対応も予定している。 WASIXを利用したプログラムを作成するには、上記の対応言語でWASIXのAPIを使っ

                                                                                  WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開
                                                                                • Using WebAssembly threads from C, C++ and Rust

                                                                                  Learn how to bring multithreaded applications written in other languages to WebAssembly. WebAssembly threads support is one of the most important performance additions to WebAssembly. It allows you to either run parts of your code in parallel on separate cores, or the same code over independent parts of the input data, scaling it to as many cores as the user has and significantly reducing the over

                                                                                    Using WebAssembly threads from C, C++ and Rust