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.7k
UIコンポーネントライブラリをうまく使うためにできること / components-with-designer
mottox2
September 21, 2023
Tweet
Share
More Decks by mottox2
See All by mottox2
もう一歩進めたい OG画像の動的生成
mottox2
7
1.5k
なぜコピペで使うコンポーネント集を利用するのか?
mottox2
8
6.8k
Figma Plugin公開までの壁を乗り越える
mottox2
2
2.7k
Puppeteerでつくる画像と動画 / images and videos made with puppeteer
mottox2
0
620
手触りのよいウェブを考える / better-mobile-web
mottox2
3
1.7k
組織と権限とSlack App / slack-app-with-roles
mottox2
1
590
SSRを避けるためにやっていること / ssr-alternative
mottox2
9
3.1k
JSXでつくる宣言的UIなプレゼンテーション / jsx-presentation
mottox2
7
32k
プレイヤー目線の技術ブランディング / personal branding
mottox2
4
4.2k
Other Decks in Technology
See All in Technology
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
AGIについてChatGPTに聞いてみた
blueb
0
130
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Building Adaptive Systems
keathley
38
2.3k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Site-Speed That Sticks
csswizardry
0
24
Documentation Writing (for coders)
carmenintech
65
4.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The World Runs on Bad Software
bkeepers
PRO
65
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Gamification - CAS2011
davidbonilla
80
5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
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!