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コンポーネントライブラリをうまく使うためにできること / components-with-...
Search
mottox2
September 21, 2023
Technology
7
3.9k
UIコンポーネントライブラリをうまく使うためにできること / components-with-designer
mottox2
September 21, 2023
Tweet
Share
More Decks by mottox2
See All by mottox2
もう一歩進めたい OG画像の動的生成
mottox2
7
2k
なぜコピペで使うコンポーネント集を利用するのか?
mottox2
8
7.3k
Figma Plugin公開までの壁を乗り越える
mottox2
3
3.6k
Puppeteerでつくる画像と動画 / images and videos made with puppeteer
mottox2
0
720
手触りのよいウェブを考える / better-mobile-web
mottox2
3
1.9k
組織と権限とSlack App / slack-app-with-roles
mottox2
1
670
SSRを避けるためにやっていること / ssr-alternative
mottox2
9
3.2k
JSXでつくる宣言的UIなプレゼンテーション / jsx-presentation
mottox2
7
33k
プレイヤー目線の技術ブランディング / personal branding
mottox2
4
4.6k
Other Decks in Technology
See All in Technology
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
280
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
720
実践マルチモーダル検索!
shibuiwilliam
3
540
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
190
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
180
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
350
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
870
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
240
制約下の医療LLM Observability 〜セキュアなデータ活用と専門家による改善サイクルの実現〜
kakehashi
PRO
1
110
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
360
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
300
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
360
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.6k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Designing for Performance
lara
610
69k
GitHub's CSS Performance
jonrohan
1032
470k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A designer walks into a library…
pauljervisheath
209
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Facilitating Awesome Meetings
lara
57
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Building Adaptive Systems
keathley
44
2.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
UIコンポーネントライブラリを うまく使うためにできること フロントエンドの開発生産性〜Online Conference〜 @mottox2
@mottox2 たまにウェブフロントエンドエンジニアなUIデザイナー
UIデザイナーとフロントエンドエンジニア間での見方の違い 認識をあわせることで得られるメリットを考える 今日は の事例を話します
本LTの前提 Not for meに感じる人もいると思います 小規模チーム シングルプロダクト C向けアプリ マルチプロダクト B向けアプリ 大規模
そもそもコンポーネントライブラリを使っている? 1. 使わず、 アプリ内に直接書いている 2. 使っている 3. 社内共通ライブラリを作って使っている
UIライブラリの導入 B向けとか、 世界観を要求されない場面で有i W 少ないインプットでアウトプットを得た` W 統一感・アクセシビリティがある程度担保されF ありものを入れるだけで満足してないr
デザイナーの視点も反映して導入すると生産性に効く? Web3感を出したい!みたいな
避けたい未来 8 技術的な都合だけで進めてしまv 8 デザイナーや偉い人からの 「なんかダサい」 といった 理由でフロントエンドをリプレースする未e 8「なんかダサいね」 と言いつつ、
やる気不十分で開発・ デザインし続ける未e 8 初速がよくても短期間でこうなると生産性は高くない
うまく使うためのポイント 1. UIライブラリ自体の選定 2. ライブラリのテーマ設定 3. デザインファイルへの反映
UIライブラリ自体の選定 依存するライブラリ、 コンポーネントの充実度、 スターや利用者数を見て採用を判断しよう UI自体のトンマナが古くないか、 足りないコン ポーネントをデザインしやすいかが気になる エンジニア デザイナー
ライブラリのテーマ設定 導入してコンポーネントが使えたらそれで満足 そもまま使うと微妙な箇所があって直したい けどどこをいじれるかわからない エンジニア デザイナー サービスロゴの色やグラデをボタンで使いたい、日本語フォントが入ると見た目が悪い
デザインファイルへの反映 導入したテーマに沿った配色をしてほしい、 4pxグリッドだと実装しやすいなー どこをいじれるかわからない、 もやもやする 何をデザインに反映すればいいかわからない エンジニア デザイナー
実例 入れたものではなく、 入れる際にエンジニアデザイナーの視点で それなりに満足できる妥協点を目指すことが重要と考えています。
shadcn-uiを選定 y ニュートラルなUIがよY y 足りないコンポーネントをデザインしやすい 外部UIコンポーネントを追加してもなじませやすY y 多分一から作っても似たような見た目になりそ$ y コンポーネントの種類は足りないけど目をつぶっ'
y(正確にはコンポーネントライブラリではない)
shadcn-uiを選定 default new-york
shadcn-uiのテーマ設定 p 設定箇所を確認し、 newyorkというテーマを利9 p newyorkはdefaultと比べてスペーシングとフォントサイ ズが小さめに作られている。
アイコンはMaterial Symbolsを利用 標準ではRadix Iconsだったが、 小さなサイズ用なのに加 えて種類が少なくて運用が大変そP VariableFontとして提供されているMaterial Symbols
に置き換え ( 種類も多く、 Figmaプラグインもよい
アイコンはMaterial Symbolsを利用 weight: 100 weight: 300 weight: 600 filled, weight:
300 t VariableFontなのでアプリにあったものを選べる
微妙な箇所を修正 B 日本語を入れると違和感の出る箇所を修' B 行間や太さに違和感が出る箇所の対 B スペーシングに違和感のある場所の対 B 割れ窓を塞ぎたい
デザインファイルへの反映 shadcn/uiが利用している CSS VariablesをFigmaの デザインファイルに登録。 デザインする際に、 同じ値を 使う。
導入してみた感想 e コスパよくそれなりに満足のいくコンポーネント基盤が 出来て良さそう、 他のデザインに時間を使えてい e それなりに長期間耐えうるものになりそうな予I e ライブラリに学習コストをかける必要がある。
おわりに i 単純に効率が良く進めるだけでなく納得感を持てる8 i コンポーネントライブラリだけでこれだけの観点があe i デザイナーの視点も入れることで質が得られる8 i デザイナーのやる気が高まる→仕事の質があがる→ アプリに対する愛着が湧く→生産性があがる
Thank you!