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
HRTech SaaSで開発している共通UIライブラリについて
Search
shippokun
April 06, 2023
How-to & DIY
220
1
Share
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
10分de名コミュ “最高の自分”を演じ憧れの同業者と渡り合う
subroh0508
1
640
「無理」を「コントロール」するスキル / Skills to Control "Muri"
hageyahhoo
6
3.9k
JAWS-UG横浜100回記念 私のAWS ジャーニーと日本からみた横浜支部
awsjcpm
0
290
ポッドキャストをはじめよう ポッドキャストのやりかたと続けるコツ
takamichie
0
110
ネガティブをねじ伏せ、n=1のキャリアに変える技術
subroh0508
1
1.2k
2025版 鯖落ちパーツで安価に機械学習用マシンを作ってみる
bobfromjapan
0
720
「変えること」「変わること」を楽しむ力で"敵わない存在"と向き合う
subroh0508
2
1.6k
【ふりかえりワークショップ】Tryを決めるだけじゃない!感情にフォーカスした、ふりかえりを体験しよう!
scrummasudar
0
1.2k
Raspberry Pi Connectを使って #Manus => Node-RED操作チャレンジ #iotlt vol121
n0bisuke2
0
210
JAWS-UG と AWS - JAWS-UG 沖縄 Cloud on the Beach 2025
awsjcpm
0
150
What's the difference in taste between expensive and cheap mills? Measuring coffee particle size distribution using ImageJ
dogrunjp
0
830
JAWS-UG/AWSコミュニティ アップデート (JAWS-UG函館支部)
awsjcpm
3
150
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Producing Creativity
orderedlist
PRO
348
40k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
110
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Skip the Path - Find Your Career Trail
mkilby
1
110
The Limits of Empathy - UXLibs8
cassininazir
1
300
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Deep Space Network (abreviated)
tonyrice
0
120
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
180
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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ライブラリを開発・活用してみたいという人は是非!! ・今回お話出来なかったコンポーネント実装などは交流会で👏