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
UI/UXをないがしろにしない「きもちのいい」Webサービスの作り方
Search
Tsubasa SEKIGUCHI
PRO
December 07, 2022
Programming
190
0
Share
UI/UXをないがしろにしない「きもちのいい」Webサービスの作り方
Gunma.web #42
Tsubasa SEKIGUCHI
PRO
December 07, 2022
More Decks by Tsubasa SEKIGUCHI
See All by Tsubasa SEKIGUCHI
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
PRO
0
41
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
PRO
1
480
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
240
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
PRO
0
48
これならできる!個人開発のすゝめ
tinykitten
PRO
0
450
今日から使える AI駆動開発のすゝめ
tinykitten
PRO
1
96
Reactで始める リグレッションテスト概論
tinykitten
PRO
0
65
エンジニアでも捗る デザイナー的思考入門
tinykitten
PRO
2
1.5k
Gunma.web #55
tinykitten
PRO
0
300
Other Decks in Programming
See All in Programming
AI活用のコスパを最大化する方法
ochtum
0
370
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
790
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
300
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
210
Claude Codeログ基盤の構築
giginet
PRO
7
3.9k
存在論的プログラミング: 時間と存在を記述する
koriym
5
770
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
520
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How GitHub (no longer) Works
holman
316
150k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
320
Docker and Python
trallard
47
3.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
470
Paper Plane (Part 1)
katiecoart
PRO
0
6.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Ethics towards AI in product and experience design
skipperchong
2
250
Building Adaptive Systems
keathley
44
3k
Transcript
UI/UXΛͳ͍͕͠Ζʹ͠ͳ͍ ʮ͖ͪͷ͍͍ʯWebαʔϏεͷ࡞Γํ Head fi rst UX- fi rst web development
Photo by cottonbro on Pexels Gunma.web #42 ϓϩδΣΫτཧ(πʔϧؚΉ) 2021.8.21 @ Online Tsubasa SEKIGUCHI
TinyKitten Freelance frontend engineer I 💖 Open source & Cat🐈
Born in Gunma🐴 Live in Tokyo🗼
Tsubasa SEKIGUCHI ϑϦʔϥϯεͷϑϩϯτΤϯυΤϯδχΞɻࣾͰͳ͍Ͱ͢ɻ ͖ͬͨΜͱݺΕ͍ͯ·͢ɻ ϓϩμΫτཧπʔϧZenHub͕͖Ͱ͢
TrainLCD ຊશࠃͷమಓ࿏ઢͰ͑Δ ৽ײ֮ͷφϏήʔγϣϯΞϓϦͰ͢ɻ
͜ͷεϥΠυɺ3FBDUKTͰϓϩμΫτΛ ։ൃ͍ͯ͠Δ͜ͱΛલఏͱ͍ͯ͠·͢ɻ ͓͜ͱΘΓ
ΤϯδχΞࢹͰ 6*69σβΠϯɺॱௐͰ͔͢ʁ
࣮ɺ͜Μͳ๊͑ͯ·ͤΜ͔ʁ σβΠφʔͱ িಥ͕ى͖Δʜ σβΠϯΛ࣮ʹ ࠶ݱͰ͖ͳ͍ ͳ͔ͥΞϓϦ͕ ͍ͮΒ͍ʜ
͜ΕΒͷɺ ਓྗͰͳ͘πʔϧͰղܾ͠·͠ΐ͏ʂ σβΠφʔͱ িಥ͕ى͖Δʜ σβΠϯΛ࣮ʹ ࠶ݱͰ͖ͳ͍ ͳ͔ͥΞϓϦ͕
͍ͮΒ͍ʜ
ͨͱ͑ʜ
Case 1 σβΠφʔͱিಥ͕ى͖Δʜ
σβΠφʔͱিಥ͕ى͖Δʜ σβΠφʔʮ͜ͷ࣮ͯ͠ΒͬͨσβΠϯɺ QYӈʹͣΕͯΔΜͰ͚͢Ͳɺमਖ਼ͯ͠Β͑·͔͢ʁʯ ΤϯδχΞʮʁͦΜͳͣͳ͍ʜʯ
σβΠφʔͱিಥ͕ى͖Δʜ QYͷζϨͰ࠷ॳʹσβΠφʔʹ ݕͯ͠Β͏ʹͲ͏͢Ε͍͍ΜͩΖ͏ʁ
σβΠφʔͱিಥ͕ى͖Δʜ StorybookΛ͏ͱɺ 6*ίϯϙʔωϯτ୯ҐͰσβΠϯΛ֬ೝͰ͖·͢ʂ
িಥ͕ى͖ΔͳΒɺ4UPSZCPPLΛ͓͏ Storybookͷಛ: - UIίϯϙʔωϯτΛ ϒϥβͰ֬ೝͰ͖Δ - PropsΛͯ͠ಈ࡞ΛݟͨΓ ΫϦοΫޙͷڍಈΛ֬ೝͰ͖Δ - ReactҎ֎ʹ͍Ζ͍Ζͳ
ϑϨʔϜϫʔΫʹରԠ
σβΠφʔͱিಥ͕ى͖Δʜ σβΠφʔʮ4UPSZCPPLݟͨΜ͚ͩͲɺ ɹɹɹɹɹɹ͍͍ײ͡ʹ࣮Ͱ͖ͯͯخ͍͠Αʂʯ ΤϯδχΞʮΑ͔ͬͨͰ͢ʂʯ
িಥ͕ى͖ΔͳΒɺ4UPSZCPPLΛ͓͏ Pro Tips: - ࣮ɺσβΠϯσβΠφʔ͚ͩͷࣄͰͳ͍͔͠Ε·ͤΜɻ ΑΓྑ͍ϓϩμΫτ։ൃͷͨΊʹɺࣗ͝σβΠϯΛษڧͯ͠ΈΔͱɺ ͬͱੈք͕͕Δ͔͠Ε·ͤΜ😲
Case 2 ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ 1E.ʮͳΜ͔͜ͷΞϓϦॏ͘ͳ͍ʁͳΜͱ͔Ͱ͖ͳ͍Ͱ͔͢ʁʯ ΤϯδχΞʮʁͦΜͳͣͳ͍ʜʯ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ Ͱͳͯ͘ɺ ύϑΥʔϚϯεͷσάϨΛͲ͏ͬͯݕͰ͖Δ͔ʁ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ ύϑΥʔϚϯενϡʔχϯάͷେݪଇͱͯ͠ʜ ܭଌͰ͖ͳ͍ͳΒ҆қʹ͞ͳ͍΄͏͕͍͍ʂ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ ύϑΥʔϚϯεͷܭଌʹ৭ʑͱํ๏͕͋Γ·͕͢ʜ $ISPNF%FW5PPMT͕ޮՌతʂ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ DevToolsͷϊϋ: - εϩοτϦϯάΛ͠Α͏ ΤϯυϢʔβʔʹ͍ۙܭଌΛߦ͏ͨΊʹɺ CPUɺωοτϫʔΫͳͲͷ εϩοτϦϯάΛ͠·͠ΐ͏ʂ -ܭଌ͠Α͏ ChromeʹϓϩϑΝΠϦϯάͷͨΊͷ πʔϧ͕ࡌ͞Ε͍ͯ·͢ɻ
Ͳͷॲཧ͕ॏ͍͔Λಛఆ͠·͠ΐ͏ɻ - User Timing APIΛ͏ Ͳͷൣғ͕ύϑΥʔϚϯε͕ ѱ͍͔͍ͬͯΔ߹ɺࢦఆൣғͷ ύϑΥʔϚϯεΛܭଌͰ͖·͢ɻ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ 1E.ʮΤϯδχΞ͞Μ͕ ύϑΥʔϚϯενϡʔχϯάΛͬͯ͘Ε͓͔ͨ͛Ͱ ɹɹɹϢʔβʔ͞Μ͔Βͷධ্ʑͩΑʂʯ ΤϯδχΞʮେมͰ͕ͨ͠ɺύϑΥʔϚϯε͕վળͯ͠Α͔ͬͨʂʯ
ͳ͔ͥΞϓϦ͕͍ͮΒ͍ʜ Pro Tips: - ࠒ͔ΒύϑΥʔϚϯεʹΛޫΒͤ·͠ΐ͏🐈 ࠒ͔ΒύϑΥʔϚϯεͷࢹΛߦ͑ ͍ͭͷؒʹ͔ϓϩμΫτ͕ॏ͘ͳͬͯ͠·͏͜ͱΛճආͰ͖·͢😋 ύϑΥʔϚϯεΛࢹ͢Δ༗໊Ͳ͜ΖͷπʔϧͰɺ New RelicͳͲ͕͋Γ·͢Α😲
Case 3 σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ σβΠφʔʮͬͺΓ͜͜σβΠϯͱҧ͍·͢Αʁʯ ΤϯδχΞʮʁͦΜͳͣͳ͍ʜʯ
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ ϐΫηϧύʔϑΣΫτͱݴΘͣͱɺ σβΠϯΛ࣮ʹ࠶ݱ͢Δํ๏ͳ͍͔ʁ
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ σβΠϯͷڞ௨ҙࣝΛ͢Γ߹ΘͤΔπʔϧʜ 'JHNB͕Ξπ͍ʂ
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ FigmaͷԿ͕Ξπ͍ͷʁ - σβΠϯ͔ΒCSSΛॻ͖ग़ͤΔ σβΠϯΛͦͷ··CSSʹམͱ͠ࠐΊΔͷͰɺ Web։ൃ͕ޮతʹͳΓ·͢ʂ - Webϒϥβ͔ΒͰ͑Δ ࣮Webϒϥβ͔Β͑·͢ʂ ΤϯδχΞͷPCʹΞϓϦΛೖΕͳͯ͘ɺ
σβΠϯΛ֬ೝͰ͖·͢ʂ -ҐஔΛURLͰ͢͜ͱ͕Ͱ͖Δ σβΠφʔ͕ݟ͍ͯΔҐஔΛͦͷ··ΤϯδχΞʹ URLʹͯ͠γΣΞ͢Δ͜ͱ͕Ͱ͖·͢ʂ
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ σβΠφʔʮΤϯδχΞ͞Μͷ࡞ͬͯ͘ΕͨσβΠϯɺ ɹɹɹɹɹɹͷ࡞ͬͨσβΠϯʹ࣮Ͱخ͍͠Αʂʯ ΤϯδχΞʮ'JHNBͷ͓͔͛ͰͳΜͱ͔࣮ʹσβΠϯΛ࠶ݱͰ͖·ͨ͠ɻʯ
σβΠϯΛ࣮ʹ࠶ݱͰ͖ͳ͍ Pro Tips: - ΤϯδχΞͰɺσβΠϯπʔϧʹΛͬͯΈͯʁ Figma͍ͭ·ͰΘΕΔ͔Θ͔Γ·ͤΜɻ σβΠφʔ͕͍ͭπʔϧΛม͙͑ͯ͢ʹॱԠͰ͖ΔΑ͏ʹɺ σβΠϯπʔϧʹΞϯςφΛཱͯͯΈΔͷ͍͔͕Ͱ͠ΐ͏͔ʁ
͜ΕΒͷɺ πʔϧΛָͬͯʹղܾ͠·͠ΐ͏ σβΠφʔͱ িಥ͕ى͖Δʜ σβΠϯΛ࣮ʹ ࠶ݱͰ͖ͳ͍ ͳ͔ͥΞϓϦ͕
͍ͮΒ͍ʜ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ Thank you for listening! Photo by cottonbro on Pexels
Gunma.web #42 ϓϩδΣΫτཧ(πʔϧؚΉ) 2021.8.21 @ Online Tsubasa SEKIGUCHI