雑把の UI アーキテクチャー史(MVCからMVVMへ)


UI 

 MVVM  MVC  UI











(一)MVC   

(二)MVC -  MVC   

(三)MVVM(.NET)  

(四).NET   

MVC 

 MVC UI

UI

MVC UI UI


 

MVC 1
MVC  UI



 UI


UI

UI

MVC   MVC 

MVC (GoF ) 

MVC   GoF 
 GoF   MVC 

モジュール 説明
Model アプリケーションオブジェクト、データ管理
View 画面の表現
Controller ユーザー入力に対するインターフェース



 Wikipedia




 MVC ?

Model  View 
 Controller   "View  ?"

""
  Model  View 


 MVC 
MVC 

 WebPC MVC 

MVC (Web)

Web 使 MVC  Ruby on Rails 
モジュール 説明
Model DB へのアクセス
View html ページと html ページの作成
Controller 入力の受け取り。他のモジュールの操作
Web  View  Controller 
View  html  CGI  (?)  Controller 



Model  View  MVC ?

 GoF   Controller 

 

 

 "View PC Web 使" 
PC 使


 MVC (PC)

PC
 Widget  Control  GUI 

 View  Controller 

 GoF   GUI  PC Controller 


VC View  MVC  (...)
UI

 MVC  GUI 


MFC : Document - View

Qt : Model - View

対象 UI アーキテクチャー
PC 拡張 MVC (MV)
Web MVC

  MVC 
 View  

  8, 9  View 
 View  MVC 
"" 


 Web  Web  Google  Web  JavaScript   View 

UI

UI

MVP - Model, View, Presenter

PM -  

 



6UI - IT

 MVC 
 MVP  Presenter MV Controller 使

 UI GUI 

 ? | 




Web  Web 

 
 GUI 

GUI 





()   






()





MVVM(.NET)

 .NET  MVVM 使

.NET  



(一)Win32API  MFC

(二)Java 

(三)C#.NET 

1. 
Windows  GUI C Win32API 
.NET  VC++  API  MFC 使C C++ 使

2.
 Java 
Java  C++ 
 Linux  gnome  KDE 使
 Java  OS  Windows 

3. 
MS C#  .NET 
 Form  .NET   .NET 
6UI   MVC 

WPF

.NET  GUI  WPF 






Form   

使 WPF 
 


使  

WPF VS  Form 使
 使    



MS使  

使 WPF   使? 
 MS使
 


MVVM 

  WPF 使  Form 

View 



 MVVM 
 MVP  PM  MVVM 

WPF  MODEL-VIEW-VIEWMODEL (MVVM)   # Model-View-ViewModel 

 





 Data  Core   Model ?

 Model 
 XML DB()使  Model 


 Model () DB()
 
 () C++ 

 GoF  使

()


WPF 


 Model 使?
(View)() ViewModel  View  Model 

 ViewModel  ViewModel   ViewModel 

 GoF 


MVVM

MVVM 



View

XAML : XML 

ViewModel



:  ()

 : 
 


View  XML 
  Expression Blend 

使 [OK] 


View 

 MVC (MV)  View  View  ViewModel 

 ViewModel  Controller MVC 
 MVVM 

 MVVM  WPF UI

MVVM 

 MVVM  WPF UI
WPF  MVVM 



WPF  MVVM   

MVVM 
 


MVVM 

 MVVM ()
( MVVM  4使 : C# Visual Studio 2010 )

Prism

MVVM Light Toolkit

.NET 

.NET 

Web 

 Web  JavaScript 
 JavaScript 使

使 Backbone.js AngularJS  MVC 


2 JavaScript 
  Node.js  JavaScript 

 JavaScript  ""  Dart 

 JavaScript 使? | 

MVVM   Dart UI
 MDV(model-driven view)

Web UI Package | Dart: Structured web apps

PC Web  

OS 言語
iOS Objective-C
Android Java

 iOS   Android 



 HTML5 + JavaScript
 JQuery Mobile  Titanium

.NET PC

.NET PC Mozilla  XULQt QML   XML 使
.NET  HTML  JavaScript 使 JavaScript (glue)使

対象 作成
画面レイアウト XML
GUI 部品 GUI ツールキットが提供(C++)
アプリケーション全体 JavaScript
コア、スピードネック部分 C++
 GNOME  GUI  JavaScript 使

JavaScript  GNOME 

?

Web PC  Web 

HTML5 + JavaScript Web    Titanium 


MS Windows Phone OS
PC SilverLight  SilverLight  WPF  MVVM 使

Windows 8  .NET  PC 

 Titanium  TideSDK  HTML5 + JavaScript  Web PC

TideSDK | Create multi-platform desktop apps with HTML5, CSS3 and JavaScript  


 Web  PC
MVC PC Web 3


関連記事
Prev.    Category    Next 

Facebook コメント


コメント

No title

イイ!
こんなに読みやすく解りやすい記事は久しぶりです。
勉強させていただきました!

こんにちは


コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
52位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
11位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

06月 | 2024年07月 | 08月
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介