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
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
2
1.7k
Linuxが動く自作SBCを作る話.pdf
daimiya
0
750
チームパフォーマンスを高めるための2種類のセルフマネジメント / Two Types of Self-Management for Improving Team Performance
iwashi86
4
830
Burnoutとの「対話」 〜 アジャイルコーチングを活用した、燃え尽き症候群を克服するスキル 〜 / Dialogue with Burnout by Using Agile Coaching Skills
hageyahhoo
0
1k
エッジAIでBBQの肉の焼き加減判定をやってみた #iotlt #seeed
n0bisuke2
2
320
LLMを「機能」として組み込む技術:「Figma to はてなCMS」におけるプロンプトエンジニアリングからAIエージェント構築にわたる精度向上の軌跡
nanimonodemonai
0
580
Node-REDでセンサーなどから起動させるカメラノードを作ったよ IoTLT vol123 #iotlt
n0bisuke2
0
170
How to make the Groovebox
asonas
2
2.3k
5年間ぐらい、 スプリントレトロスペクティブは、 「+/Δ」しかしてないので、 あらためて良いのか悪いか考えてみる / Doing Plus Delta for about five years
camel_404
1
460
JAWS-UG 福岡 in 北九州 | JAWS-UG/AWSコミュニティ プログラムのご紹介
awsjcpm
1
240
あなたは何故コミュニティに参加するのか?
awsjcpm
3
410
ライブ感を生む 巻き込み型スライドの作り方/Create your slide like a heavy metal concert
ikuodanaka
5
1.6k
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Claude Code のすすめ
schroneko
67
230k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
440
Tell your own story through comics
letsgokoyo
1
1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Applications with DynamoDB
mza
96
7.1k
Music & Morning Musume
bryan
47
7.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
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ライブラリを開発・活用してみたいという人は是非!! ・今回お話出来なかったコンポーネント実装などは交流会で👏