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
VueFes.pdf
Search
takanori sugawara
November 03, 2018
10k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VueFes.pdf
takanori sugawara
November 03, 2018
More Decks by takanori sugawara
See All by takanori sugawara
人によっては_明日から使えるFigmaテクニック
ts020
1
920
AtomicDesignの運用方法
ts020
0
200
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to Ace a Technical Interview
jacobian
281
24k
The agentic SEO stack - context over prompts
schlessera
0
880
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
790
My Coaching Mixtape
mlcsv
0
290
Designing for humans not robots
tammielis
254
26k
Transcript
Atomic Design σβΠϯͱ࣮ͷڱؒ ੁݪ ଇ VueFesJapan 2018
None
17͘Β͍σβΠφʔͱΤϯδχΞΛ ߦͬͨΓདྷͨΓͯ͠·͢ɻ ΠϯλϥΫγϣϯͱ σʔλϏδϡΞϥΠζ ͕ಘҙͰ͢
Interaction Designer UX Design UI Design Design System Management
Technical advisor ख͕Γͳ͍ॴͷϑΥϩʔ
Έͳ͞Μ ίϯϙʔωϯτ ࡞ͬͯ·͢ΑͶɻ
Atomic Design σβΠφʔͱΤϯδχΞʹಉ͡ ઢΛ༩͑·ͨ͠
σβΠφʔͱ ΤϯδχΞ ͔Γ߹͑ͯ·͔͢ʁ
ίϯϙʔωϯτͷ ͚ํͳΜ͔ҧ͏ͳʔ ͱ͔ࢥ͍·ͤΜ͔ʁ
ͦΓΌҧ͏ΜͰ͢
ͱ͍͏Θ͚Ͱઌि ΞϯέʔτͱͬͯΈ·ͨ͠ɻ
24໊ͷํʹճ͍ͨͩ ͖·ͨ͠ɻ
৬छ ͷਓ
ίϯϙʔωϯτʹؔΘΔ ਓن
ྖҬ
ར༻͍ͯ͠ΔσβΠϯπʔϧ FigmaϢʔβʔάϧʔϓʹڠྗΛ͍ͨͷͰ ͪΐͬͱόΠΞε͔͔ͬͯΔ͔
σβΠϯϥϑ·Ͱ ίʔυ্Ͱ্͛Δ ελΠϦϯάͱԋग़ ʹؔΘΔίʔυ σβΠφʔ͕ॻ͘ σβΠϯ͕͔ྃͯ͠Β ΤϯδχΞ͕ίʔυΛॻ͘ σβΠϯ͔Βίʔυ·Ͱ ҰਓͰΔ
ີ σβΠφʔͱσΟϨΫλʔͰ ࣈΛݟͯͲ͜Λ վળ͢Δ͔ܾΊ͍ͯΔ ϓϩτλΠϓΛ࡞͔ͬͯΒ ΤϯδχΞʹڞ༗ ϓϩηε
ίϯϙʔωϯτϕʔεͷར σβΠϯઢ σβΠϯͷϧʔϧ͕໌֬Խ͠ ଐਓੑʹΑΒͳ͍σβΠϯ͕ՄೳʹͳΔ ΧϥʔελΠϧͳͲʹઆ໌จΛॻ͘ͱ ϧʔϧΛकΓͳ͕ΒσβΠϯ͍͢͠ ࠶ར༻͍ͨ͢͠ΊɺσβΠϯ͕ݮΒͤΔ ݟͨͷʮσβΠϯʯͰͳ͘ɺ ϧʔϧͱͯ͠ͷʮσβΠϯʯΛ ͭ͘Δͱ͍͏ҙ͕ࣝࣗવͱժੜ͑Δ
Ұ෦͢ͱͯ͢Δ ίϛϡχέʔγϣϯίετ͕ݮΔ ਖ਼͍͠σβΠϯʹ͍ͭͯͷڞ௨ཧղΛ࣋ͪ ͍͢ શମͷ౷ҰײɺҰ؏ੑΛҡ͍࣋͢͠ ΤϯδχΞઢ ΤϯδχΞͰ͍ܰσβΠϯͰ͖ΔΑ͏ʹͳΓ ͦ͏ XD, Sketchͷ࡞ΓࠐΈ࠷ऴՌʹ ͳΒͳ͍͜ͱ͕ٯઆతͳར scoped cssͰBEMֶशίετ͕աࢿʹͳͬͨ StorybookΛར༻ͯ͠ ݟͨͷ֬ೝ͕Ͱ͖Δ σβΠϯͷஈ֊͔Β࠶ར༻ੑΛߟ͑ͨUIઃܭΛ͢ Δ͜ͱͰɺ CSSͳͲ࣮ͷ߹͕ࣗવͱߟྀ͞ΕΔ ΧϓηϧԽʹΑΓɺεΩϧͷΤϯδχΞɾσβ ΠφʔίΞͷίʔυʹ৮Εͣʹ։ൃʹίϛοτ
ίϯϙʔωϯτϕʔεͷ σβΠϯઢ ϏδϡΞϧͷࣗ༝͕Լ͕Δ ֶशίετ͕͔͔Δ σβΠϯͷཻͱػೳͷཻΛἧ͑ͯίϯϙʔ ωϯτઃܭΛߦΘͳ͚Εɺ ίϯϙʔωϯτͷछྨ͕૿͍͖͑ͯɺιʔε ίʔυʹѱӨڹ͕ͰΔ ίϯϙʔωϯτԽ͢Δج४ʹෆ͕҆͋Δ (1Օॴ͔ͬͯ͠ͳ͍ͷʹίϯϙʔωϯτԽ
͢Δͷʁ) ΤϯδχΞઢ UIతͳίϯϙʔωϯτͱɺσʔλϑϩʔతͳ ίϯϙʔωϯτͷ͚ํ͕ҟͳΔ͜ͱ͕͋Δ σβΠφʔatomicdesignͷ֓೦Λͬͯ͏ ඞཁ͕͋Δ ֶशίετ͕͔͔Δ ࡉ͔͗͢Δͱཧ͠ਏ͍ σβΠφʔͱΤϯδχΞͰίϯϙʔωϯτͷ ཻͷ؍͕ҧ͏ ཻΛ͚Δ͜ͱͰίϯϙʔωϯτ͕૿͑ͯ ໘ σβΠϯͱ࣮ऀཻ͕ͷೝ͕ࣝҟͳ͍ͬͯ Δͱӡ༻Ͱ͖ͳ͍
ΤϯδχΞɾσβΠφʔͱͷ ΓऔΓͰͲΜͳࣄ͕ى͍ͬͯ͜Δ͔ʁ ίϯϙʔωϯτ͕ग़ἧͬͯ͘ΔͱɺίϯϙʔωϯτͷΑΓཧAPIͷઃܭɺ͍͢͞ʹ͍ͭͯͯ͠ ͍·͢ɻ ࣮ͱσβΠϯʹဃ͕͋Δ ίϯϙʔωϯτͷඞཁੑΛσβΠφʔ͕ཧղ͠ͳ͍ ݁ہσβΠϯΛݩʹΤϯδχΞ͕ίϯϙʔωϯτԽ͍ͯ͠Δ ΤϯδχΞ͕BEMΛอक͢Δ͜ͱʹർΕ͍ͯΔɻ ίϯϙʔωϯτΨΠυతͳ͕ͳ͍ͱίϯϙʔωϯτ͕ར༻͞Εͳ͍ ίϯϙʔωϯτΛར༻͢ΔΑ͏ʹͳΓɺσβΠφʔಉ࢜ͰͷΓऔΓ͕͘͠ͳ͕ͬͨɺΤϯδχΞͱͷΓͱ
Γָʹͳͬͨ ࣮ΛΒͳ͍σβΠφʔʹͱͬͯɺӢΛ͔ͭΉΑ͏ͳʹฉ͑͜Δ෦͕͋ΔΑ͏ͰɺͦΕΛཧղͤ͞Δʹ ۤ࿑͍ͯ͠Δɻ
ࣝͷஅ͕େ͖͍
େࣄʹ͍ͯ͠Δ ࣄฑ͕ҧ͏
·ͣɺσβΠφʔ͕ͬͯ ͍ΔࣄΛཧͯ͠Έ·͠ΐ͏ɻ
UXσβΠϯ ୭͕Ϣʔβʔ͔ΛఆΊΔ ͲΜͳͷΛ࡞ͬͨΒϢʔβʔ͕تͿ͔ߟ͑Δ ੳͯ͠ɺϓϩτλΠϓ࡞ͬͯɺ ϢʔβʔʹͿ͚ͭͨΓͱ͔ͯ͠ՁݕূΛߦ͏
UIσβΠϯ UXσβΠϯͰಋ͍ͨՁʹରͯ͠ܗΛ༩͑Δɻ ՁΛϢʔβʔʹಧ͖͍͢ܗʹ͢Δ͜ͱ͕
σβΠϯ৭ʑ CI(ίʔϙʔϨʔτΞΠσϯςΟςΟ) ࣄۀઓུΛͱʹίϯηϓτΛ࿅ͬͨΓɻ ͔ΒͷUIΛׂΓग़ͨ͠Γɺ PR༻ͷαΠτͷσβΠϯͨ͠Γ
ͬͱ ৭Μͳࣄ͕͋Δ
ޮԽ͍͕ͨ͠ ͬͱେࣄͳͷɺ ϢʔβʔͷԠ
៉ྷͳߏΛ࡞Δࣄ େࣄ͚ͩͲ̍൪͡Όͳ͍
͍͍ͩͨ͜Μͳײ͡
Atomic DesignͳΒ ͦ͜Μͱ͜Ͳ͏ʹ͔ͳΔΜ͡Όʹ ͷʁ
ͳΒͳ͍Ͱ͢ɻ
͔֬ʹUIͷ෦ͷઃܭ ڞ௨ԽͰ͖Δ
ίϯϙʔωϯτͦͦ ΤϯδχΞϦϯάͷ֓೦
σβΠφʔՁʹ ܗঢ়Λ༩͑ ΤϯδχΞܗঢ়Λ࣮ݱ͢Δ
σβΠφʔʹͱͬͯࠓ·Ͱͦ ͜·Ͱؔ৺ࣄͰͳ͔ͬͨ
ͱݴͬͯαʔϏε ӡ༻Λଓ͚Δ͜ͱ େࣄͳՁ
ͪΐͬͱม͑·͢
ඈΜͰ 20͘Β͍લ
Java
ΦϒδΣΫτࢦ vs ߏԽࢦ
ઃܭΛඪ४Խ͢Δख๏
ΤϯδχΞಉ࢜Ͱ ͬͯ·ͨ͠
͍ͱ͔͍͠ͱ͔ݴΘΕͯ ͍ͨJava͕ݱࡏͰͨΓલ ʹͳΓ·ͨ͠ɻ
ཧ༝
ΈΜͳ׳Εͨ
࣮ߦڥͷੑೳ্͕͕Γ ߽తϓϩάϥϛϯάͰ ͳ͘ͳͬͨ
σβΠϯπʔϧʹ ͦ͏͍͏ࣄ͕ ى͍ͬͯ͜Δ
લ·Ͱɺίϯϙʔωϯτࢥߟͷσβ Πϯπʔϧ͋·Γྲྀߦ͓ͬͯΒͣɺ ίϯϙʔωϯτػೳͷͳ͍PhotoShopͰ Ұੜݒ໋σβΠϯ͍ͯͨ͠ͷͰ͢ɻ
׳Εͯͳ͍ΜͰ͢
SketchσβΠφʔʹ ͱͬͯͷJava
Sketch vs PhotoShop
खஈ͕ਐԽͨ͠ͷͰ ख๏มΘΔ
खஈ͕ਐԽͨ͠ͷͰ ख๏มΘΔ
·ͩ·ͩ πʔϧͷαϙʔτ͕Γͳ͍
͕࣌ؒղܾ͢Δ͜ͱ ݁ߏ͋Γͦ͏Ͱ͋Δ
͞ΒʹAtomicDesign ͳΜͯݴͬͨΒ
C͔͠ॻ͍ͨ͜ͱͷͳ͍ਓʹ JavaͷSpringBootͰΞϓϦॻ͚ ͱཁٻ͍ͯ͠ΔΑ͏ͳͷͱ͝ཧղ͍ͩ͘͞ɻ
ͱݴ͑ͳΜͱ͔͍ͨ͠
ͿͬͪΌ͚ɺ׳Εͯͳ͍ίϯϙʔ ωϯτ࡞Γ·Ͱ಄ճΓ·ͤΜ
ΤϯδχΞͱ͍͏ ੜ͖ ߹ཧԽͷԽ
Ͳ͏ʹ͔ͯ͠ ߹ཧԽ͍ͨ͠
σβΠφʔ ΤϯδχΞͰͳ͍
σβΠφʔΫϦΤΠςΟϒʹूதͯ͠ ϢʔβʔʹΘ͒ͱݴΘ͍ͤͨ͠ ΤϯδχΞ៉ྷͳߏΛ ࡞ͬͯอकίετΛԼ͍͛ͨ
ͦͦ৬͕ҧ͏ ͦΜͳ͜ͱͯ͠ΔͳΒ ͬͱྑ͍ϓϩμΫτΛ σβΠϯͯ͠΄͍͠
ͱݴ͑ ϑϩϯτΤϯυͷۤ͠Έ্ྲྀ͔ Βม͍͔͑ͯͳ͚Εվળ͠ͳ͍
ΜͰͲ͏͢Εྑ͍ͷ͞
ӡ༻ͰΧόʔ
ͦ͜Ͱஸ͍͍ ֓೦͕͋Γ·͢
Design Ops
“https://www.designbetter.co/designops-handbook/introducing-designops"
σβΠφʔࣗͷ ৬ೳʹઐ೦͍͢͠ ঢ়گΛ࡞Δ
σβΠϯϓϩηεΛ αϙʔτ͢ΔΈ ৫Λ࡞Δ
ྫ͑
ΤϯδχΞ͕σβΠϯπʔϧΛ ֮͑ɺίϯϙʔωϯτԽͷखຊ Λࣔ͢
σβΠϯΛαϙʔτ͢ΔΤϯ δχΞϦϯάͰ͖·ͤΜ͔ʁ
Ktsn͞Μͷπʔϧͷख ͍͢Δͱ͔
σβΠϯπʔϧ͔Β ΞΠίϯΛࣗಈੜ Ͱ͖ΔΑ͏ʹ͢Δͱ͔
σβΠφʔͷԣʹ͍ͭͯ ίϯϙʔωϯτͷ ࣸܦ͠ଓ͚Δͱ͔
ϓϩηεΛ Ͳ͏ʹ͔͢Δͱ͔
None
None
ख๏ΈΜͳख୳Γ
σβΠφʔ͕Δ͖ࣄʹઐ ೦ͤͯ͋͛͞ΕΔঢ়گΛ࡞Γ· ͠ΐ͏
ΤϯδχΞϦϯάͰαϙʔτ Ͱ͖Δࣄ͍ͬͺ͍͋Δͣ
Vue.js͍ͷօ͞Μ ͋ͳͨʹྗ͕͋Δʂ
σβΠφʔΛٹ͓͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