Your SlideShare is downloading. ×
0
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Next Generation Web Application Architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Next Generation Web Application Architecture

6,342

Published on

Ruby Sapporo Night vol.14 …

Ruby Sapporo Night vol.14
共演者のスライドはこちら: http://d.hatena.ne.jp/tricknotes/20120225/p1

Published in: Technology
0 Comments
18 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,342
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
34
Comments
0
Likes
18
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. リッチクライアント 時代のWebアプリケーション アーキテクチャ パターンについて考える  Next Generation Web Application Architecture. 2012-02-21 Ruby Sapporo Night vol.14 アップルストア札幌 日本Rubyの会 Ruby札幌 しまだ こうじ SHIMADA Koji2012年2月23日木曜日
  • 2. ...はるかな彼方の昔、ある場所で、何もなく無菌状態の空間 を漂っていた、でたらめに集まった原子の小さな集合に、そ れは深刻な外傷を与えた。そして、異常な、とてもありそう もないパターンで原子たちを離れないように結びつけてし まった。このようなパターンは自分自身をコピーするという ことを早いうちに覚えてしまい(これはパターンが非凡なもの であることの一面を示している) 、パターンが漂うすべての 惑星で、塊状の災難が引き起こされ続けた。このようにして 宇宙に生命が誕生したのである。 『銀河ヒッチハイク・ガイド』2012年2月23日木曜日
  • 3. しまだ こうじ 島田 浩二 Photo by tmaeda2012年2月23日木曜日
  • 4. 日本Rubyの会2012年2月23日木曜日
  • 5. 一般社団法人LOCAL2012年2月23日木曜日
  • 6. 2012年2月23日木曜日
  • 7. 2012年2月23日木曜日
  • 8. 2012年2月23日木曜日
  • 9. 2012年2月23日木曜日
  • 10. 2012年2月23日木曜日
  • 11. 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 Koji2012年2月23日木曜日
  • 14. お品書き ✓ クライアントMVCって何だろう ✓ もういちどMVC ✓ MVC系のパターンの系譜について ✓ もういちどクライアントMVC2012年2月23日木曜日
  • 15. 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-example2012年2月23日木曜日
  • 18. クライアントMVC2012年2月23日木曜日
  • 19. Martin Fowler said photo by pragdave2012年2月23日木曜日
  • 20. MVCはさまざまな解釈をされてしまっ ているにも関わらず、それら全てが MVC という名前で記述されている。 もしそれで混乱しないようなら、あな たも伝言ゲームによるMVCの誤解の犠 牲者の可能性がある。 http://martinfowler.com/eaaDev/uiArchs.html2012年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日木曜日
  • 23. MVCのオリジナル ではない2012年2月23日木曜日
  • 24. もういちどMVC2012年2月23日木曜日
  • 25. 30 Smalltalk MVC 2011 3 30 http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年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/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 27. Model-View- Controller • • 1987 • (FXIS) • 3 • 1988 OJT http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 28. http://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html2012年2月23日木曜日
  • 29. Model-View- Controller • MVC – Smalltalk – • • • http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 30. http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 31. MVC • MVC • MVC • MVC http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 32. MVC • • • • • • http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 33. MVC • • – changed: – update: – – • • http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 34. MVC • (VC) • M VC – ( ) ( ) • on:aspect:menu: • • http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai2012年2月23日木曜日
  • 35. Martin Fowler said photo by pragdave2012年2月23日木曜日
  • 36. 率直に言って、古典的なMVCは 今のリッチクライアントに対しては あまり用をなしません。 http://martinfowler.com/eaaDev/uiArchs.html2012年2月23日木曜日
  • 37. 対話型システムのMVC系 アーキテクチャの系譜2012年2月23日木曜日
  • 38. MVC系アーキテクチャパターン ✓ Presentation Model ✓ Application Model ✓ MVVM ✓ MVP2012年2月23日木曜日
  • 39. MVC系アーキテクチャパターン ✓ Presentation Model ✓ Application Model ✓ MVVM ✓ MVP2012年2月23日木曜日
  • 40. Presentation Model ✓ ドメインロジックとプレゼンテー ションロジックをモデルの層で分離 ✓ View は Model の手前に置かれ た Presentation Model を監 視する2012年2月23日木曜日
  • 41. Presentation Model Controller Presentation View 監視 Model Model2012年2月23日木曜日
  • 42. 古典的なMVCが 持っていた問題を 解決しようとしたもの2012年2月23日木曜日
  • 43. 古典的なMVCが持っていた問題 ✓ システムに存在するロジックは ビジネスロジックだけじゃない ✓ プレゼンテーションロジックの 置き場が問題 ✓ MVC では View か Model におくしか無い2012年2月23日木曜日
  • 44. Presentation Model Controller Presentation View 監視 Model Model2012年2月23日木曜日
  • 45. Presentation Model ✓ Application Model ✓ Visual Works でのアプローチ ✓ Model-View ViewModel ✓ WPF でのアプローチ2012年2月23日木曜日
  • 46. MVC系アーキテクチャパターン ✓ Presentation Model ✓ Application Model ✓ MVVM ✓ MVP2012年2月23日木曜日
  • 47. Model View Presenter ✓ 入力制御はOSさんがやってくれる のでコントローラさんが退場 ✓ 直接 View 側を操作したいプレゼ ンテーションロジックもあった ✓ ロジックを持つ側で直接いじれる 人が必要2012年2月23日木曜日
  • 48. Model View Presenter View Presenter (V/C) 操作も可 監視 Model2012年2月23日木曜日
  • 49. ポイント2012年2月23日木曜日
  • 50. Controller と Presenter は 生い立ちの異なるもの2012年2月23日木曜日
  • 51. 整理2012年2月23日木曜日
  • 52. MVC系アーキテクチャパターン ✓ Presentation Model ✓ Application Model ✓ MVVM ✓ MVP2012年2月23日木曜日
  • 53. MVC系アーキテクチャパターン ドメインロジック以外のロジック をどこに置いて、それと他のコン ポーネントをどううまく協調させ るかの実践の歴史2012年2月23日木曜日
  • 54. 最近の JavaScript ライブラリ ✓ Backbone.js ✓ Knockout.js ✓ JavaScriptMVC ✓ Batman.js2012年2月23日木曜日
  • 55. Rails の世界でも ✓ Cells ✓ Draper ✓ ...2012年2月23日木曜日
  • 56. Web アプリケーションの 世界にも、リッチクライア ントと大規模化によってプ レゼンテーションロジック 問題との戦いが本格化しつ つある2012年2月23日木曜日
  • 57. Martin Fowler said photo by pragdave2012年2月23日木曜日
  • 58. MVCはさまざまな解釈をされてしまっ ているにも関わらず、それら全てが MVC という名前で記述されている。 もしそれで混乱しないようなら、あな たも伝言ゲームによるMVCの誤解の犠 牲者の可能性がある。 http://martinfowler.com/eaaDev/uiArchs.html2012年2月23日木曜日
  • 59. クライアントMVC2012年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 ✓ MVP2012年2月23日木曜日
  • 63. まだ(僕が)しっくりきていないこと ✓ プレゼンテーションロジックにもド メインロジックにもうまくおけない ようなロジックもあるような... ✓ クライアント側に何を置いてサーバ 側に何を置いてそれらがどう協調す べきか2012年2月23日木曜日
  • 64. Is this answer? https://gist.github.com/13621102012年2月23日木曜日
  • 65. 先人の知恵に学びつつ さらなる実践と議論が 必要そう2012年2月23日木曜日
  • 66. 続く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.html2012年2月23日木曜日
  • 68. リッチクライアント 時代のWebアプリケーション アーキテクチャ パターンについて考える  Next Generation Web Application Architecture. 2012-02-21 Ruby Sapporo Night vol.14 アップルストア札幌 日本Rubyの会 Ruby札幌 しまだ こうじ SHIMADA Koji2012年2月23日木曜日
  • 69. ご清聴 ありがとう ございました2012年2月23日木曜日
  • 70. Ruby Sapporo Night 2012-02-23(Thu) Apple Store, Sapporo vol.142012年2月23日木曜日

×