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

業務システムにこそWASM

 業務システムにこそWASM

Atsushi Nakatsugawa

December 14, 2018
Tweet

More Decks by Atsushi Nakatsugawa

Other Decks in Technology

Transcript

  1. PAGE DAY 2017/11/01 # MOONGIFT / 12 業務システムの悩み • 某SIer勤務 M.Mさん(仮名)35歳の場合

    • ソースコードの漏洩が怖い • 静的な型付け欲しい(TypeScriptでも良いのですが…) • ネイティブアプリに比べて実行速度が… 2
  2. PAGE DAY 2017/11/01 # MOONGIFT / 12 そんなあなたにWebAssembly! • バイナリなのでソースコードは見られません!

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

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

    一部メソッドがSafariにない • WebAssembly.instantiateStreaming → WebAssembly.instantiate + αで代替 • WebAssembly.compileStreaming → WebAssembly.compile + αで代替 • GCないし… • IEェ… • スマートフォン/タブレット向け業務システムではじめるとか? 7
  5. PAGE DAY 2017/11/01 # MOONGIFT / 12 実行速度 • Pros


    速い!(ただしロジックに限る) • Cons
 Webアプリの遅さって大抵DOMとネットワークだよね… 8
  6. PAGE DAY 2017/11/01 # MOONGIFT / 12 開発効率性 • Pros


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


    選んだ言語次第 • Cons
 WASMに新機能(GCとか)が追加される可能性 10
  8. PAGE DAY 2017/11/01 # MOONGIFT / 12 Go 1.11以降の特徴 •

    Goが公式にWASMをサポート • syscall/jsでDOM、ネットワークをサポート 13