SlideShare a Scribd company logo
1 of 18
Download to read offline
Grid Application
テンプレートを
紐解く
ググるよりも ググられたい
注意!!
あくまでも Consumer Preview でのお話です。
製品版では変わる可能性があります。
というか、むしろ変わってほしい所もあります。
• ソース読む
• 源典あたる
• 中を漁る
• 試す
navigator.js?

                                  なんかある...




                Application1.PageControlNavigator
PageControlNavigatorが呼ばれる場所は?



デバッグ実行してみると・・・        default.htmlで
                       使われてる




 default.js


navigator.js
コントロールの作り方がなんとなく・・・
             HTMLにdata-win-controlと
             data-win-optionsを定義
              コンストラクタの第1引数に指
              定されている要素、第2引数に
              オプションが渡される模様
              詳細はまだまだ調査が必要
              • WinJS.UI.setOptionsとの兼
                 ね合い
              • プロパティが更新された時
                 の画面更新方法
              • CSSクラスの指定方法
              • etc…
              Ratingコントロールなどシンプ
              ルなコントロールが参考になり
              そう
遷移部分をもう少し
PageControlNavigatorのコンストラクタ
                               先頭ページのURL保持して

                               画面遷移完了イベントひっか
                               けて




                                 画面遷移に画面遷移
遷移イベントを見てみる



              新しい要素を作って


                 Pages.render?
                 URLを渡してるが・・・




              結果を自要素に設定して
              自要素からなんか削除してる・・・
ここから読み取れること

     Navigator           Pages           その他
• 「遷移依頼されたよ」って     • 指定されたURLのHTMLを   • 画面表示するしな
  ことを通知して、指定され       取得                 いは自前で実装
  た値を渡すだけ          • 指定された要素に取得し      • 結構、柔軟に遷移
   • 実際の遷移は行って       た要素を設定             (画面遷移ではな
     いない              • CSSやJSの解決も      い)を制御できる
• ってことは、画面遷移より          やってる模様
  抽象的な遷移の橋渡し役
   • 例えば、Ajaxでよく
     あった次のデータ
     とってきた時に、url
     パラメーター書き換
     えて履歴に放り込む
     ようなのとか
• 履歴も管理してる模様
最低限必要な部分を取り出してみる




              これがないと動かない
              実装の都合っぽいので
              変わりそうな気もする
遷移後の動きをみてみる
groupedItemsPage.js




                      URLをキーにしてPagesオブジェ
                      クトを定義しているらしい




                      readyが呼ばれるらしい
                      ってことでこいつはPagesのイベ
                      ント(っぽいもの)だろう
再び ready 関数




                                     WinJS.UI.processAllしてないの
                                     にいきなりコントロール化され
                                     てる!!


                   考えられること
• default.jsで最初にWinJS.UI.processAllしてるので、追加された要素
  は良しなに自動でやってくれる
• Pagesがロード後に内部的に行っている
Pagesの中を探ってみる
base.js




                  Pagesの定義部分を全選択して
                  検索!!!




defineメソッドの中
に発見
とりあえず消してみる w
1.保存!
                           読み取り専用のため保存でき
                           ません。。。




2.ファイルのプロパティから実態のありかは分かる




3.コピーして読み取り専用はずして、プロジェクトに含める(ui.jsもついでに入れといた)
とりあえず消してみる w その2
4.書き換え成功(戻り値は適当に合わせておく)




5.htmlでbase.jsの参照先を変える

                                   取れない!!!


6.動かして.winControlプロパティが取れないか確かめる




7.もちろんもとに戻して取れるかも確かめる
• ソース読む
• 源典あたる
• 中を漁る
• 試す

More Related Content

What's hot

JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
 
Angular jsとsinatraでturbolinks
Angular jsとsinatraでturbolinksAngular jsとsinatraでturbolinks
Angular jsとsinatraでturbolinks
Minori Tokuda
 
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
Shumpei Shiraishi
 
Web Workers
Web WorkersWeb Workers
Web Workers
kaboccha
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
colun
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
Hideki Hashizume
 

What's hot (20)

レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
 
Objective Front-End JavaScript
Objective Front-End JavaScriptObjective Front-End JavaScript
Objective Front-End JavaScript
 
