Slide 1

Slide 1 text

我々のデザインシステムは Chakra v3 にアップデートします 2024/11/23
 株式会社enechain @Shunya078

Slide 2

Slide 2 text

1 Shunya078 & ただの お酒のんでる エンジニア やってま & https://x.com/_Shunya078 普段やってること & enechain という会社で toB向けの
 プラットフォームを作っていま & 事業チームにいる傍ら、
 デザインシステムのプロダクトオーナーを務めてます 自己紹介

Slide 3

Slide 3 text

Agenda 1. 技術スタックとアーキテクチャ構成 2. Chakra v3 概要 3. Pros/Cons & Why?

Slide 4

Slide 4 text

Agenda 1. 技術スタックとアーキテクチャ構成 2. Chakra v3 概要 3. Pros/Cons & Why?

Slide 5

Slide 5 text

5 技術スタック 1. 技術スタックとアーキテクチャ構成

Slide 6

Slide 6 text

6 技術スタック 1. 技術スタックとアーキテクチャ構成 背景 ‡ toB 向けの プロダクトで、SPA を採用していƒ ‡ スタートアップで社内向けプロダクトも合わせて、常に立ち上げが発生すƒ ‡ 規模によっては 2ヶ月でリリースを迎えるプロダクトもあƒ ‡ ことを考える必要があƒ ‡ プロダクトを横断したプラットフォームとしての展開を考えるため 一貫した UI の提供と、開発効率を向上させる

Slide 7

Slide 7 text

7 アーキテクチャ構成 1. 技術スタックとアーキテクチャ構成 各プロダクト デザインシステム monorepo apps/style_guide packages/components packages/icons publish install install

Slide 8

Slide 8 text

8 アーキテクチャ構成 1. 技術スタックとアーキテクチャ構成 各プロダクト デザインシステム monorepo apps/style_guide packages/components packages/icons publish install install シンプル

Slide 9

Slide 9 text

Agenda 1. 技術スタックとアーキテクチャ構成 2. Chakra v3 概要 3. Pros/Cons & Why?

Slide 10

Slide 10 text

9 Chakra v3 2. Chakra v3 概要 時間がないので概要まで リリースアナウンスはこちら https://www.chakra-ui.com/blog/00-announcing-v3

Slide 11

Slide 11 text

