Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HRTech SaaSで開発している共通UIライブラリについて
Search
shippokun
April 06, 2023
How-to & DIY
230
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HRTech SaaSで開発している共通UIライブラリについて
https://anotherworks.connpass.com/event/276673/
shippokun
April 06, 2023
Other Decks in How-to & DIY
See All in How-to & DIY
画面の向こうから「気づき」を得る 画面の向こうを「物差し」として捉える
subroh0508
1
480
M5StickS3触ってXiaoZhiAI触ってみた #にぼし香 #iotlt
n0bisuke2
0
320
LT#9 非線形な物理現象に基づく真性乱数生成器の構築と、暗号学的エントロピー密度の定量的評価について
sakopon
0
150
JAWS-UG/AWS Community Update - 2026/6/13 JAWS-UG TOHOKU 仙台
awsjcpm
0
1.3k
Optional<Bar>うらばなし
ryomm
2
380
キャリア科目では教えてくれない、就活を生き抜く法則
logica0419
2
330
社会人9年目の僕が贈る処世術
coco_se
1
390
地域コミュニティって いいよね/Local Communities Are Pretty Great
aokiplayer
1
160
OSSコミュニティがくれた「人との繋がり」
tanahiro2010
2
470
OpenClawハンズオンでのトラブルとデバイス向けなんちゃらクロー #IoTLT vol133
n0bisuke2
1
320
ときメモは 運営が30年かけて “実プレイ”していた
mzryuka
0
170
JAWS SONIC 2026 オンラインでつながり、オフラインで会おう! - JAWS-UG北陸新幹線で始まった支部とコラボ
pharaohkj
1
370
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.8k
How GitHub (no longer) Works
holman
316
150k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Odyssey Design
rkendrick25
PRO
2
880
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Transcript
HRTech SaaSで開発している共 通UIライブラリについて Front-end Meetup 2023
株式会社HRBrain SubTL 岩本 佳吾 3年弱ほど新卒入社した家具ECサイトを経 営する会社で社内システムの開発を主にし ていました。 弊社ではUIライブラリの刷新、タレントマネジ メント開発に従事しています。 あだ名は「しっぽくん」
Abstract 今回は弊社で開発・運用しているUIライブラリの1年間の運用方法と課題感に ついてお話します。 技術選定やコンポーネント作成については今回は深堀りはしません。 主に専任チームはないが社内でUIライブラリを運用している・しようとしている 人に対してなにかしら役に立つことが話せたらと思います。
今回お話するトピック ・HRBrainでのUIライブラリの立ち位置 ・運用体制・これまでの開発 ・採用技術 ・一部コンポーネント紹介 ・運用していく中での課題感と対策 ・UIライブラリを開発していく中で難しい部分としくじり ・まとめと今後
HRBrainでのUIライブラリの立ち位置 ・複数のプロダクトと今後も増える ・プロダクトとは別にドメイン知識を持っ たWeb Components ・様々なFormに対応するため カスタマイズ性が求められる ・優秀なデザイナー陣による監修
UIライブラリの運用体制 ・専任チームはおらずOwner1名のベストエフォートで対応 ・プロダクト開発しているメンバーがコントリビュートする状態 ・デザインはプロダクトデザイナーチーム全員で取りまとめ
これまでの開発 ・プロダクト間で共通のUIでデザインが作成されていることも多く、 3年ほど前からUIライブラリの作成を始めた ・3年間でプライベート、パブリック、モノレポと管理方法が変化 → 現在はプライベート ・ここ1年でデザインリニューアルが始まり、UIライブラリも刷新へ
採用技術 ・React.js x TypeScript ・webpack ・styled-components ・開発する際に利用 ・Chromatic(Storybook公開・デザインレビュー) ・Hygen(テンプレート)、Ship.js(リリース自動化) ・ライブラリ公開:GitHub
Packages
一部紹介 ・カラーコードの集約
一部紹介 ・基本的なButtonコンポーネントを始め、PulldownやDatePickerなどのデータ 入力のために必要不可欠なコンポーネントも提供
運用のスタンス ・いわゆる社内OSSのような管理 ・そのために人によって差が出にくい施策を用意 右図はデザイナーが コントリビュートチャンスを 狙っている図
運用施策 ・コンポーネントなど追加を簡単にするためにテンプレートを用意 ・export記述やラベル作成などを1コマンドで生成可能 https://www.hygen.io/ を採用
運用施策 ・Ship.jsによる自動リリース(2回クリックでリリースできる状態に!)
運用していく中での課題感 ・専任メンバーがいないため継続的な開発が困難 ・リリースした内容の認知度が低い
運用していく中での課題感 ・専任メンバーがいないため継続的な開発が困難 ・要望をIssue化・ラベリングしコンポーネントが抱えている課題を リストアップ → 開発ポイント明確化 ・新規開発メンバーにGoodFirstIssueをアサインし改善と認知度向上 ・リリースした内容の認知度が低い
運用していく中での課題感 ・専任メンバーがいないため継続的な開発が困難 ・リリースした内容の認知度が低い ・リリース内容をSlackへ自動転送 ・詳細とChromaticの該当リンクを添付
UIライブラリを開発していく中で難しい部分 ・どこまでUIライブラリが責務を持つのか? ・例えばバリデーション ・標準のInput要素にあるmin,maxを自作UIライブラリでも実装? ・他にもエラーメッセージなど ・一定のルールを定めたり、柔軟に対応できる機能提供をする ・バリデーションは利用側で複数定義しUIライブラリ側で順次適応
UIライブラリを開発していく中で起こったしくじり ・根本的にコンポーネントを作り変えた ・古いコンポーネントを非推奨へ ・メジャーバージョン4つほど経て削除することに ・古いコンポーネントからデグレしていた機能があり、 バージョンアップできないと問題に! ・インテグレーションテストなどで動作担保をするべきだった ・この反省を踏まえて徐々にStorybookのインテグレーションを導入中
まとめと今後 ・貢献しやすい状態を作り出すことで継続的な改善をする ・UIライブラリとプロダクトの責務を定義することで迷わない開発に ・自分でUIライブラリを開発・活用してみたいという人は是非!! ・今回お話出来なかったコンポーネント実装などは交流会で👏