第11回勉強会 JSアプリ怪獣エレクトロンの育て方と倒し方の参加レポート
HTML5-Webプラットフォーム部の勉強会第11回勉強会 jsアプリ怪獣エレクトロンの育て方と倒し方に参加したので、そちらの内容をレポートします。
実際にElectronで開発を行うにはどのように開発を行うべきかという内容の古川陽介さんによる「Electron アプリの作り方」、古川さんの講演を受けて便利なのはわかったけれど、セキュリティーリスクはどの程度あるかについての内容のはせがわようすけさんによる「Electron の倒し方」、そしてそれらの内容を踏まえた上で実務にElectronを用いた例を示す酒巻瑞穂さんによる「エレクトロン 対 エンタープライズ光線」の3セッションになります。
以下ではこれらについて詳しく内容を紹介します。
Electron アプリの作り方
登壇者:古川陽介さん(Node.js 日本ユーザーグループ代表)
ElectronのできあがるまでのElectronの概要、すごさ、そして今後学習するにあたり参考にすべき資料について説明がありました。
Electronの概要ですが、
- Electronとはクロスプラットフォームアプリ
- もともとはatom用に作られたもの
- 似たようなプロジェクト(NW.js)があったが、限界を感じて新たに作られたのが始まり
- 中身はnode.jsとRenderer processとChromiumを利用
Electronのすごさについては
- 直接ライブラリーを読み込める
- クロスプラットフォームで読み込める
- 見た目もクロスプラットフォーム化できる(たとえば、photonkitで使えば、Mac OSX風にできる。
- 事例が豊富
参考にすべき資料
また、登壇者の古川さんがelectronicaという簡易ブラウザができるチュートリアルを作成しており、これを通じて一通り学ぶことができます。
質疑応答
Q:セキュリティーはどこで担保されてる?
A:まだ担保されてないので、みんな気を付けよう。細かなことは次の登壇者はせがわようすけさんのブログが詳しい
Q:デバッグのやり方は?
A:devetoolsというのが使えるのでそれを活用するのがいい
Electron の倒し方
はせがわようすけさん(セキュアスカイ・テクノロジー)
当日発表資料:PDF
発表内容
Electronのセキュリティについての話。
セキュリティ面は従来のブラウザに比べてだいぶ危ういので、もしも開発したいならば気合を入れろとのことです。脆弱性が入らないように注意して欲しいとのこと。
HTML5では iframe sandbox というタグができたのでこれを活用することで多少セキュリティーの問題は緩和されるとのこと。
質疑応答
Q:なんとかなりそうですか?
A: 今は真剣にみんな取り組んでいるように思えない
Q:この脆弱性から考えて、Atomなどの脆弱性をつくことは可能?
A:それは答えられない
Q:開発時のセキュリティー面の注意は?
A:気合でつくってください。私は社内アプリでしか使いたくない
Q:はせがわさんならどこから攻める?
A:ソース以外からの被害が最近増えている。データの入力源を攻める
エレクトロン 対 エンタープライズ
酒巻 瑞穂さん (グロースエクスパートナーズ株式会社)
実際に業務に用いられた経験をもとにエレクトロンの魅力および注意点についての発表。導入編、開発編、検証編、運用編、最後に感想という構成でした。
導入するなら、
- 最後まで責任を持てるか
- 手離れしやすいか
- キャッチアップをしっかりできるか
という視点が必要とのこと。
開発については、Node.jsなど今までの技術を流用できることが魅力。
ただし、
- クロスオリジン問題
- DOMを維持するライブラリの場合、特殊なエスケープが必要
- Mainとrenderの2つの処理が動いているので混乱する
- npm -g electronという全く別のツールがある
- Windowsのサポートは7から
などの注意が必要とのことです。
検証については「省力化」を目指した結果、導入コストは「Web Driverのテストに比べたら安く済んだ」とのこと。運用については、更新頻度が2週間に一回行われるのでその点注意が必要。
結論として、同様のインフラができているなら、無理にElectronを利用する必要はない。配信インフラが整ってないなら、Electronにこだわる必要はないが、取り入れる価値はある。
具体的に導入効果がありそうなところとして
- 常駐アプリケーション
- 既存ウェブシステムの延長
が有効だと思われるとのこと。逆に既存資産を置き換えるのは現実的じゃないとのこと。
まとめとしては開発は良いけれど運用は怖い、自動化構築は割と大変、ある程度重要な機能と自動化投資のバランスが大事と語られていました。
そして、前の「Electron の倒し方」の発表を受けて、内製なら有効とのことでした。
感想
やはり「Electron の倒し方」の発表の内容が強烈すぎて、外向きのシステムを作るには開発者全員が怖がるという状態になってしまいました。
ただ、内部システムで使うにはNode.jsなどの技術を転用できることから外に繋がないシステムならば可能性はあるという印象です。
コメントは受け付けていません。