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

技術 - WebAssemblyの記事一覧

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

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

もっと見る

List

  • 2020/09/19

Piccolo - ローカルやWebで遊べるオセロゲーム

ちょっと時間が空いた時、ちょっと休憩したいと思わないでしょうか。頭をしっかり使った分、リラックスさせたくなります。寝たりするのもいいですが、ちょっと頭の使い方を変えるだけでリフレッシュできたりします。今回紹介するPiccoloはGUIまたはWebで遊べるオセロゲームです。## Piccoloの使い方こちらはWeb版です...

List

  • 2020/09/06

WACC - WebAssemblyを使って固有のコーリングカードを生成

離席時に誰かから電話や訪問があった際に使われるのがコーリングカードです。日本でも付箋紙を貼ったり、名刺を置いておいたりするでしょう。オンラインやリモートワークの時代になり、徐々にそうした文化も失われていきそうです。WACCが提案するのはコーリングカードをWebAssemblyで作るというアイディアです。固有の形状を生成...

List

  • 2020/08/24

Pixelated video - Webカメラの映像をドット絵に変換

ドット絵は昔ながらの味わいがあって楽しいものです。グラフィックスが洗練された現代にあっても、ドット絵が好きという人は多いでしょう。写真などをドット絵風にする場合、単にモザイクのようにマス目に区切ればいいという訳ではありません。そんなドット絵変換を体験できるのがPixelated videoです。Webカメラの映像をドッ...

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で実装されています...