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

プログラミング言語 - WebAssemblyの記事一覧

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

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

もっと見る

List

  • 2019/01/07

sandspiel - 破壊的楽しみもある箱庭シミュレータ

シムシティやライフゲームなどの箱庭ゲームは自分の思い描く世界を作り、疑似体験できるのが魅力です。そして時には災害やアクシデントを発生させて、苦労して築いてきた世界を壊してしまう楽しさもあります。今回紹介するsandspielは規模こそ小さいですが、自然現象のシミュレーションができる箱庭となっています。## sandsp...

None

  • 2019/01/02

php-ext-wasm - PHPでWebAssemblyを実行

WebAssebmlyを学ぶと、単にWebブラウザ上で実行できるバイナリファイル以上の価値が見えてきます。WebAssebmlyを実行できるVMがあれば、他の環境でも同じように動かせるフォーマットとなります。つまりWebブラウザに限らず、幅広い環境で動かせる共通ライブラリになり得るのです。今回はその一端を垣間見えるph...

List

  • 2018/12/21

OpenCV.js WASM Web Worker Webpack Demo - WebAssebmlyによるOpenCV.js実装デモ

Web標準の進化は速く、どんどん新しい技術が出てきます。さらに、それらを使った開発を容易にするフレームワークやビルドライブラリも次々とトレンドが変わります。正直、ついていくのが大変な状況です。しかしそんな中だからこそ開発者は果敢にトライしていかなければなりません。今こそ試し、知見をためられるチャンスと言えるでしょう。今...

List

  • 2018/12/14

Go wasm - Goで作ったWebAssembly版JavaScript実行環境

WebAssemblyを使うことでWebアプリケーションを高速に実行できるようになります。RustはDOMやネットワークを扱うのが困難ですが、Go1.11以降では対応しています。これによってWebAssemblyを使ったWebアプリケーションの可能性が大きく飛躍しました。そんなGoでJavaScriptを実行できる環境...

List

  • 2018/11/29

Squoosh - 高性能な画像圧縮Webアプリケーション

デジカメやスマートフォンのカメラが性能向上するのに合わせて画像のサイズがどんどん大きくなっています。その結果、バックアップや写真の表示でネットワーク帯域を消費することになってしまいます。これは今後どんどん問題が大きくなっていくでしょう。Appleでは新しい画像フォーマットHEICを作りました。対してGoogleはSqu...

List

  • 2018/11/06

WebPerl - Webブラウザ上でPerl5を実行

WebAssemblyはWebブラウザ上でコンパイルされた実行ファイルを実行できる仕組みです。CやC++で作られたソフトウェアをEmscriptenを使ってWebAssemblyに変換する例も出てきています。今回はその一例ですが、実に変態的です(褒め言葉)。なんとPerl5をWebブラウザ上で実行します。## WebP...

List

  • 2018/10/01

go-wasm-todo-list - Go製。WebAssemblyのTodoアプリ

WebAssemblyを使うことで、高速に動作するWebアプリケーションが開発できます。コンパイルするのでコードを見られることもありませんし、開発自体は多様な言語で行えます。その一例として、go-wasm-todo-listを紹介します。GoからWebAssemblyに展開して作られたTodoリストアプリです。## g...

List

  • 2018/07/22

Vim.Wasm - Webブラウザ上で動作するVim

ただひたすらに恐ろしい…。現在ローカルアプリケーションが次々にWebアプリケーション化しています。JavaScriptが高機能化、高性能化するのに伴ったものですが、さらにそれを促進しそうなのがEmscriptenです。C言語をJavaScript化するすごい技術です。そんなEmscriptenを活用し、VimをWebA...

List

  • 2018/06/15

PIB - PHPをWebAssembly化してWebブラウザ上で実行

WebAssemblyはCやC++、Rustなどの言語で開発できます(他にもLLVMを生成する言語であれば何でも良いのですが)。つまり元々Cで開発されたソフトウェアはWebAssembly化できる可能性(あくまでも可能性)がある訳です。そんな無謀とも言える可能性を感じさせるのがPIBです。なんとPHPをWebブラウザ上...

List

  • 2018/06/03

mini-c - node製のWebAssemblyコンパイラ

WebAssemblyには未来が感じられます。DOM操作などはできないものの、コンパイルしたコードがWebブラウザ上で動かせるのは魅力的です(しかもWeb標準の技術で!)。しかしまだ開発環境を整えるのは大変なのが現状です。そこで期待したいのがmini-cです。なんとWebブラウザ上でWebAssemblyを生成します。...

