Contenu connexe Similaire à Next Generation Web Application Architecture (15) Plus de Koji SHIMADA (20) Next Generation Web Application Architecture1. リッチクライアント
時代のWebアプリケーション
アーキテクチャ
パターンについて考える
Next Generation Web Application
Architecture.
2012-02-21 Ruby Sapporo Night vol.14
アップルストア札幌
日本Rubyの会
Ruby札幌
しまだ こうじ
SHIMADA Koji
2012年2月23日木曜日
2. ...はるかな彼方の昔、ある場所で、何もなく無菌状態の空間
を漂っていた、でたらめに集まった原子の小さな集合に、そ
れは深刻な外傷を与えた。そして、異常な、とてもありそう
もないパターンで原子たちを離れないように結びつけてし
まった。このようなパターンは自分自身をコピーするという
ことを早いうちに覚えてしまい(これはパターンが非凡なもの
であることの一面を示している) 、パターンが漂うすべての
惑星で、塊状の災難が引き起こされ続けた。このようにして
宇宙に生命が誕生したのである。
『銀河ヒッチハイク・ガイド』
2012年2月23日木曜日
3. しまだ こうじ
島田 浩二
Photo by tmaeda
2012年2月23日木曜日
12. よろしく
お願いします
2012年2月23日木曜日
13. リッチクライアント
時代のWebアプリケーション
アーキテクチャ
パターンについて考える
Next Generation Web Application
Architecture.
2012-02-21 Ruby Sapporo Night vol.14
アップルストア札幌
日本Rubyの会
Ruby札幌
しまだ こうじ
SHIMADA Koji
2012年2月23日木曜日
14. お品書き
✓ クライアントMVCって何だろう
✓ もういちどMVC
✓ MVC系のパターンの系譜について
✓ もういちどクライアントMVC
2012年2月23日木曜日
16. Backbone.js gives structure to web applications by
providing models with key-value binding and
custom events, collections with a rich API of
enumerable functions, views with declarative
event handling, and connects it all to your existing
API over a RESTful JSON interface.
2012年2月23日木曜日
17. Demo
https://github.com/snoozer05/backbone-tiny-example
2012年2月23日木曜日
20. MVCはさまざまな解釈をされてしまっ
ているにも関わらず、それら全てが
MVC という名前で記述されている。
もしそれで混乱しないようなら、あな
たも伝言ゲームによるMVCの誤解の犠
牲者の可能性がある。
http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
21. 現在のWebアプリケーション
開発でよく耳にするMVC
http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
22. MVC Model 2
当時 のWebアプリケーションに
MVCアーキテクチャを当てはめたもの
http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
25. 30 Smalltalk
MVC
2011 3 30
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
26. MVC
• Model-View-Controller
• XEROX PARC LRG Trygve Mikkjel Heyerdahl
Reenskaug 1978-1979
– MODELS - VIEWS – CONTROLLERS
• http://d.hatena.ne.jp/digitalsoul/20100913/1284330448
– DynaBook
•
•
•
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
27. Model-View-
Controller
•
• 1987
• (FXIS)
• 3
• 1988 OJT
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
29. Model-View-
Controller
• MVC
– Smalltalk
–
•
•
•
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
31. MVC
• MVC
• MVC
• MVC
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
32. MVC
•
•
•
•
•
•
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
33. MVC
•
•
– changed:
– update:
–
–
•
•
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
34. MVC
• (VC)
• M VC
– ( )
( )
• on:aspect:menu:
•
•
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
36. 率直に言って、古典的なMVCは
今のリッチクライアントに対しては
あまり用をなしません。
http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
38. MVC系アーキテクチャパターン
✓ Presentation Model
✓ Application Model
✓ MVVM
✓ MVP
2012年2月23日木曜日
39. MVC系アーキテクチャパターン
✓ Presentation Model
✓ Application Model
✓ MVVM
✓ MVP
2012年2月23日木曜日
40. Presentation Model
✓ ドメインロジックとプレゼンテー
ションロジックをモデルの層で分離
✓ View は Model の手前に置かれ
た Presentation Model を監
視する
2012年2月23日木曜日
42. 古典的なMVCが
持っていた問題を
解決しようとしたもの
2012年2月23日木曜日
43. 古典的なMVCが持っていた問題
✓ システムに存在するロジックは
ビジネスロジックだけじゃない
✓ プレゼンテーションロジックの
置き場が問題
✓ MVC では View か Model
におくしか無い
2012年2月23日木曜日
45. Presentation Model
✓ Application Model
✓ Visual Works でのアプローチ
✓ Model-View ViewModel
✓ WPF でのアプローチ
2012年2月23日木曜日
46. MVC系アーキテクチャパターン
✓ Presentation Model
✓ Application Model
✓ MVVM
✓ MVP
2012年2月23日木曜日
47. Model View Presenter
✓ 入力制御はOSさんがやってくれる
のでコントローラさんが退場
✓ 直接 View 側を操作したいプレゼ
ンテーションロジックもあった
✓ ロジックを持つ側で直接いじれる
人が必要
2012年2月23日木曜日
52. MVC系アーキテクチャパターン
✓ Presentation Model
✓ Application Model
✓ MVVM
✓ MVP
2012年2月23日木曜日
53. MVC系アーキテクチャパターン
ドメインロジック以外のロジック
をどこに置いて、それと他のコン
ポーネントをどううまく協調させ
るかの実践の歴史
2012年2月23日木曜日
56. Web アプリケーションの
世界にも、リッチクライア
ントと大規模化によってプ
レゼンテーションロジック
問題との戦いが本格化しつ
つある
2012年2月23日木曜日
58. MVCはさまざまな解釈をされてしまっ
ているにも関わらず、それら全てが
MVC という名前で記述されている。
もしそれで混乱しないようなら、あな
たも伝言ゲームによるMVCの誤解の犠
牲者の可能性がある。
http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
60. MVC Model 2
当時 のWebアプリケーションに
MVCアーキテクチャを当てはめたもの
http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
61. MVC Model 2
当時 のWebアプリケーションに
MVCアーキテクチャを当てはめたもの
ではなく
http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
62. MVC系アーキテクチャパターン
✓ Presentation Model
✓ Application Model
✓ MVVM
✓ MVP
2012年2月23日木曜日
63. まだ(僕が)しっくりきていないこと
✓ プレゼンテーションロジックにもド
メインロジックにもうまくおけない
ようなロジックもあるような...
✓ クライアント側に何を置いてサーバ
側に何を置いてそれらがどう協調す
べきか
2012年2月23日木曜日
67. その他の情報へのポインタ
✓ WPF 向けのモデル - ビュー - プレゼン
ター - ビューモデル設計パターン
http://msdn.microsoft.com/ja-jp/magazine/hh580734.aspx
✓ 開発者が知っておくべき、6つのUIアー
キテクチャ・パターン
http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_10/
greatblogentry_10_01.html
2012年2月23日木曜日
68. リッチクライアント
時代のWebアプリケーション
アーキテクチャ
パターンについて考える
Next Generation Web Application
Architecture.
2012-02-21 Ruby Sapporo Night vol.14
アップルストア札幌
日本Rubyの会
Ruby札幌
しまだ こうじ
SHIMADA Koji
2012年2月23日木曜日
69. ご清聴
ありがとう
ございました
2012年2月23日木曜日