10 Chakra v3 2. Chakra v3 概要 Chakra, Panda and Ark - What's the plan? y Chakra v3 について、Segun Adebayo 氏からアナウンスがあったもの
 y y https://www.adebayosegun.com/blog/chakra-panda-ark-whats-the-plan (at: 2023/08/26¨ Chakra ecosystem 的には プロダクトごとに選択可能なオプションを
 提示するようになるだろう、という旨の内容が記載 (構想は 2023/03/27 の記事にあり¨ Chakra UI v3 は1年ほど経ったが、無事リリース (at: 2024/10/22) ref: https://www.adebayosegun.com/blog/chakra-panda-ark-whats-the-plan

Slide 12

Slide 12 text

11 Chakra v3 2. Chakra v3 概要 RSC ‡ 対応は未だ入ってない、クライアントサイド コンポーネントの提R ‡ 内部は emotion のまま (将来的に段階移行していく意向)
 図解には Pandas があるが、react/src(コンポーネント) 側には変化なし ref:
 https://www.chakra-ui.com/blog/00-announcing-v3#design-architecture ref:
 https://www.chakra-ui.com/blog/00-announcing-v3#does-chakra-v3-use-panda-internally FAQs にもコメントあり

Slide 13

Slide 13 text

12 Chakra v3 2. Chakra v3 概要 状態管理と書き味 y 内部の状態管理が ArkUI(zag.js) に移B y これも受けて、namespace で区切られた export がされるように

Slide 14

Slide 14 text

13 Chakra v3 2. Chakra v3 概要 状態管理と書き味 w snippet が提供されるので、デザイントークンを入れるような形になりそう → migration 的には snippet から import するようにすれば 動く ある程度 ./src/components/ui/checkbox.tsx

Slide 15

Slide 15 text

Agenda 1. 技術スタックとアーキテクチャ構成 2. Chakra v3 概要 3. Pros/Cons & Why?

Slide 16

Slide 16 text

14 3. Pros/Cons & Why? そもそもデザインシステムが
 UI コンポーネントライブラリに
 依存してるのは?

Slide 17

Slide 17 text

15 Pros/Cons 3. Pros/Cons & Why? Chakra UI 自体からの依存を無くす ‚ ここについては議論上がらq ‚ 最小単位を Chakra UI で代替することで、
 ‚ 社内の全プロダクトが Chakra UI にも依存していz ‚ Design System 単体から剥がしたとしても、
 デザイナーとの合意を取る手段として実際のドキュメントを
 使用したりしていることを考えるとフェーズとして難しい デザイントークンを注入する形により、より早く価値提供Ž

Slide 18

Slide 18 text

16 3. Pros/Cons & Why? 運用上
 辛いポイントは
 ないのか?

Slide 19

Slide 19 text

17 3. Pros/Cons & Why? 運用上
 辛いポイントは
 ないのか? もちろんある

Slide 20

Slide 20 text

18 3. Pros/Cons & Why? (例) デザイントークンを持っているので、意図せぬ上書き ” Switch のような v2 で anatomy 管理されていた場合、
 親要素のみの指定だと CSS が上書きされてしまう (今回の場合は # ) 343af5

Slide 21

Slide 21 text

19 Pros/Cons 3. Pros/Cons & Why? Chakra UI は剥がして ArkUI に移行する Pros q Chakra UI 自身が持つデザイントークンによる意図せぬ上書きを防f q 今後 Chakra UI 移行を検討している場合に、軽量にしておきたい意€ q ロードマップ上は現在検討していないので Pros とならない Cons q 全社採用されているので、Design System の I/F 変更への追従へのコストw q emotion 含めた スタイル(theme) の機構を自前で用意するコスト高

Slide 22

Slide 22 text

20 Pros/Cons 3. Pros/Cons & Why? Chakra UI は剥がして ArkUI に移行する Pros p Chakra UI 自身が持つデザイントークンによる意図せぬ上書きを防e p 今後 Chakra UI 移行を検討している場合に、軽量にしておきたい意y p ロードマップ上は現在検討していないので Pros とならない Cons p 全社採用されているので、Design System の I/F 変更への追従へのコストv p emotion 含めた スタイル(theme) の機構を自前で用意するコスト高 Chakra v3 へ アップデートすることに

Slide 23

Slide 23 text

21 Chakra v3 へのアップデートを行うこととした Why? 3. Pros/Cons & Why? 兼任メンバーのみのエンジニアチームで開発/運用してい— – 社内には 10 以上のプロダクトを抱え、その全てが利用しているので、
 Chakra UI を辞めて内製化という選択肢は難しい
 v3 移行によって、snippets で提供されている単位で書き換えられるので、 v2 anatomy 時よりも実装に近い箇所で style の注入ができることを期T – UI コンポーネントライブラリの恩恵は受けたまま、v2 のペイン解消へ

Slide 24

Slide 24 text

Agenda 1. 技術スタックとアーキテクチャ構成 2. Chakra v3 概要 3. Pros/Cons & Why? 4. 最後に

Slide 25

Slide 25 text

20 まとめ Chakra v3 のアナウンスから Chakra ecosystem の今後を紐解い0 † 開発者側に Chakra ecosystem の ライブラリから
 何を選択してプロダクトを作り上げるのかの選択肢を提供していく Chakra UI v3 ではより ヘッドレスUI っぽい書き味に変わo † Ark UI への状態管理周りの移行が影 † スタイルの実装が閉じていたコンポーネントもよりカスタマイズしやすくなる