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
Radix UI & shadcn/uiのススメ
Search
とすり
August 17, 2024
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Radix UI & shadcn/uiのススメ
とすり
August 17, 2024
More Decks by とすり
See All by とすり
AWS IoT GreengrassとRaspberry Piを使って、怠惰な生活検知システムを作る
tosuri13
0
35
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
1.1k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
310
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
740
GraphRAGの仕組みまるわかり
tosuri13
10
1.7k
NL2SQLを活用したExcelの生成AI利用アプローチ
tosuri13
0
130
RAGの精度が全然上がらない!! AOSSを使った社内RAG開発の反省
tosuri13
3
250
AWS Chaliceで始める爆速サーバレスチャットボット開発!!
tosuri13
1
320
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
3
700
Other Decks in Programming
See All in Programming
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
860
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
230
yield再入門 #phpcon
o0h
PRO
0
390
フィードバックで育てるAI開発
kotaminato
1
120
1B+ /day規模のログを管理する技術
broadleaf
0
140
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
100
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
100
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Paper Plane (Part 1)
katiecoart
PRO
1
9.7k
Agile that works and the tools we love
rasmusluckow
331
22k
Chasing Engaging Ingredients in Design
codingconduct
0
240
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
The Spectacular Lies of Maps
axbom
PRO
1
860
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
Transcript
R a dix UI & sh a dcn/uiͷεεϝ @tosuri13
@tosuri13 ࣗݾհ ͱ͢Γ @tosuri13 MOTEXגࣜձࣾ ॴଐ 🐧 Μ͗Μ͕͖Ͱ͢
UIϥΠϒϥϦʹ͍ͭͯͷ͓Ͱ͢ʂ @tosuri13
@tosuri13 ݸਓͷWebαΠτ։ൃʹ͓͚Δ՝ ݸਓͰWebαΠτΛ։ൃ͠Α͏ͱͨ࣌͠ʹɺϘλϯυϩοϓμϯͷσβΠϯ ελΠϦϯάௐʹۤ࿑ͨ͜͠ͱ͋Γ·ͤΜ͔ʁ ΦγϟϨͳελΠϧΛߟ͑ΔͷେมͰ͢͠ɺCSSΛॻ͘ʹԿ͔ͱ໘Ͱԯ߷ ʹͳΔ͜ͱ͕ଟ͍ͷͰͱࢥ͍·͢ɻ 🤗 ཧͷϘλϯ 😭 ݱ࣮ͷϘλϯ
@tosuri13 UIϥΠϒϥϦͱʁ UIϥΠϒϥϦ͜ͷΑ͏ͳΛղܾ͢ΔͨΊͷϥΠϒϥϦͰ͢ʂ طʹελΠϧ͕ఆٛ͞ΕͨUI ίϯϙʔωϯτΛίʔυʹΈࠐΉ͚ͩͰɺͱͯ ΦγϟϨͳίϯϙʔωϯτΛ؆୯ʹߏங͢Δ͜ͱ͕Ͱ͖·͢ʂ ៉ྷͳUIίϯϙʔωϯτ͕ ߦͰߏஙͰ͖Δʂ
@tosuri13 ༗໊ͳUIϥΠϒϥϦͨͪ ɾM a teri a l UI ɾCh a
kr a UI ɾGoogle͕ఏএ͍ͯ͠ΔʮM a teri a l Designʯʹج͍ͮͨ ίϯϙʔωϯτΛఏڙ͢ΔUIϥΠϒϥϦ ɾGoogle͕ఏڙ͍ͯ͠ΔαʔϏεͱͦͬ͘Γͷը໘͕ ࡞ΕΔΑ͏ʹͳΔ ɾγϯϓϧͰॊೈੑͷߴ͍ϞμϯͳίϯϙʔωϯτΛ ఏڙ͢ΔUIϥΠϒϥϦ ɾEmotionFr a mer MotionΛ෦తʹ༻͍ͯ͠ΔͨΊɺ ΧελϜͷελΠϧΞχϝʔγϣϯͳͲΛ౷߹Ͱ͖Δ
@tosuri13 ैདྷͷUIϥΠϒϥϦʹ͓͚Δ ͜ΜͳʹศརͳΒɺͲͷWebαΠτM a teri a l UICh a kr
a UIͳͲΛ࣮ͬͯ͢ Ε͍͍ͷͰʁͱࢥ͏͔͠Ε·ͤΜ͕ɺ͍͔͕ͭ͋͘Γ·͢ɻ ɹᶃ ॊೈੑ͕ߴ͍…ͱݴ͑ɺ݁ہΧελϚΠζͮ͠Β͍ʂ ɹɹˠ ΧϥʔϨΠΞτࡉ͔͍ڍಈΛมߋ͠Α͏ͱ͢ΔͱɺૉͷJSX(TSX) + CSSΛॻ͘ͷͱ͋·Γେ͕ࠩͳ͍ ɹᶄ όϯυϧαΠζ͕σΧ͍ʂߋ৽͕ාͯ͘ཧͮ͠Β͍ʂ ɹɹˠ σϓϩΠ͢Δ࣌ͱ͔ʹࠔΔɻΞϓσͰલ·Ͱ͑ͨProps͕ٸʹ͑ͳ͘ͳΔͳͲͷϦεΫ͕͋Δ ※ όϯυϧαΠζ: ΞϓϦέʔγϣϯΛϏϧυͨ͠ޙͷ༰ྔͷ͜ͱΛࢦ͢
ΛղܾͰ͖Δ৽͍͠UIϥΠϒϥϦ͕͋Δʂ @tosuri13
@tosuri13 ͦ͜ͰR a dix UIͷొͩʂ ͜ͷΛղফ͢ΔͨΊʹੜ·Εͨ֓೦͕ϔουϨεUIͱ͍͏ߟ͑ํͰ͢ɻUI ίϯϙʔωϯτʹ͓͚ΔʮݟͨʯఏڙͤͣʮৼΔ͍ʯͷΈΛఏڙ͠·͢ɻ ϔουϨεUIͱͯ͠දతͳUIϥΠϒϥϦ͕R a dix
UIͰ͢ʂ
@tosuri13 R a dix UIͷ͍ํ ͦͷᶃ R a dix UIͷίϯϙʔωϯτΛ͏͜ͱͰɺσϑΥϧτͷڍಈΞΫηγϏϦςΟ
ͳͲ͕࣮ࡁΈͷελΠϧ͕ͳ͍ίϯϙʔωϯτ͕࡞͞Ε·͢ɻ νΣοΫ͞Εͯͳ͍ঢ়ଶ νΣοΫ͞Ε͍ͯΔঢ়ଶ ίϯϙʔωϯτͷػೳΛ ࣮͢Δඞཁͳ͍ʂ
@tosuri13 R a dix UIͷ͍ํ ͦͷᶄ ޙͦͷ··CSSΛॻ͍ͨΓT a ilwind CSSͳͲΛͬͯελΠϧΛͯΔ͚ͩ
ͰɺΞΫηγϏϦςΟΛҙ͍͍ࣝͨ͠ײ͡ͷUIίϯϙʔωϯτΛ࡞͢Δ͜ͱ͕ Ͱ͖·͢ʂ T a ilwind CSSΛͬͯ ελΠϧΛͯΔͱ͜Μͳײ͡ ↑ @r a dix-colorsͱͯ͠ެ։͞Ε͍ͯΔΧϥʔύϨοτΛ ͏͜ͱͰ͍͍ײ͡ͷΧϥʔϨΠΞτΛ࡞͢Δ͜ͱͰ͖Δ
@tosuri13 R a dix UIͷ͍͍ͱ͜Ζ ελΠϧΛࣗͰͯΔඞཁ͋Γ·͕͢ɺσβΠϯͷίϯτϩʔϧ։ൃऀଆ Ͱࣗ༝ʹ੍ޚ͢Δ͜ͱ͕Ͱ͖·͢ʂ ·ͨɺR a dix
UIʹ༨ܭͳґଘϥΠϒϥϦ͕ෆඞཁͰ͋Γɺඞཁͳίϯϙʔωϯ τͷΈΠϯετʔϧͯ͠༻Ͱ͖ΔͨΊόϯυϧαΠζݮ͞Ε·͢ʂ ↑ ཉ͍͠ίϯϙʔωϯτ͚ͩΠϯετʔϧͰ͖Δ
@tosuri13 ݁ہελΠϧͯͳ͍ͱ͍͚ͳ͍ͷ͔… ͱݴ͑ɺ݁ہR a dix UIΛͬͯҰ͔ΒCSSΛࣗͰॻ͔ͳ͍ͱ͍͚ͳ͍ͷ ͔…ͱࢥͬͨํ͕͍Βͬ͠ΌΔ͔ͱࢥ͍·͢ɻ PropsͳͲͷAPIΛ௨ͯ͡ελΠϧΛఏڙ͢ΔҎ্ɺํ͕ͳ͍ͷͰ͠ΐ͏͔… ← ࣮@r
a dix-themeͱ͍͏طʹελΠϧ͕ ͍ͨͬͯΔίϯϙʔωϯτ༻ҙ͞Ε͍ͯΔ͕ PropsʹΑΔݶఆతͳ੍ޚʹͳΔͨΊඍົ
@tosuri13 ͦ͜Ͱsh a dcn/uiͷొͩʂ ͜ͷΛղܾͨ͠UIϥΠϒϥϦ͕sh a dcn/uiͰ͢ɻ sh a dcn/uiR
a dix UIΛϕʔεʹͨ͠UIϥΠϒϥϦͰ͕͢ɺैདྷͷUIϥΠϒϥϦͱ ͔ͳΓҧͬͨΞϓϩʔνΛ༻͠·͢ɻ
@tosuri13 sh a dcn/uiͷ͍ํ ͦͷᶃ sh a dcn/uiجຊతʹnpxΛ༻ͯ͠ύοέʔδΛ࣮ߦ͢ΔܗͰઃఆίϯϙʔω ϯτͷՃͳͲΛߦ͍·͢ɻ εΫϦϓτΛ࣮ߦ͢ΔͱίϯϙʔωϯτϢʔςΟϦςΟɺσβΠϯγεςϜΛ
ΈࠐΉͨΊͷઃఆͳͲ͕ϢʔβͷϓϩδΣΫτʹॻ͖ࠐ·Ε·͢ɻ ࢦఆͷσΟϨΫτϦԼʹ ίϯϙʔωϯτ͕࡞͞ΕΔ ↑ npxͰ͜Μͳײ͡ͷίϚϯυΛ࣮ߦ͢Δ
@tosuri13 sh a dcn/uiͷ͍ํ ͦͷᶄ Ճͨ͠ίϯϙʔωϯτσϑΥϧτελΠϧͰ༻͢Δ͜ͱͰ͖·͢͠ɺؾ ʹೖΒͳ͚ΕϑΝΠϧΛमਖ਼ͯ͠ɺσβΠϯͷมߋV a ri a
ntΛՃ͢ΔΑ ͏ͳ͜ͱՄೳͰ͢ɻ νΣοΫ͞Εͯͳ͍ঢ়ଶ νΣοΫ͞Ε͍ͯΔঢ়ଶ twMergeͰCSSΛ ্ॻ͖͢Δ͜ͱͰ͖Δ
@tosuri13 sh a dcn/uiͷ͍͍ͱ͜Ζ R a dix UIͷྑ͍ͱ͜ΖΛ͑ͭͭɺσϑΥϧτͰͦͷ··͑ΔΑ͏ʹͯ͠΄͠ ͍ʂͱ͍͏ϫΨϚϚͳཁʹԠ͑Δ͜ͱ͕Ͱ͖·͢ɻ ͨͩɺϢʔβଆͷॊೈͳΧελϚΠζʹରԠ͢ΔͨΊɺT
a ilwind CSSͷར༻͕ඞ ਢʹͳ͍ͬͯΔ͚ͩҙ͕ඞཁͰ͢ɻ
·ͱΊ @tosuri13
@tosuri13 ·ͱΊ ࠓճ৭ʑͱUIϥΠϒϥϦΛհ͖ͯ͠·͕ͨ͠ɺ݁ہԿΛબྑ͍ͷ͔ཁ݅ ʹ߹ΘͤͯࣗͰஅ͢Δඞཁ͕͋Γ·͢ʂ ϔουϨεUIͳUIϥΠϒϥϦΛ༻ͨ͜͠ͱͷͳ͍ํ͕͍ΕɺҰR a dix UI sh a
dcn/uiΛͬͯݟͯ΄͍͠Ͱ͢ʂ
@tosuri13 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠!!