KnockjoutJS紹介
by
Chihiro Naganuma
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
KnockoutJSհ ࣾͰհ͖ͯͨͭ͠ 2013/05/15 ͳ͕͵·ͪͻΖ
Slide 2
Slide 2 text
ͳ͕͵·ͪͻΖ • ˏonjiro_mohyahya • Ζ͙Β· • ͍͖͞ΜFuelPHPɾɾɾ • js/Java/Ruby/CSS • Backbone.js͖͢ʔ
Slide 3
Slide 3 text
ࠓͷͳ͠
Slide 4
Slide 4 text
KnockoutJSʹ͍ͭͯ ௐͯΈͨΑ
Slide 5
Slide 5 text
• KnockoutJSͬͯ͜Μͳͷɻ • observable ͱ binding • ίʔυྔগͳΊ • ϚʔΫΞοϓͷมߋͦ͢͠͏
Slide 6
Slide 6 text
࣍ • KnockoutJSͱ • KnockoutJS͍ํ • ͰɺͲ͏Αʁ
Slide 7
Slide 7 text
࣍ • KnockoutJSͱ • KnockoutJS͍ํ • ͰɺͲ͏Αʁ
Slide 8
Slide 8 text
http://knockoutjs.com/
Slide 9
Slide 9 text
• jsͷϥΠϒϥϦ • ΫϥΠΞϯταΠυMV*ϑϨʔϜϫʔΫ • MVVM Patern
Slide 10
Slide 10 text
• jsͷϥΠϒϥϦ • ΫϥΠΞϯταΠυMV*ϑϨʔϜϫʔΫ • MVVM Patern
Slide 11
Slide 11 text
ΫϥΠΞϯταΠυ MV*ͷ͓͞Β͍
Slide 12
Slide 12 text
• ΫϥΠΞϯτଆjsίʔυͷෳࡶԽΛͳΜ ͱ͔͢Δٕज़ͷͻͱͭ • ຊͰBackbone.js͕༗໊
Slide 13
Slide 13 text
JavaScript
Slide 14
Slide 14 text
We love jQuery!!
Slide 15
Slide 15 text
But...
Slide 16
Slide 16 text
࠷ۙͷϦονͰෳࡶͳUIΛ jQuery͚ͩͰ࡞Δͱେม
Slide 17
Slide 17 text
jQueryͰͷ
Slide 18
Slide 18 text
Πϕϯτϋϯυϥͷத Ͱ৭ʑͬͪΌ͏
Slide 19
Slide 19 text
• DOM͔ΒσʔλऔΓग़͠ • AjaxͰαʔόʔͱσʔλͷΓͱΓ • දࣔͷߋ৽
Slide 20
Slide 20 text
ྫʣhttp://www.slideshare.net/slideshow/ embed_code/15645947?startSlide=19 ʢ56ຕ͘Β͍·Ͱʣ
Slide 21
Slide 21 text
• “ػೳ”ͱ”දࣔ”͕ҰମʹͳΓ͕ͪ • DOMʹػೳ͕ґଘ͕ͪ͠ • “දࣔ”มߋ͞Ε͍͢෦
Slide 22
Slide 22 text
ʔʼมߋʹऑ͍ :-p
Slide 23
Slide 23 text
ɾɾɾͱ͍͏Θ͚Ͱ
Slide 24
Slide 24 text
ΫϥΠΞϯταΠυMVC ϑϨʔϜϫʔΫͷ಄
Slide 25
Slide 25 text
”දࣔ”Λ”ػೳ”͔Β ͢Δ
Slide 26
Slide 26 text
• ػೳModelͷ • දࣔViewͷ • ػೳࣗମViewʹͳΔ͘ґଘ͠ͳ͍
Slide 27
Slide 27 text
• Observer PatternΛ࠾༻ • ModelͷมߋΛEventͰ͑Δ • View͕ModelΛࢹɺDOMΛॻ͖͑ ྫʣBackbone.jsͷ࡞ઓ
Slide 28
Slide 28 text
Model View HTML Server Backbone.EventΛ listen HTMLͷEventΛ listen
Slide 29
Slide 29 text
http://todomvc.com/
Slide 30
Slide 30 text
࣍ • KnockoutJSͱ • KnockoutJS͍ํ • ͰɺͲ͏Αʁ
Slide 31
Slide 31 text
࣮ࡍͷίʔυྫʢtodomvcͷجຊ෦͚ͩʣ http://onjiro.github.io/knockout-handson/public
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
• observable • binding
Slide 34
Slide 34 text
“observableͳViewModel”Λ “Viewʹbind”͢Δ
Slide 35
Slide 35 text
• Observer PatternΛ࠾༻ • View(html)←→ViewModelؒࣗಈө KnockoutJSͷ࡞ઓ
Slide 36
Slide 36 text
ViewModel HTML data-bindͰ੍ޚ ko.applyBinding Λࣗಈతʹө eventϋϯυϥʔద༻ KnockoutJS ࣗಈදࣔɾߋ৽ ͜Μͳײ͔͡ͳʁ
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
No content
Slide 39
Slide 39 text
3छྨͷobservable 3छྨͷbinding
Slide 40
Slide 40 text
3छྨͷobservable 3छྨͷbinding
Slide 41
Slide 41 text
• ko.observable • ko.computed • ko.observableArray
Slide 42
Slide 42 text
3छྨͷobservable 3छྨͷbinding
Slide 43
Slide 43 text
• ςΩετͱελΠϧ • ίϯτϩʔϧϑϩʔ • ϑΥʔϜؔ࿈
Slide 44
Slide 44 text
ͱ͜ΖͰ
Slide 45
Slide 45 text
Ajaxαϙʔτʁ
Slide 46
Slide 46 text
• AjaxपΓͷऔΓܾΊͳ͍ http://knockoutjs.com/documentation/json-data.html • JSONͱϞσϧؒͷมαϙʔτ ko.toJS/ko.toJSON • JSON.stringifyී௨ʹ͑Δ
Slide 47
Slide 47 text
࣍ • KnockoutJSͱ • KnockoutJS͍ํ • ͰɺͲ͏Αʁ
Slide 48
Slide 48 text
• data-bind͕Ұݟ͖͍ • Backbone.jsΑΓίʔυྔݮΓͦ͏ • ݟ௨͠Α͍ɾɾɾ͔
Slide 49
Slide 49 text
data-bind͕ Ұݟ͖͍
Slide 50
Slide 50 text
• data-bindͷཛྷ • htmlͬͯviewͳΜ͡Όͳ͍ͷʁ • text, value͍͍͚Ͳ • click, submit, etc... • Ͳ͏ͳΜͩʁ
Slide 51
Slide 51 text
Backbone.jsΑΓ ίʔυྔগͳ͍
Slide 52
Slide 52 text
• ҎԼ͕ࣗಈͳͷ͕ޮ͍͍ͯΔ • ೖྗΛModelʹө • Modelͷߋ৽Λը໘ʹө • foreachͰͷల։
Slide 53
Slide 53 text
ݟ௨͠Αͦ͞͏
Slide 54
Slide 54 text
• htmlݟ͍͢ • js ͳ͠ͰσβΠϯΘ͔Δ • େମͷಈ͖Θ͔Δɾɾɾ͔ • ϚʔΫΞοϓͷมߋͦ͢͠͏
Slide 55
Slide 55 text
ࠓͷݒ೦
Slide 56
Slide 56 text
• ಘҙύλʔϯΛΕͨࡍʹͲ͏ͩΖ ͏ʁ
Slide 57
Slide 57 text
• গ͠·ͱʹͬͯΈͳ͍ͱͳΜͱ ݴ͑ͳ͍ײ • Backbone.jsΑΓෳਓͷ։ൃ ָɾɾɾ͔ͳ͊ɻɻɻ
Slide 58
Slide 58 text
·ͱΊ
Slide 59
Slide 59 text
• observableͱbinding • ίʔυྔগͳΊ • ϚʔΫΞοϓͷมߋͦ͢͠͏
Slide 60
Slide 60 text
• http://tnakamura.hatenablog.com/entry/20120213/knockout • http://www.slideshare.net/shibayan/knockout-11523371 • http://www.slideshare.net/hakuraipod/knockout-14911482 • http://www.adobe.com/jp/devnet/html5/articles/getting- started-with-knockoutjs.html • http://www.slideshare.net/tricknotes/introduction-for- browser-side-mvc ࢀߟ