Submit Search
Upload
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
•
Download as PPTX, PDF
•
13 likes
•
6,662 views
Seki Yousuke
Follow
会社内の勉強会で発表した内容です
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 23
Download now
Recommended
Vue.js入門
Vue.js入門
Takuya Sato
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
Toshihiro Kawachi
はじめてのVue.js
はじめてのVue.js
kamiyam .
React.js + Flux
React.js + Flux
dsuke Takaoka
チュートリアルではじめるVue.js
チュートリアルではじめるVue.js
小川 昌吾
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
Vue.jsでさくっとMVVM
Vue.jsでさくっとMVVM
Satoshi Anai
ライオンでも分かるVuejs
ライオンでも分かるVuejs
lion-man
Recommended
Vue.js入門
Vue.js入門
Takuya Sato
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
Toshihiro Kawachi
はじめてのVue.js
はじめてのVue.js
kamiyam .
React.js + Flux
React.js + Flux
dsuke Takaoka
チュートリアルではじめるVue.js
チュートリアルではじめるVue.js
小川 昌吾
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
Vue.jsでさくっとMVVM
Vue.jsでさくっとMVVM
Satoshi Anai
ライオンでも分かるVuejs
ライオンでも分かるVuejs
lion-man
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
Daizen Ikehara
作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月
Takuya Ueda
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
masakazusegawa
DevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJS
Go Tanaka
( ゚∀゚)o彡° Flux! Flux!
( ゚∀゚)o彡° Flux! Flux!
Yuki Ishikawa
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Toshiro Shimizu
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
Masuda Tomoaki
AngularJSを浅めに紹介します
AngularJSを浅めに紹介します
nkazuki
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
20140322
20140322
小野 修司
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
Oda Shinsuke
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Daizen Ikehara
20120128
20120128
小野 修司
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
Shohei Okada
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
誠一郎 栗原
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Shotaro Suzuki
More Related Content
What's hot
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
Daizen Ikehara
作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月
Takuya Ueda
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
masakazusegawa
DevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJS
Go Tanaka
( ゚∀゚)o彡° Flux! Flux!
( ゚∀゚)o彡° Flux! Flux!
Yuki Ishikawa
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Toshiro Shimizu
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
Masuda Tomoaki
AngularJSを浅めに紹介します
AngularJSを浅めに紹介します
nkazuki
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
20140322
20140322
小野 修司
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
Oda Shinsuke
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Daizen Ikehara
20120128
20120128
小野 修司
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
Shohei Okada
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
誠一郎 栗原
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
What's hot
(20)
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
DevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJS
( ゚∀゚)o彡° Flux! Flux!
( ゚∀゚)o彡° Flux! Flux!
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Flux react現状確認会
Flux react現状確認会
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
AngularJSを浅めに紹介します
AngularJSを浅めに紹介します
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
20140322
20140322
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
20120128
20120128
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
Angular js はまりどころ
Angular js はまりどころ
Similar to クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Shotaro Suzuki
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
20130312 OpenStack Day Tokyo プレゼン資料
20130312 OpenStack Day Tokyo プレゼン資料
Takeshi Nakajima
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
Takayoshi Tanaka
MVVM入門
MVVM入門
Kazutoshi Urabe
【VMware】jp developer-summit_2012_final_for_print
【VMware】jp developer-summit_2012_final_for_print
VMwareKK
2012-08-28 アカデミッククラウドシンポジウム(公開版)「クライアント向け仮想化ソフトウェアBitVisorのクラウドへの応用」
2012-08-28 アカデミッククラウドシンポジウム(公開版)「クライアント向け仮想化ソフトウェアBitVisorのクラウドへの応用」
Takahiro Shinagawa
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
Takashi Kanai
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Vco rest api_overview_rev02
Vco rest api_overview_rev02
Virtual Cloud Networkers @JPN
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
Takakiyo Tanaka
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Patrick Chanezon
20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreapps
Takayoshi Tanaka
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Masahiro Tabuki
Hinemosで最大化する、クラウド活用メリット
Hinemosで最大化する、クラウド活用メリット
Hinemos
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Amazon Web Services Japan
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Takakiyo Tanaka
VMware Cloud on AWS のご紹介 -セキュリティ風味-
VMware Cloud on AWS のご紹介 -セキュリティ風味-
Mitsutaka Ohisa
Similar to クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
(20)
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
20130312 OpenStack Day Tokyo プレゼン資料
20130312 OpenStack Day Tokyo プレゼン資料
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
MVVM入門
MVVM入門
【VMware】jp developer-summit_2012_final_for_print
【VMware】jp developer-summit_2012_final_for_print
2012-08-28 アカデミッククラウドシンポジウム(公開版)「クライアント向け仮想化ソフトウェアBitVisorのクラウドへの応用」
2012-08-28 アカデミッククラウドシンポジウム(公開版)「クライアント向け仮想化ソフトウェアBitVisorのクラウドへの応用」
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
Vco rest api_overview_rev02
Vco rest api_overview_rev02
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreapps
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Hinemosで最大化する、クラウド活用メリット
Hinemosで最大化する、クラウド活用メリット
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
VMware Cloud on AWS のご紹介 -セキュリティ風味-
VMware Cloud on AWS のご紹介 -セキュリティ風味-
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
1.
2014.12.12 Fringe81勉強会 クライアントサイド
MVVMアーキテクチャ とVue.jsをまとめたよ presented by Hosomichi copyright Fringe81 Co.,Ltd. - -
2.
copyright Fringe81 Co.,Ltd.
- - シナリオと狙い ・クライアントサイドMV**とは ・クライアントサイドMV**の意義 ・MVVMとは何ぞやを理解する ・Vue.jsデモを通してMVVMを感じる ・Vue.js開発時にどこに何を書くか、 どのような命名にすべきかがイメージできる
3.
クライアントサイド MV**? copyright
Fringe81 Co.,Ltd. - -
4.
クライアントサイドMV** とサーバサイドMVC Model
Controller copyright Fringe81 Co.,Ltd. - - View これをサーバサイドとすると
5.
クライアントサイドMV** とサーバサイドMVC copyright
Fringe81 Co.,Ltd. - - ** View Model Controller View Model
6.
クライアントサイドMV**の意義 ・Viewの肥大化を防ぐ ・デザイン(html/css)と
データ/ロジック(js)を分離 copyright Fringe81 Co.,Ltd. - -
7.
copyright Fringe81 Co.,Ltd.
- - MV** MVC MVW MVP MVVM
8.
MVC MVW MVP
MVVM copyright Fringe81 Co.,Ltd. - - MV**
9.
MVVM (Model-View-ViewModel) もともとは.NETの概念でWebとPC両面からの
UI実装の黄金パターンを模索する過程から生まれたらしい copyright Fringe81 Co.,Ltd. - -
10.
クライアントMVVMざっくり View Model
Model copyright Fringe81 Co.,Ltd. - - View (DOM) Viewの部品を抽象化 インスタンス保持 双方向データバインディング インスタンス保持 双方向データバインディング
11.
例えば銀行振込フォーム Viewの部品を抽象化 paymentForm
account インスタンス保持 双方向データバインディング copyright Fringe81 Co.,Ltd. - - 1画面にVMは何個あっ てもいい インスタンス保持 双方向データバインディング payment.html branch bank 1VMは何モデル保持し てもいい
12.
ViewPartsの抽象化ができると ★この辺がうれしい 1部品を複数画面に配置することが
容易であり、 1部品のロジック変更の複数画面へ の反映も容易 HTML部品と プログラミングロジックの 親密度が高まって自然な感じ❤ copyright Fringe81 Co.,Ltd. - - 銀行振込フォーム 直接 【Mapping】 #payment_form 振込画面 残高照会 からの 振込画面
13.
ここまではMVVMのお話でした。 どうやってVMはMやVの インスタンスを管理するの?
についてはフレームワークそれぞれの 実装次第に依るのです。 copyright Fringe81 Co.,Ltd. - -
14.
で、Vue.js copyright Fringe81
Co.,Ltd. - -
15.
・MVVMアーキテクチャを採用したクライアントJSフレームワーク ・angularJS(MVW)に似ているが、機能が絞られシンプルでソリッド copyright
Fringe81 Co.,Ltd. - -
16.
copyright Fringe81 Co.,Ltd.
- - 簡単なVue.jsデモ ポイント ・双方向データバインディングを感じる(生と比較) ・モデル側の値を書き換えると? ・VMがフォームを抽象化したインスタンスとなっていること ・ビューとモデルの疎結合っぷり(ロジック配置の自然さ) ・jQueryがグジャグジャ書いてあったりしてなくて整然としている
17.
copyright Fringe81 Co.,Ltd.
- - 簡単なVue.jsデモ Viewの変更監視 Viewの値を変更すると参照して いる角要素の内容が同期して書 きかわる モデルの値も同期して書きかわ る
18.
copyright Fringe81 Co.,Ltd.
- - 簡単なVue.jsデモ Modelの変更監視 Modelの値を直接書き換えると View側も同期して書きかわる この辺が 双方向データバインディング の挙動でありMV**が強みとし ている部分の一つですね
19.
copyright Fringe81 Co.,Ltd.
- - Model 今回はコンストラクタにしてみた。 シングルトンならオブジェクトリテラルでもいいっすね。
20.
シンプルなViewが構成できる(JSコード書かない!) vue.js マスタッシュ
ディレクティブ MとVMロード copyright Fringe81 Co.,Ltd. - - View
21.
ビューのインスタンス保持 モデルのインスタンス保持 バインドデータ変更時イベント
copyright Fringe81 Co.,Ltd. - - ViewModel
22.
copyright Fringe81 Co.,Ltd.
- - 構成について ・モデルのモジュールをクラスファイルを作って設置した (公式デモなどを見る限りモデルは値となっており、オブジェクト(構造体)にはなっていない) ・ビューモデルもクラスファイルを作って設置した ・ビューは尋常じゃなくすっきり ・デザイナーはディレクティブだけでも覚えてくれると連携しやすい
23.
以上でっす! 「JSおくのほそ道」 もよろしくです(PR広告)
http://qiita.com/setzz copyright Fringe81 Co.,Ltd. - -
Download now