Enhancements with 3D Touch
Enhancements with 3D TouchEnhancements with 3D Touch
Enhancements with 3D Touch
 
本当にあった怖いJS
本当にあった怖いJS本当にあった怖いJS
本当にあった怖いJS
 
Study Intro Backbone
Study Intro BackboneStudy Intro Backbone
Study Intro Backbone
 
200k/sec
200k/sec200k/sec
200k/sec
 
Angular jsとsinatraでturbolinks
Angular jsとsinatraでturbolinksAngular jsとsinatraでturbolinks
Angular jsとsinatraでturbolinks
 
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
 
20080630
2008063020080630
20080630
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門
 
5分でわかる?Backbone.js ことはじめ
5分でわかる?Backbone.js ことはじめ5分でわかる?Backbone.js ことはじめ
5分でわかる?Backbone.js ことはじめ
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
Web Workers
Web WorkersWeb Workers
Web Workers
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
 
グラフで見るMySQL5.6と8.0
グラフで見るMySQL5.6と8.0グラフで見るMySQL5.6と8.0
グラフで見るMySQL5.6と8.0
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
 
Angular の紹介
Angular の紹介Angular の紹介
Angular の紹介
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
 

Viewers also liked

Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話
Kazuhide Maruyama
 
Default
DefaultDefault
Default
hyj163
 
ショートカットの勧め
ショートカットの勧めショートカットの勧め
ショートカットの勧め
Kazuhide Maruyama
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオン
Kazuhide Maruyama
 
Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
 
Computer Tech Introduction
Computer Tech IntroductionComputer Tech Introduction
Computer Tech Introduction
John Woodring
 
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
Karen Shelton, RN
 
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
 

Viewers also liked (18)

Test taking strategies
Test taking strategiesTest taking strategies
Test taking strategies
 
roslyn
roslynroslyn
roslyn
 
Someone Hacked Into Your Facebook
Someone Hacked Into Your FacebookSomeone Hacked Into Your Facebook
Someone Hacked Into Your Facebook
 
Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話
 
Default
DefaultDefault
Default
 
What is xaml
What is xamlWhat is xaml
What is xaml
 
Digital portfolios
Digital portfoliosDigital portfolios
Digital portfolios
 
Room Metro 2014-03-01
Room Metro 2014-03-01Room Metro 2014-03-01
Room Metro 2014-03-01
 
ショートカットの勧め
ショートカットの勧めショートカットの勧め
ショートカットの勧め
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオン
 
Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところ
 
Teaching in a 1:1 Classroom
Teaching in a 1:1 ClassroomTeaching in a 1:1 Classroom
Teaching in a 1:1 Classroom
 
Managing the 1 to 1 Classroom
Managing the 1 to 1 ClassroomManaging the 1 to 1 Classroom
Managing the 1 to 1 Classroom
 
Personal Learning Networks
Personal Learning NetworksPersonal Learning Networks
Personal Learning Networks
 
Computer Tech Introduction
Computer Tech IntroductionComputer Tech Introduction
Computer Tech Introduction
 
Don’t put that phone away
Don’t put that phone awayDon’t put that phone away
Don’t put that phone away
 
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
Public Health Nursing 1912 1930 Pages 259 265 Trachoma Eradication Through In...
 
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
 

Similar to Grid application テンプレートを紐解く

Mvcのすすめ
MvcのすすめMvcのすすめ
Mvcのすすめ
Akura Pi
 
120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり
Takayoshi Tanaka
 

Similar to Grid application テンプレートを紐解く (20)

Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)
 
Devtools.next
Devtools.nextDevtools.next
Devtools.next
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
 
Mvcのすすめ
MvcのすすめMvcのすすめ
Mvcのすすめ
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
20050917
2005091720050917
20050917
 
120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり
 
20141101 handson
20141101 handson20141101 handson
20141101 handson
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 
20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn Seminar20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn Seminar
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 
20080524
2008052420080524
20080524
 
20081003
2008100320081003
20081003
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
20141206 handson
20141206 handson20141206 handson
20141206 handson
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
UnicastWS vol.2
UnicastWS vol.2UnicastWS vol.2
UnicastWS vol.2
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 

Recently uploaded

Recently uploaded (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

Grid application テンプレートを紐解く