Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FDDによるVue.jsコンポーネント開発
Search
kazupon
December 02, 2016
Programming
1
1.7k
FDDによるVue.jsコンポーネント開発
kazupon
December 02, 2016
Tweet
Share
More Decks by kazupon
See All by kazupon
Vue.js最新動向
kazupon
3
1.5k
Vue 3.4
kazupon
13
4.5k
Vue & Vite Rustify
kazupon
4
2.1k
Vue.jsエコシステム動向2023
kazupon
17
7.5k
Reactivity Transform
kazupon
1
1.3k
わたしのOSS活動
kazupon
1
990
Vue with Vite
kazupon
2
2.5k
State of Vue I18n
kazupon
3
550
まちにまった Vue.js 3
kazupon
14
5.5k
Other Decks in Programming
See All in Programming
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
RubyLSPのマルチバイト文字対応
notfounds
0
120
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
最新TCAキャッチアップ
0si43
0
140
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
4
640
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
イベント駆動で成長して委員会
happymana
1
320
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
38
7.1k
A better future with KSS
kneath
238
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Rails Girls Zürich Keynote
gr2m
94
13k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How to Ace a Technical Interview
jacobian
276
23k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Done Done
chrislema
181
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Fireside Chat
paigeccino
34
3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Transcript
FDD ʹΑΔ Vue.js ίϯϙʔωϯτ։ൃ Gotanda.js #6 in Oisix 2016-12-02 @kazupon
ࣗݾհ
Vue.js Core Team member https://github.com/kazupon
Vue.js ຊޠެࣜαΠτ ͍ͭʹઌϦϦʔεʂ Vue.js ຊޠެࣜαΠτ
We are building Open Innovation Platform!! https://cuusoo.com
͡Ίʹ
͍Ζ͍Ζ͋Δʙۦಈ։ൃ ςετۦಈ։ൃ ;Δ·͍ۦಈ։ൃ νέοτۦಈ։ൃ υϝΠϯۦಈ։ൃ υΩϡϝϯτۦಈ։ൃ ɹϢʔβʔػೳۦಈ։ൃ ɹεέδϡʔϧۦಈ։ൃ ɾɾɾ Ϣʔεέʔεۦಈ։ൃ
Ϟσϧۦಈ։ൃ
ͱ·͋ɺ ͍ͬͺ͍͋Γ·͚͢Ͳ
͔͠͠ͳ͕ΒɺզʑΤϯδχΞ • ϢʔβʔʹʮՁʯΛಧ͚ͳͯ͘ͳΒ ͳ͍ʂʂ • OSS ͷੈքͱͯɺϑϨʔϜϫʔΫɺϥΠϒ ϥϦɺϓϥάΠϯͳͲɺՁ͋ΔͷΛ ఏڙ͠ͳ͚ΕɺΘΕͳ͍ͷʹͳͬ ͯ͠·͏ʂʂ
ΞδΣϯμ
ࠓ͢͜ͱ • Vue.js ͷ࡞ऀ͕࣮ફ͢ΔɺFDD ʹΑΔ։ൃ Λհ • Vue 2.0 pre-alpha
• vue-router 2.0
ࠓ͞ͳ͍͜ͱ • Vue.js ͷجຊతͳͱ͔ • FDD ͷৄࡉͳͱ͔ • ςετपΓͷৄࡉͷͱ͔ •
ϢʔβʔՁఏڙͱ͔ͷ͏Μ͵Μ
ҙࣄ߲ • ࠓճհ͢Δํ๏ɺVue.js ࡞ऀ͕ಛʹఏ এ͍ͯ͠Δํ๏Ͱ͋Γ·ͤΜ • ൃදऀͷࢲ͕ɺVue.js orgnaization / ίΞ
νʔϜʹδϣΠϯ͔ͯ͠Βɺ͜Ε·Ͱͷ ։ൃʹܞΘ͖ͬͯͨݟΛɺʮ͜Μͳํ ๏͋ΔΑʂʯతͳײ͡Ͱհ͍ͯ͠Δ ͚ͩͰ͢ʂ
FDD ͱʁ
Feature Driven Development • ”Ұൠతʹ”ɺϢʔβʔػೳۦಈ։ൃͱ • ϢʔβʔʹՁ͋ΔػೳΛఏڙ͢Δ؍ ʹΑΔۦಈ։ൃ • ࣮ࡍʹಈ࡞͢ΔͷΛ܁Γฦ͠ఏڙ͢
Δ։ൃ ※WikiPedia https://ja.wikipedia.org/wiki/Ϣʔβʔػೳۦಈ։ൃ
Vue.js ࡞ऀ͕࣮ફ͖ͯͨ͠ FDD ͱʁ
ϢʔβʔࢹʹΑΔ։ൃ • ϥΠϒϥϦͷػೳͷαϯϓϧΛ example ͱ ͯ͠ఏڙ • ͦΕΒʹରͯ͠ E2E ͰςετΛ࣮
• E2E ͷςετ͕ύεͨ͠ΒϦϦʔε • ͦͷޙɺ୯ମςετͷ࣮ɺػೳվળɺό άमਖ਼ͳͲͷ։ൃ܁Γฦ͠ߦ͏
Vue.js ίϯϙʔωϯτ։ൃྫ
ྫ: select2 ίϯϙʔωϯτͷ։ൃ • jquery ϓϥάΠϯ select2 Λϥοϓͨ͠ί ϯϙʔωϯτ (vuejs.org/examples/
select2.html Ͱެ։͞Ε͍ͯΔͱಉ͡ͷ)
DEMO
1. ϓϩδΣΫτͷηοτΞοϓ
vue-cli ͰηοτΞοϓʂ ※vue-cli ͷ GitHub ϦϙδτϦ https://github.com/vuejs/vue-cli
vue-cli ͰͷηοτΞοϓͷ༷ࢠ
2. ઃܭ & αϯϓϧͷ༻ҙ
• ίϯϙʔωϯτΛઃܭͯ͠ɺϢʔβʔ ͚ʹ example Λ༻ҙ͢Δ
3. E2E ςετͷ࣮
• example ͕ਖ਼͘͠ಈ࡞͢Δɺ E2E ͷςετ Λ࣮͢Δ vue-cli Ͱ ఏڙ͞ΕΔ E2E
ϑϨʔϜϫʔ ΫͰͦͷςετΛ ࣮͢Δ
4. ίϯϙʔωϯτͷ࣮
• Ϣʔβʔʹఏڙ͢ΔίϯϙʔωϯτΛ࣮
5. ίϯϙʔωϯτͷςετ
• Ϗϧυͯ͠E2E ςετΛ࣮ߦ͠ɺύε͢Δ ͜ͱΛ֬ೝ͢Δ
ޙɺػೳՃɺվળɺ ୯ମςετɺόάमਖ਼ͳͲͷ ։ൃΛ܁Γฦ͢
ࠓճհͨ͠FDDʹΑΔϝϦοτ • ୯ମςετΛͬ͢ඈͯ͠ɺ͍͖ͳΓ E2E ςετ͔ΒೖΔͷͰɺεϐʔσΟͳϦϦʔ ε͕Ͱ͖Δ • ϥΠϒϥϦϢʔβʔར༻ࢹͰ։ൃͰ͖ ΔͷͰɺՁ͕͋ΔϞϊΛఏڙ͍͢͠
ࠓճհͨ͠FDDʹΑΔσϝϦοτ • ٯʹ୯ମςετɺE2Eςετͱ͍͏ॱͳ ։ൃελΠϧΑΓ͕͔͔࣌ؒͬͯ͠· ͏͔ • ϢʔβʔʹՁ͋ΔػೳΛఏڙ͠Α͏ͱ ͢Δ͋·Γɺίϯϙʔωϯτઃܭʹ࣌ؒ Λ͔͚ͯ͠·͏͔
·ͱΊ
·ͱΊ • Vue.js ࡞ऀྲྀɺFDD Λհ͠·ͨ͠ • ࠓճհͨ͠ํ๏ͰɺϢʔβʔʹՁ͋Δ ػೳΛεϐʔσΟʹఏڙͰ͖ΔՄೳੑ͕͋ Γ·͢ •
ͨͩɺ߹͏ਓɾ߹Θͳ͍ਓ͕͍Δͱࢥ͏ͷ Ͱɺ࣮ࡍʹ͜ͷΓํͰ։ൃ͢Δ߹ ҙ͕ඞཁ
one more thing …
ຊਓ͚ Vue.js ίϛϡχςΟ • Vue.js ຊޠެࣜαΠτܦ༝ͰࢀՃͰ͖·͢ http://jp.vuejs.org
ຊਓ͚ Vue.js ίϛϡχςΟ • URL https://vuejs-jp-slackin.herokuapp.com
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