ITエンジニア/デザイナ向けにオープンソースを毎日紹介

技術 - WebAssemblyの記事一覧

プレミアムユーザー限定記事

MOONGIFTプレミアムは、月額500円の有料サービスです。詳細はこちらから

もっと見る

List

  • 2020/07/12

Photon - WebAssemblyで高速画像編集

WebAssembly(WASM)の大きな特徴として、その実行速度が挙げられます。Webブラウザ上で実行されるJavaScriptでは限界があった速度も、WebAssemblyであればネイティブ並の速度で実行できます。そんな実行速度の速さを活かしたソフトウェアがPhotonです。WebAssemblyの力で画像を処理し...

List

  • 2020/06/09

COBOL Pong - COBOL製。Webで動くピンポンゲーム

最近ではあまり聞かなくなってきましたが、ある程度の年齢のエンジニアたちの中には、最初にCOBOLから入ったという人たちがいます。今でも勘定系では数多く使われているすごい言語です(開発したのが軍人、かつ女性

List

  • 2020/05/22

Paint By Wasm - 画像からカラーパレットを生成

デザインを行う際に、色数が多すぎるのはよくありません。数種類の絞り込まれたカラーパレットを作り、そこから選んで使うのが一般的でしょう。そのためカラーパレットを作るのが最も重要な作業になります。写真やイラストなどからカラーパレットを作る場合、便利そうなのがPaint By Wasmになります。## Paint By Wa...

List

  • 2020/05/21

Play FLV in Browser - FLVファイルをWeb上で再生する

Flashといえば、2000年代を代表するWeb技術でした。HTML5とスマートフォン(iPhone)の登場によって一気に主役の場を奪われましたが、それでもかつて作成した資産が多数残っています。例えばFlash製の動画コンテンツもその一つです。今回はFlv形式の動画ファイルをHTML5で再生するPlay FLV in ...

List

  • 2020/02/15

WASM-ImageMagick - ImageMagickをWebAssemblyでWebアプリから使いやすく

様々なローカルアプリケーションがWeb化していますが、JavaScriptの実行速度はネイティブアプリケーションに比べて劣ってしまいます。しかしWebAssemblyを用いることで大幅に改善できます。今回紹介するWASM-ImageMagickは名前の通り、ImageMagickをWebAssembly化したソフトウェ...

List

  • 2020/02/05

ffmpeg.js - Web上で使えるFFMPEG

WebAssemblyを使うことで、これまでのWebでは難しかったスピードでアプリケーションを実行できるようになります。DOMやネットワークが使えないといった制限はありますが、計算処理を高速に行えるのは大きなメリットです。そんなWebAssemblyでは既存のソフトウェアをEmscriptenを通してWebAssmbl...

List

  • 2019/12/26

wasm2lua - WebAssemblyをLuaに変換

WebAssemblyはユニバーサルバイナリとも表現されます。どんな言語であってもWebAssemblyに変換できれば、各プログラミング言語にあるWebAssembly環境(機能拡張など)で実行できます。そんな万能的に使えるWebAssemblyをあえてLuaに変換するのがwasm2luaです。## wasm2luaの...

List

  • 2019/12/16

WASM Flate - WebAssemblyを使ってファイルを圧縮/伸張

WebAssemblyは標準機能としてはDOMやネットワークが使えないので、その適用部分に悩む人も多いでしょう。Webアプリケーションにおいて、UIやネットワークに触れない部分は多くありません。しかし、ローカルアプリケーションとして考えれば、そのようなアプリケーションの方が多いはずです。今回紹介するWASM Flate...

List

  • 2019/12/13

Prism - Rubyが使えるWebフロントエンドフレームワーク

Webブラウザで唯一実行が保障されているプログラミング言語はJavaScriptです。しかし規模の大きなシステムを書きたがらなかったり、サーバサイドは別な言語を使っているケースもあります。そこで今回はRubyでWebアプリケーションが書けるPrismを紹介します。## Prismの使い方デモです。!

List

  • 2019/11/13

Kagura - RustだけでWebアプリケーションを開発するフレームワーク

WebAssemblyを開発する際の最も基本的な言語となるのがRustです。WebAssemblyでは元々DOMやネットワーク操作ができませんが、Rustのwasm-bindingによってWebブラウザ側のAPIを実行できるようになりました。その結果、WebAssembly活用の幅が広がったと言えます。Kaguraはそ...

List

  • 2019/11/10

tinysearch - WebAssemblyを使ったWebブラウザ用全文検索

Webサイトには検索機能をつけるのが基本です。その多くの場合、サーバサイドでデータベースを検索し、その結果を返すようになっています。またはコンテンツデータをあらかじめクライアントサイドに持っておいて、JavaScriptで絞り込んだりします。今回紹介するtinysearchはクライアントサイドで検索を行います。特徴的な...

List

  • 2019/10/29

WebAssembly.sh - WebAssembly製のWebターミナル

Webブラウザでも十分ターミナルが実装できるようになってきました。あえて専用のソフトウェアをインストールする必要もなく、すぐにサーバにアクセスできます。公開鍵認証などは多少面倒ですが、十分使えるレベルです。今回紹介するWebAssembly.shもそんなターミナルの一つですが、WebAssemblyで作られており、PW...

None

  • 2019/09/22

go-web-app - GoによるWebAssembly開発を強力にサポート

GoでWebAssembly(WASM)が書けるようになったことで、GoだけでWebアプリケーションを作るトレンドが生まれています。個人的にもこれは大いに期待する流れです。とは言え、開発環境の準備に手間がかかるのは良くありません。そこで使ってみたいのがgo-web-appです。GoによるWASM開発環境をまるっと用意し...

None

  • 2019/09/10

TinyGo - マイコンやWebAssemblyが作れる軽量なGo言語

Goは一つのコードから各種OSで動作するバイナリが生成できます。Raspberry Piでも動くバイナリが生成できるので、IoTなどでも使えます。しかし、それはRaspberry PiでLinuxが動くからに他なりません。マイコンの場合はどうでしょうか。そこで使ってみたいのがTinyGoです。## TinyGoの使い方...

List

  • 2019/09/04

Ruffle - Rust製のFlashプレイヤー

かつてWebコンテンツの多くを担っていたFlash。今はもう廃れて新作を見ることはほとんどなくなってしまいましたが、今なお利用しているサイトは多いです。WebブラウザもFlashプラグインをサポートしなくなっており、このままでは再生すらできなくなってしまいます。そこで作られているのがRuffleです。なんとWebAss...

List

  • 2019/08/28

Artichoke - WebAssemblyで実装されたRuby

Webブラウザ上でJavaScript以外のプログラミング言語を実行したいと言うニーズはとても強くあります。一つはJavaScriptで実行エンジンを開発する方法、またはコンパイルしてJavaScriptを生成する方法などがあります。最近有力なのがWebAssemblyで実行エンジンを実装する方法です。今回紹介するAr...

None

  • 2019/08/28

psyche - コンパイルしてWebAssemblyを生成する専用言語

WebAssemblyはプログラミング言語ではなく、様々な言語から生成されるWebブラウザ上で動作するバイナリフォーマットです。CやC++、Rustで書くのが基本ですが、GoやJava、C#など多彩な言語からWebAssemblyを生成できます。今回紹介するのはpsycheという専用言語で、OCamlで実装されています...

List

  • 2019/08/15

Random World Map Generator - WebAssemblyで高速に3D/2D地図を生成

ゲームなどで地図データを使いたい時は良くあります。シムシティなどのシミュレーションゲームであったり、ローグライクなRPGでも使えます。そういった時の地図はある程度のランダム性があるとより面白いです。今回紹介するRandom World Map GeneratorはWeb上でランダムな地図データを生成してくれるサービスで...

None

  • 2019/07/25

wasm2kt - WebAssemblyファイルをKotlin/Javaに変換

WebAssemblyはWebブラウザ上のみならず、ユニバーサルバイナリとして様々な環境で実行できるようになっています。WebAssemblyはバイナリだけでなく、テキスト形式にもでき、S式として可読性も多少あるフォーマットです。そこで作られたのがwasm2ktです。WebAssemblyを読み込み、kotlinおよび...

List

  • 2019/07/19

boa - Rust製のJavaScript実行エンジン

RustでWebAssemblyを開発している人は多いでしょう。JavaScriptと比べて高速に動作しますが、コンパイルが伴うので動的に動作を変えるのが困難です。例えばユーザにコードを入力してもらって、それをマクロ的に動かしたいということもあるでしょう。そんな時に使ってみたいのがboaです。Rustで作られたJava...