List

  • 2018/04/28

WebAssembly Studio - すぐにWeb Assembly開発をはじめられるプレイグラウンド

WebAssemblyは通常、CまたはC++そしてRustを使って開発します(後はAssemblyScriptなども)。いずれの場合も環境を整えるのが手間で、途中で止めてしまう人も多いでしょう。そこで使ってみたいのがWebAssembly Studioです。各種プログラミング言語を使ってWebAssemblyを開発でき...

List

  • 2018/03/01

Perspective - WebAssemblyによるピボットテーブル/グラフ

Webブラウザ上で動かすプログラムは遅い、と感じてしまう方はぜひWebAssemblyにトライしてみましょう。表示にCanvasを使えば高速ですし、コンパイルされているのでコードを見られることもありません。ロジックの隠蔽と表示の高速化、二つのメリットがあります。そんなWebAssemblyによるデモとしてPerspec...

List

  • 2018/02/28

rustynes - Rust製のファミコンエミュレータ

個人的にWebAssemblyにハマっているのでRustを触る機会があるのですが、まだまだWebAssemblyに対応したサードパーティーのライブラリが少なく、実践的ではないと思っていました。しかし、Rustは日進月歩で進化しています。そしてついにRustでファミコンエミュレータが作られました。もちろんWebAssem...

List

  • 2018/02/09

mono-wasm - C#から WebAssemblyを作る

WebAssemblyを記述できるのはC/C++/Rustだけだと思っていないでしょうか。実はLLVMにさえなれば、他の言語でも記述できます。そのため、やろうと思えばSwiftから作ることもできるそうです。そこで注目したいのがmono-wasmです。Monoを使ってC#で記述された内容を WebAssembly にする...

List

  • 2018/02/08

Clang In Browser - Web上でC言語を記述して WebAssemblyに

Webブラウザでコンパイルされたプログラムを実行できる WebAssembly。個人的に非常に注目している技術で、これまで難しかった、認証キーを公開せずにWebアプリケーションでも使えるようになっていくのでさらにWebアプリケーションの利用幅が広がっていくと思われます。そんな WebAssembly はC/C++/C#...

List

  • 2018/01/02

Walt - WebAssemblyに変換できるJavaScriptライクなプログラミング言語

WebAssemblyはRust、C、C++を使って作成します。しかしJavaScriptに慣れた人にすれば、わざわざ別な言語を利用するのに躊躇してしまうでしょう。管理上も別な言語に分かれるのは不便です。そこで使ってみたいのがWaltです。Waltは WebAssemblyに変換できるJavaScriptライクな言語で...

None

  • 2017/12/30

js-webassembly-interpreter - WebAssemblyを解析/実行

WebAssemblyを使うことでコンパイルされたコードをWebブラウザ上で実行できるようになります。Safariでもサポートされたことで、実用的になってきたと言えます。そんな WebAssemblyはC/C++/Rustで書くのが基本です。そんな WebAssemblyのコードを解析したり、CUIで実行できるのがjs...

List

  • 2017/12/23

Rocket wasm - WebAssemblyで作られたシューティングゲーム

WebAssemblyが実用的になってきています。今のところWebAssemblyが書ける言語としてはC/C++またはRustといった感じですが、Rustが個人的には分かりやすくて好きです。そんなRustで作られたゲームがRocket wasmになります。WebAssemblyなのでストレスなく遊べます。## Rock...

List

  • 2017/09/22

AssemblyScript - WebAssemblyに変換できるTypeScriptのサブセット

JavaScriptはWebブラウザ上で実行する際にソースコードが見えてしまう問題がありますが、それはWebAssemblyによって解決できようとしています。しかし、改めて別な言語を覚えるのに二の足を踏んでしまっている方も多いでしょう。そこで使ってみたいのがWebAssemblyです。TypeScript(のサブセット...

List

  • 2016/05/27

ThinScript - C/JavaScript/WebAssemblyに変換できるJavaScript代替言語

ここ数年、JavaScriptの代替言語が多数出てきています。また、JavaScript自身も進化しており、個人的にはECMA2016が書けるようになればCoffeeScriptなどは頼らなくとも良いのではないかと思い始めています。そして今回はさらに新しい言語としてThinScriptを紹介します。TypeScript...