WebAssembly Troubles part 1: WebAssembly Is Not a Stack Machine Preamble This is part 1 of a 4-part miniseries on issues with WebAssembly and proposals to fix them. Part 2 here, part 3 here, part 4 here. This article assumes some familiarity with virtual machines, compilers and WebAssembly, but I’ll try to link to relevant information where necessary so even if you’re not you can follow along. Als
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 → 符号付
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事では Envoy で WebAssembly がサポートされるまでの背景と WebAssembly Hub, WASM OCI Image Specification に関する情報をまとめていきます。 Envoy で WebAssembly がサポートされるまでの背景 2016年に Istio で Envoy が採用されて以来、Istio ではユーザーの多様なニーズを満たすために豊富な拡張性が提供されてきました。Service Mesh の Data Plane の機能を拡張したい理由としては、独自のアクセス制御システ
photon https://silvia-odwyer.github.io/photon/ photonの特徴 引用: photon from GitHub 「Photon」は、WebAssemblyにコンパイルされる高性能のRust画像処理ライブラリ。モジュールに組み込むことで、Web・ネイティブ上で高速な画像処理が可能になります。 Photonを試してみる ヘッダーにある「ファイルを選択」から、処理したい画像をアップロード。 続いて、左メニューに用意された様々なエフェクトを画像に提供していきます。プレビューとともに処理にかかった時間も併記され、高速な処理を実感できます。 画像の反転にかかる時間もわずか47ms! Photonの導入 https://github.com/silvia-odwyer/photon オープンソースとして提供されており、npmで既存プロダクトにモジュールとし
WebAssembly is a new language for the web, although unlike JavaScript it’s not a language you are expected to use directly, instead it is a compilation target for an ever-growing range of languages including C / C++, Rust, C# and TypeScript. However, it is actually possible to write WebAssembly directly by hand. It turns out this is an educational and enjoyable process, which I will explore in thi
【WebAssembly初心者必読】バイナリコードを使って「 WebAssembly 」の基礎を徹底解説してみた! WebAssembly はウェブ上での利用に適した軽量でポータブルなデータフォーマットです。ゲームなどの実行速度が求められる分野で使えるように、JavaScript よりも読み込み速度や実行速度を早くすることを念頭に設計されています。それを実現するために、WebAssembly では機械語のようなバイナリコードをブラウザ上で使うようにしています。 JavaScript の生みの親であるブレンダン・アイクが 2015 年 6 月に WebAssemblyを発表してから 2 年が経ち、多くのブラウザで使えるような状況が整いつつあります。 そこで、この記事では WebAssembly のバイナリコードを使ったサンプルのコードを通して、WebAssembly を簡単に紹介したいと思い
こんにちは、メルペイエキスパートチームインターンの@kateinoigakukunです。 本記事では私がインターンの中で開発しているSwift言語のWebAssembly対応について紹介します。 背景 メルペイでは「技術をアウトプットするところに技術は集まる」という思いから、 稼働の50%以上を技術コミュニティへの貢献や技術の普及に取り組むエキスパートチームが存在します。 私は主にSwiftコミュニティへの技術的な貢献に注力しています。特に去年の10月頃からSwiftのWebAssemblyサポートを進めています。 WebAssemblyはブラウザで実行可能なバイナリ形式として開発されている低級言語です。またブラウザ以外の環境でも実行できるポータブルな形式としても設計されており、活用できる用途は多岐にわたります。 Swiftは教育の現場でも取り扱われるケースが増えてきており、注目されている
WebAssembly Summit というカンファレンスへ参加してきました。午後にあったセッションのまとめです。午前のまとめはこちらへどうぞ。 TD;DR; 午後は応用事例について扱いました。Web アプリケーションでの事例と Web 外での事例が 2 件ずつ紹介され、最後に WebAssembly のパイの拡大する様子を振り返りました。よくあるカンファレンスらしい内容だったように思います。 WebAssembly Music オーディオプログラミングの経験が長いスピーカーによる、ライブコーディング環境のデモと紹介でした。この Web アプリでは、SonicPi のように、パターンや音源をコードとして表現することで、音を使ったライブパフォーマンスができます。 ・音の再生パターンを AssemblyScript(?) として表現できる。 ・音色をコントロールは AssemblyScript
はじめに 趣味の自作言語で WebAssembly を吐いてみようかなと思いました。が、WebAssembly の仕様書を読むだけで理解するのは困難です。そこで手を動かしながら仕様書を少しずつ追いかけていくことで理解しようと思いました。せっかくなので誰か(主に数週間後の自分)の役に立てばなあ、と思い思考の記録を取った次第です。 参考文献 WebAssembly Specification 仕様書です WASM のバイナリの構造 WASM のバイナリは module です(これは正確な言い回しではないかもしれません。Overview の Modulesをよんで)。module の binary encoding はModulesに書いてあります。 ごちゃっとしていて圧倒されますが、以下の3点を押さえると読みやすくなると思います。 module は magic -- version -- se
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
マイクロソフト、「Blazor WebAssembly」正式版を5月にリリース。BlazorでPWAやデスクトップアプリも開発へ マイクロソフトは1月14日(日本時間1月15日未明)にオンラインインベント「.NET Conf Focus on Blazor」を開催、同社が開発中のWebアプリケーションフレームワーク「Blazor」の最新動向と今後について明らかにしました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングでSPA(Single Page Application)のWebアプリケーションを開発できるため、.NETの知識や経験をWebアプリケーションに活かせると同時に、Visual StudioなどC#に対応した豊富な開発ツールによる開発生産性の向上を期待できるとい
Node.js / Denoで始める手書きWebAssembly この記事は Deno Advent Calendar 2019 10 日目の記事(大遅刻)です。 最近 WebAssembly(以下、Wasm)の text format (wat) を少しだけ勉強しています。 Wasm を動かす環境として、一番ベーシックなのはブラウザ (Chrome / Firefox など) ですが、気軽に書いて試すにはやはり Terminal 上で完結させたいと思いました。 Terminal 上で Wasm を動かすにあたっての選択肢は、下記の 2 つがあります。 Node.js (フラグ付き) Deno 本記事では、手書きWasmをコンパイルして上記の2つの環境で動かす方法を紹介します。 用意するもの Node.js v13 Deno wabt WebAssembly のツールキット wat を W
WebAssembly を人間が読んだり編集したりできるようにするため、 Wasm バイナリー形式にはテキスト表現が存在します。これはテキストエディター、ブラウザーの開発者ツールなどで見せるために設計された中間表現です。この記事では、テキスト形式のしくみ、生の構文、および元のバイトコードの表現との関係 (と JavaScript で Wasm を表現したラッパーオブジェクト) について説明します。 メモ: この記事は、あなたがウェブ開発者で Wasm モジュールをページに読み込んでコード内で使用するだけなら過剰なものかもしれません (WebAssembly JavaScript API の使用を参照)。しかし、例えば、パフォーマンスを最適化するために Wasm モジュールを書きたいときや、あなた自身で WebAssembly コンパイラーを作るときには役に立ちます。 バイナリー、テキスト形
WebAssembly版のTensorFlow.jsが登場、Webブラウザでの推論処理を10倍以上高速に実行 Googleがオープンソースで公開している機械学習ライブラリTensorFlowの1つとして、Webブラウザ上で機械学習のモデルの構築、学習、学習済みモデルによる推論の実行などが可能になるJavaScriptライブラリ「TensorFlow.js」があります。 TensorFlow開発チームは、このTensorFlow.jsの内部で行われている処理をWebAssemblyで実装した「WebAssembly backend for TensorFlow.js」のアルファ版を発表しました。 We’re excited to release the Alpha of our WebAssembly backend for TensorFlow.js! WASM has wider dev
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く