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.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FDDによるVue.jsコンポーネント開発
kazupon
December 02, 2016
More Decks by kazupon
See All by kazupon
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
1k
Oxlint JS plugins
kazupon
1
1.4k
gunshi
kazupon
1
240
Nitro v3
kazupon
2
560
わたしのOSS活動
kazupon
3
630
Vapor Revolution
kazupon
3
4.2k
Vue.js最新動向
kazupon
3
1.6k
Vue 3.4
kazupon
13
4.9k
Vue & Vite Rustify
kazupon
4
2.5k
Other Decks in Programming
See All in Programming
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
210
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
360
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
640
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
170
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.7k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
230
Claude Team Plan導入・ガイド
tk3fftk
0
190
関数型プログラミングのメリットって何だろう?
wanko_it
0
170
symfony/aiとlaravel/boost
77web
0
130
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
ラッコキーワード サービス紹介資料
rakko
1
3.9M
Context Engineering - Making Every Token Count
addyosmani
9
1k
The SEO Collaboration Effect
kristinabergwall1
1
500
Automating Front-end Workflow
addyosmani
1370
210k
Statistics for Hackers
jakevdp
799
230k
Between Models and Reality
mayunak
4
370
Speed Design
sergeychernyshev
33
1.9k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
510
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