vanilla.jsのご紹介

19
vanilla.js のご紹介 @kiwanami 2014/12/05

Upload: masashi-sakurai

Post on 20-Jul-2015

2.582 views

Category:

Software


6 download

TRANSCRIPT

Page 1: vanilla.jsのご紹介

vanilla.js のご紹介

@kiwanami2014/12/05

Page 2: vanilla.jsのご紹介

id:kiwanami

UIデザイン、プログラマー(※ Emacsも GUI)

Page 3: vanilla.jsのご紹介

もくじ

● 混乱してるけど、歴史から学べる– GUI

– MVC

– 設計● ternjs使いましょう

Page 4: vanilla.jsのご紹介

vanilla.js

●http://vanilla-js.com/

いますぐ、ダウンロード

Page 5: vanilla.jsのご紹介

欲しい機能?

● Selector● Template● XHR● Crossplatform

– Polyfill / CSS

● CSS3– Layout / Transition / Animation

Page 6: vanilla.jsのご紹介

もっと?

● binding– 必要ですか?– 詰めればよい?

● AltJS– エディタ力

→ternjsのご紹介

Page 7: vanilla.jsのご紹介

実際必要になる部品

● Event / State● DOM DSL● Promise● ページ間のデータやりとり● 状態付き履歴● アニメーション統合

Page 8: vanilla.jsのご紹介

なぜつらいのか?

● JS力● 設計力● IDE・エディタ力

・・・そもそも  GUIプログラミング環境が進化してない?

Page 9: vanilla.jsのご紹介

GUIの歴史

● 20年以上の歴史● IDE・ GUI設計の歴史

– ソースコードとGUIデザイナ– MVC → との戦い MVVM

・・・まだ続いてる?

Page 10: vanilla.jsのご紹介

「進化(混乱)」はいつまで続くのか?

● 欲しいのはテンプレートなの?– ほとんどテンプレート– bindも view

– VirtualDOMも view

● それで何が嬉しいのかを意識することが大事

参考 : The State of JavaScript in 2015http://www.breck-mckye.com/blog/2014/12/the-state-of-javascript-in-2015/

Page 11: vanilla.jsのご紹介

そもそも、そのMVCでいいのか?

Page 12: vanilla.jsのご紹介

M

C V

個別のMVC

Page 13: vanilla.jsのご紹介

M

C V

ブラウザ内のMVC?

M

C V

M

C V

MVC同士の連携

Page 14: vanilla.jsのご紹介

M

C V

WebappDB

サーバーもMVC?

どこまでがM?

Page 15: vanilla.jsのご紹介

M

C V

WebappDB

クライアントたくさん?

M

C VM変更の通知、トランザクション、排他制御・・・

Page 16: vanilla.jsのご紹介

現代のMVCに必要なもの

● トレーニング、人材● ミドルウエアの寿命、メンテナンス

– 大手が後ろに付いていても危ない例: Flex、 Sliverlight、 XAML、GWT

● 排他制御、変更通知● 大量のデータ

– ページ / Scroll and Append

● トランザクション

Page 17: vanilla.jsのご紹介

現代のMVCに必要なもの2

● リアルタイム通信– WebSocket、 ZeroMQ、その他メッセージング

● 分散系アーキテクチャ設計– サーバー側も含めた設計と実装

Page 18: vanilla.jsのご紹介

MVC、フレームワーク選ぶ前に

読むといいと思います

Page 19: vanilla.jsのご紹介

以上