突然の雷雨で靴も靴下もパンツもびしょ濡れになりながら 【ヒカ☆ラボ】業務アプリケーション開発の「いま」を語る~最新トレンド技術YEOMANとは!?~ に参加してきました。
前々から薄々気になっていたヒカラボ初参加。ヒカリエ近いし帰りやすいし嬉しいです。場所が室内ではなくガラス張りのミーティングルームに囲まれたホールっぽいところでミーティング中の人たちが丸見えで、これもし転職相談中とかだったら ざわざわ してるだろうなと余計な想像をしてました(主催者のレバレジーズさんは転職支援も行っていらっしゃるそうです)。
講師は html5j エンタープライズ部副部長の 佐川 夫美雄 様。エンタープライズ視点でフロントの話聞く機会自体あんまりなかった気がするので新鮮でした。 あと JavaからHTML5ヘ。業務システムの開発におけるWeb技術の変化と適応事例 に結構言いたいこと書いてあるそうです。
以下、個人的に気になったポイントを箇条書きで。
- HTML5 は 2014年に正式勧告
- 営業支援の提案が面白くて結構やっている
- ネットワークがないところに行く => Application Cache と Web Storage
- 営業の場所から効率的な巡回経路を提案 => GeoLocation
- JS はフレームワークを使おう。=> Sencha は Dev と Ops の協業に良い?(よくわからなかった)
- altJS => TypeSctipt は VisualStudio と相性が良いが ECMA 6 でほとんど仕様が吸収されるので将来が危ないかもしれない
- Sass はエンタープライズであまり必要性がない。
- 結局 bootstrap っぽいものを自分で作ることになるし、エンタープライズでもマルチデバイスが入ってきているのでなおさら大変。
- JS フレームワークと Single-page Application (SPA)
- 単一ページによる Web アプリ、ページは DOM の操作で切り替える。
- サーバとのやりとりは REST や WebSocket を使用。
- エンタープライズの寿命は長い。バックエンドはそのままでよくてもフロントは刷新し続けたい。
- 2ヶ月4人で6つの JS フレームワークで同じアプリ作って比較検証した。
- 『ある地点より先に行けなくなる』と困る (AngularJS とか)。
- 結局 Backbone を選んだ。jQuery 使いに親和性がある。
- それにしてもフロントは覚えることがいっぱいある。最近では Marionette.js。
- SPA に必要な技術
- JS フレームワーク (jQuery だけの開発はカオス)
- altJS (JS できますといっても jQuery しか使ったことがないような深く理解している人が少なく人材の確保が難しかった)
- CSS Preprocessor
- 開発環境
- 通信技術
- Web アプリケーションなどのバックエンド技術
- そして HTML5
- SPA の懸念
- パフォーマンス
- メモリリーク
- セキュリティ
- フレームワークロックイン
- 設計思想の転換
- フロントエンジニア不足
- YEOMAN : Google 製統合開発ツール群
- yo (ひな形作成ツール)
- grunt (タスクランナー)
- 開発用簡易サーバーを立ち上げたりできる (grunt serve)
- ファイルを編集して保存するだけで反映される
- bower (フロントエンドパッケージマネージャー)
npm install -g yo
- モックサーバーを簡単に立てられる
- JSON でインターフェースを切れるのでフロントだけでも開発を進められる。
- grunt-easymock はいろいろできるけどややめんどくさい。さくっとやるなら stubby
- three.js のひな形もある。
PHP のプロジェクトとかやってて JS の比率が低くなりがちで bower とか grunt とか使ってはみるもののあんまり恩恵に預かれてないなとか逆に CI 回すのに npm 絡んでくるとややこしいとか悩んでいたんですが、YEOMAN ほど強力な開発支援ツールがあると完全にサーバーサイドと切ってしまってフロントだけ独立して開発するのが良いんだなと思えてきました。
PHP は FW 使ってたとしても RESTful な API に専念してビューは書かないとかすると、結構今もやっとしてる部分も解消されそうな感じかなと。サーバーサイドの FW も最近は規模と機能要件に応じてミニマムからフルフルまで構成選べるとかあるからそれもそういう流れの一部なのかもしれないなと感じました。
参考)