JavaVMをWebAssemblyで実装した「CheerpJ 4.0」正式リリース、Java 11に対応 Leaning Technologiesは、Webブラウザで実行可能なJavaVMのWebAssembly実装である「CheerpJ 4.0」正式版をリリースしました。 CheerpJ 4.0はOpenJDKのJavaランタイムをWebAssemblyで実装したもので、Java 11に対応。既存のJavaアプリケーションを再コンパイルなどを必要とすることなく、ビルド済みのJarファイルをそのままWebブラウザで実行可能です。 CheerpJ 3.xまではJava 8対応だったため、今回のバージョンアップで実用性が高まったと言えそうです。 #CheerpJ 4.0 is here! Read the latest blog post by @alexpignotti and @smmd
近年のWebアプリケーションは、単なる情報表示にとどまらず、複雑なデータ処理や高度な計算処理を必要とするケースが増えています。TypeScriptは型安全性と優れた開発体験でフロントエンド開発の標準となりつつありますが、パフォーマンスが重要な処理においては限界に直面することもあります。 一方、WebAssembly(以下Wasm)は、ブラウザ上で動作する低レベルなバイナリフォーマットとして、ネイティブに近いパフォーマンスを実現する技術です。C++やRustなどの言語からコンパイルされ、JavaScriptとシームレスに連携できるため、Web開発の可能性を大きく広げています。 しかし、「いつ、どないな場合にWasmを導入すべきなんか」「導入コストに見合う性能向上が得られるんか」といった疑問に対する実践的な回答は、まだ共有が不十分です。 この記事では、大規模データ処理に焦点を当て、TypeSc
WebAssembly 興味あるけど何?調べても、どうやって動いてるのかさっぱりわからないんだけど…という方多いのではないでしょうか!自分もそうでした 😂 この記事では、 WebAssembly の目指しているゴールをその具体例とともに示し、みなさんの今後の深堀りを行うためのインデックスとしてお役にたてれば幸いです!なお、この記事は以下のような読者を想定しています。 WebAssembly がどういうものか知りたい人 自分が作った WebAssembly がブラウザで実行されるまでの仕組みを知りたい人 はじめに 以下に書いてあることのほとんどは MDN に書いてあることをベースに、自分なりに丁寧に書き下したものになります。 非常によくまとまっているので、この記事と併せて読んでいただけると、より理解が深まると思います 💪 歴史 この技術が登場したことの背景を理解することは WebAsse
画像変換の WebAssembly 利用 本稿では、画像サイズ変更やフォーマット変換といった処理を WebAssembly で行う方法について紹介します。また、必要に応じてマルチスレッドを使用することで、処理を並列化し、より高速な実行を実現できます。 なぜ画像変換を WebAssembly で行うのか JavaScript は大量のビットデータの扱いには強くありませんが、WebAssembly は SIMD(Single Instruction, Multiple Data)などを使い、並列処理をサポートしています。これにより、画像変換のような重い計算を高速化できます。また、WebAssembly はブラウザだけでなく、Node.js や Deno など他の環境でも利用可能です。 今回は Emscripten を使用して C++でコンパイルを行います。WebAssembly に関して Ru
A few weeks ago, we launched Dagger Cloud v3, a completely new user interface for Dagger Cloud. One of the main differences between v3 and its v2 predecessor is that the new UI is written in WebAssembly (WASM) using Go. At first glance, this might seem an odd choice - Go typically isn't the first language you think of when deciding to program a Web UI - but we had good reasons. In this blog post,
WebAssemblyガベージコレクション機能がWeb標準の「Baseline」に。Safari 18.2でのサポート開始で これにより多くのWebデベロッパーが安心してWasmGCの機能を利用できることになります。 WasmGCとは Webブラウザ上で高速に実行できるバイナリフォーマットとして登場したWebAssemblyは、もともとガベージコレクション機能がありませんでした。 そのためにWebAssemblyアプリケーションを開発するプログラマは、プログラマ自身が確保したメモリの解放に責任を持つ必要がありました。もしも確保したまま解放し忘れたメモリがあると、どんどんプログラムが確保するメモリが増大していき、最終的にはメモリ不足などのエラーを引き起こすことになるためです。 WasmGCは、このWebAssemblyにガベージコレクション機能を持たせる機能です。アプリケーションによって割り
高速多機能なターミナルエミュレータ「Ghostty 1.0」正式リリース、ミッチェル・ハシモト氏が開発。今後はWebAssembly化による対応プラットフォーム拡大も HashiCorpの創業者の一人であるミッチェル・ハシモト氏は、個人のプロジェクトとして開発してきたターミナルエミュレータ「Ghostty」の正式リリースとなるバージョン1.0を公開しました(本記事公開時点でバージョン1.0.1が最新バージョン)。 合わせてオープンソースとしてGitHubでソースコードも公開されました。 https://t.co/39Xj39wheA pic.twitter.com/PH0qejFB4z — Mitchell Hashimoto (@mitchellh) December 26, 2024 ハシモト氏は2023年12月にHashiCorpを退職していますが、以前から個人のプロジェクトとしてタ
Firefox、WebAssemblyのコンパイル処理が75倍速に。SpiderMonkeyのJITコンパイラ改善で FirefoxのJavaScriptエンジンでありWebAssemblyの実行エンジンでもある「SpiderMonkey」の開発チームは、WebAssemblyのコンパイル処理を従来よりも最大で75倍高速にする改善を行ったことを、ブログ「75x faster: optimizing the Ion compiler backend | SpiderMonkey JavaScript/WebAssembly Engine」で明らかにしました。 二段目のコンパイラがメモリを使いすぎている この性能改善のきっかけは、マイクロソフトがオープンソースで公開している機械学習ライブラリ「ONNX Runtime」のWebAssembly版をSpiderMonekyで実行した際に、最適化の
WebAssemblyランタイム「Wasmer」がiOSをサポート、iOS上でWebAssemblyを実行。「Wasmer 5.0」正式版リリース 米Wasmer社はスタンドアロンなWebAssemblyランタイム「Wasmer 5.0」の正式リリースを発表しました。 Wasmer 5.0では、iOSのサポート、WebAssemblyランタイムのバックエンドがV8やWAMRなどに変更可能になるなどの新機能が加わりました。 Introducing Wasmer 5.0. Experimental V8, Wasmi and WAMR backends iOS support Enhanced Performance Upgraded LLVM and Cranelifthttps://t.co/wpwcmMT0tg — Wasmer (@wasmerio) October 29, 2024
11月15日、Leaning Technologiesが「WebVM 2.0: ブラウザ上で稼働する完全なLinuxデスクトップ環境」と題した記事を公開した。この記事では、ブラウザ内で実行可能なLinuxデスクトップ環境「WebVM 2.0」の機能とその技術的な仕組みについて詳しく紹介されている。 WebVMとは WebVMは、ブラウザ内でクライアントサイドで実行される完全なLinux環境であり、永続的なデータストレージ、ネットワーキング、Xorgおよびデスクトップ環境をサポートする仮想マシンである。WebAssemblyを利用し、現代のほぼすべてのブラウザで動作するため、モバイルブラウザにも対応している。Leaning Technologiesによって開発されたx86仮想化エンジン「CheerpX」を基盤にしている。 WebVM 2.0の新機能 新たにリリースされたWebVM 2.0では
スタンドアロンなWebAssemblyランタイム「Wasmer」の開発元であるWasmer社は最新のWasmer 4.4の新機能として、C言語をWebAssemblyにコンパイルし、WebAssembly環境でそのまま実行可能する機能を発表しました。 下記はWasmer社が用意した、Webブラウザ上にWebAssemblyでBash環境を構築する「wasmer.sh」のコマンドラインから、wasmerによりC言語をコンパイルしてWebAssemblyモジュールを生成し、実行する操作を筆者のWindowsマシンで実際に試したところです(赤線は筆者による)。 Webブラウザ上でC言語をWebAssemblyにコンパイルし、そのままWebAssembly環境上で実行できています。 合わせて登場したJavaScript SDKによってNode.jsやBunなどのサーバサイドのWebAssembly
浮動小数点数にはIEEE 754という標準規格がありますが、規格の範囲内であっても僅かに実装による差異が認められています。その一つがNaNのビットパターンです。 WebAssemblyはNaNのビットパターンに関しては実装依存の結果を許容しており、Wasmランタイムは特に深い理由がなければホストCPUの浮動小数点命令をそのまま用いると考えられるため、結果として「WasmからNaNのビットパターンを観測することでホストのCPUの命令セットを推測する」ことができます。 ここでは、「x86(_64)」「RISC-V」「その他(Armなど)」の3択で判定することを目指します。 判定コード 判定するコードは以下です: #include <inttypes.h> #include <stdio.h> #include <string.h> float u32_to_f32(uint32_t x) {
Rust and WebAssemblyでSPAを作ってみよう:Webアプリ実装で学ぶ、現場で役立つRust入門(12) 第12回からは、第11回までで作成した投稿アプリの延長として、Rust and WebAssemblyでTODOアプリを開発します。第12回では、プロジェクトの構築やさまざまな準備のためのコードを通じて、Rust and WebAssemblyの基本的な利用方法を理解します。
「Porffor」は、JavaScript/TypeScriptをWebAssemblyバイナリやネイティブバイナリへとコンパイルする実験的なツールであり、これまでにない2つの特徴を備えています。 1つ目はJavaScript/TypeScriptをコンパイルしてWebAssemblyバイナリやネイティブバイナリを生成しようとしている点です。 これまでもJavaScript/TypeScriptをWebAssemblyに変換するツールは存在していましたが、JavaScriptのコードとWebAssembly版のJavaScriptエンジンを1つにパッケージングするという手段で実現していました。 実行時には、パッケージ内部のJavaScriptコードをWebAssembly版JavaScriptエンジンで実行していたのです。そのため生成されたバイナリの大きさは比較的大きく、また実行速度はあく
はじめに PGliteの概要 PGliteの特徴 PGliteを試す ブラウザで使う PGliteの速度計測 まとめ はじめに こんにちは!エンジニア2年目のTKDSです! 今回はPGliteについて調べてみました! 概要・使い方・速度実験・まとめの内容で記事は構成されています。 使ってみた結果として、軽量高速であり色々使いみちがありそうなツールだと感じました。 ぜひ最後まで読んでいただけると幸いです。 PGliteの概要 PGliteは、PostgreSQLをWebAssembly(WASM)にコンパイルした軽量なデータベースエンジンです。 これにより、ブラウザ、Node.js、Bun、DenoなどでPostgreSQLの機能を利用でき、開発者はローカルやサーバーレス環境でデータベース操作を行うことが可能です。 PGliteは、インメモリデータベースやファイルシステム(Node.jsやB
執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く