vanilla.jsのご紹介
TRANSCRIPT
vanilla.js のご紹介
@kiwanami2014/12/05
id:kiwanami
UIデザイン、プログラマー(※ Emacsも GUI)
もくじ
● 混乱してるけど、歴史から学べる– GUI
– MVC
– 設計● ternjs使いましょう
vanilla.js
●http://vanilla-js.com/
いますぐ、ダウンロード
欲しい機能?
● Selector● Template● XHR● Crossplatform
– Polyfill / CSS
● CSS3– Layout / Transition / Animation
もっと?
● binding– 必要ですか?– 詰めればよい?
● AltJS– エディタ力
→ternjsのご紹介
実際必要になる部品
● Event / State● DOM DSL● Promise● ページ間のデータやりとり● 状態付き履歴● アニメーション統合
なぜつらいのか?
● JS力● 設計力● IDE・エディタ力
・・・そもそも GUIプログラミング環境が進化してない?
GUIの歴史
● 20年以上の歴史● IDE・ GUI設計の歴史
– ソースコードとGUIデザイナ– MVC → との戦い MVVM
・・・まだ続いてる?
「進化(混乱)」はいつまで続くのか?
● 欲しいのはテンプレートなの?– ほとんどテンプレート– bindも view
– VirtualDOMも view
● それで何が嬉しいのかを意識することが大事
参考 : The State of JavaScript in 2015http://www.breck-mckye.com/blog/2014/12/the-state-of-javascript-in-2015/
そもそも、そのMVCでいいのか?
M
C V
個別のMVC
M
C V
ブラウザ内のMVC?
M
C V
M
C V
MVC同士の連携
M
C V
WebappDB
サーバーもMVC?
どこまでがM?
M
C V
WebappDB
クライアントたくさん?
M
C VM変更の通知、トランザクション、排他制御・・・
現代のMVCに必要なもの
● トレーニング、人材● ミドルウエアの寿命、メンテナンス
– 大手が後ろに付いていても危ない例: Flex、 Sliverlight、 XAML、GWT
● 排他制御、変更通知● 大量のデータ
– ページ / Scroll and Append
● トランザクション
現代のMVCに必要なもの2
● リアルタイム通信– WebSocket、 ZeroMQ、その他メッセージング
● 分散系アーキテクチャ設計– サーバー側も含めた設計と実装
MVC、フレームワーク選ぶ前に
読むといいと思います
以上