Upgrade to Pro — share decks privately, control downloads, hide ads and more …

業務システムにこそWASM

 業務システムにこそWASM

Emscripten & WebAssembly night !! #6
https://emsn.connpass.com/event/102303/

での発表資料です。

Atsushi Nakatsugawa

December 14, 2018
Tweet

More Decks by Atsushi Nakatsugawa

Other Decks in Technology

Transcript

  1. PAGE # MOONGIFT / 29 DAY 2018/11/24 自己紹介 2 @goofmint

    fb.me/goofmint 中津川 篤司 株式会社MOONGIFT代表取締役 エバンジェリスト コミュニティ 主催 https://www.moongift.jp
  2. PAGE DAY 2017/11/01 # MOONGIFT / 12 ☢ ご注意 ☢

    • 現状のWebAssemblyをビジネスで利用するのは色々危険です
 特にどハマリとか • 用法・用量をご理解の上、自己責任の上ご利用ください 4
  3. PAGE DAY 2018/11/24 # MOONGIFT / 12 hifive? • Web業務システム用のHTML5フレームワーク

    • MVC • jQuery/EJS • 古いWebブラウザサポート(IE8など) • 慎重なアップデート
 (2016年01月28日 1.2.3 → 現在 1.3.2) 5 https://www.htmlhifive.com
  4. PAGE DAY 2017/11/01 # MOONGIFT / 12 業務システムの悩み 6 某SIer勤務 M.Mさん(仮名)35歳の場合

    ソースコードの漏洩が怖い ੩తͳܕ෇͚ཉ͍͠ ωΠςΟϒΞϓϦʹ ൺ΂࣮ͯߦ଎౓͕ʜ
  5. PAGE DAY 2017/11/01 # MOONGIFT / 12 そんなあなたにWebAssembly! • バイナリなので(簡単には)ソースコードは見られません!

    • 任意の静的型付け言語(C/C++/Rust/Go/C#/Kotlin/Swift)使えます! • 実行速度、めっちゃ速いです! 7
  6. PAGE DAY 2017/11/01 # MOONGIFT / 12 業務システムで求められるもの 1. サポート

    2. 安定性 3. 実行速度 4. 開発の効率性 5. 中長期的なメンテナンス 9
  7. PAGE DAY 2017/11/01 # MOONGIFT / 12 安定性 ' •

    一部メソッドがSafariにない • WebAssembly.instantiateStreaming → WebAssembly.instantiate + αで代替 • WebAssembly.compileStreaming → WebAssembly.compile + αで代替 • まだまだ発展途上 12
  8. PAGE DAY 2017/11/01 # MOONGIFT / 12 開発効率性 14 (

    WASMになる言語は増えているので選べる幅が広がっている
 サーバサイド、クライアントサイド、WASMと3つの言語に分 かれる可能性あり…
  9. PAGE DAY 2017/11/01 # MOONGIFT / 12 中長期的なメンテナンス 15 (

    選んだ言語次第です
 まだまだ機能追加するよ!(GCとか)
  10. PAGE DAY 2017/11/01 # MOONGIFT / 12 業務システムに向く理由 • ❤

    処理が速ければ生産性向上に+++ • インストール対象が限定的(対象ブラウザを制限できる) IE死ね • ☕ エンタープライズ大好きJavaも来るらしい(Wikipedia調べ) 17
  11. PAGE DAY 2017/11/01 # MOONGIFT / 12 Go 1.11以降の特徴 •

    Goが公式にWASMをサポート • syscall/jsでDOM、ネットワークをサポート • WASMからlocalStorageを使ったり、DOMイベントを扱ったり! 20