vim.wasmがすごい

(WebAssemblyを勉強してみた!)
PROFILE

  • @yukpiz(Twitter/Github)
  • redish Inc(Engineer)
  • #golang #vim #crypko
  • #AWS #Rails #Angular #Android
  • #Fishing #Anime #小型船舶操縦士1級
redish Inc

レストラン予約代行のコンシェルジュサービス

Service Vision: レストラン体験を豊かに
Company Vision: 全ての繋がりを価値あるモノに

採用もあるよ!
vim.wasm?
  • https://rhysd.github.io/vim.wasm/
  • vim/vimの実験的なWebAssemblyコンパイル
  • テキストエディタがブラウザで動いている
  • vim.jsではない、なにこれ?

WebAssembly?
  • 2015年6月に発表された
  • ブラウザ上で実行可能なバイナリフォーマット
  • C/C++, Rust, Go, C# → wasm
  • 2017年11月に主要ブラウザが対応している
C/C++ → emcc/em++ → wasm/js/html

Cで書いた関数をjavascriptで呼び出してみる
Golang for WebAssembly(Go 1.11+)

Cだとちょっとつらいけど、GoだとライブラリのWebAssembly化捗るよね!

Qt for WebAssembly
qt/qtbase(wip/webassembly)
qmake環境構築間に合わず・・

まだまだこれから
  • WebAssemblyがJavaScriptを置き換えるか? == No
  • WebAssemblyが何を目指しているのか、ドキュメントにしっかり書いてあった
  • ちゃんと使ってみて勉強してみたら色々わかってきた
  • これまでパフォーマンス面でJavaScriptで実現の大変だったところをサポート
  • 新しい技術の1つとして色んな言語やライブラリのサポートが楽しみ
  • なんかおもろい
期待
  • Qt(for WebAssembly)
  • Vim(vim.wasm)
  • OpenCV(Build cv-wasm.wasm)
  • Golang(WebAssembly (“wasm”) support)
ご静聴ありがとうございました!
@yukpiz