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
デザインシステム×マルチプラットフォームアプリ開発 / abceed_Tech_Night
Search
Recruit
PRO
April 21, 2022
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デザインシステム×マルチプラットフォームアプリ開発 / abceed_Tech_Night
2022/04/20_abceed Tech Night「大人気教育アプリ 3社のモバイルアプリ開発秘話」での、石田智宏・ロークニヨム チャッチャイの講演資料になります
Recruit
PRO
April 21, 2022
More Decks by Recruit
See All by Recruit
AIネイティブ時代における 開発組織の役割と拡張の可能性
recruitengineers
PRO
2
230
開発が速く安くなった後の話 AI時代のソフトウェアエンジニアリング組織論 #devsumi
recruitengineers
PRO
45
31k
双方向推薦システムにおける長期的マッチング最大化に向けた代理目的関数の設計と実証
recruitengineers
PRO
1
160
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
210
Model Routerを使った逐次LLM選択による毀損低減効果の検証
recruitengineers
PRO
2
83
ストリーム処理基盤のFlink移行検証と適材適所の実践
recruitengineers
PRO
2
120
AI 時代の Platform Engineering
recruitengineers
PRO
3
520
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
3.7k
データ戦略を加速させる プラットフォーム エンジニアリングと進化的アーキテクチャ
recruitengineers
PRO
3
130
Other Decks in Technology
See All in Technology
なぜMIXIはゼロトラスト基盤として クラウドフレアを選んだのか - Cloudflare Peer Point SASE User Voices
mixi_engineers
PRO
2
120
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
250
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/aidevday2026
thara0402
0
110
AI工学特論: MLOps・継続的評価
asei
11
2.9k
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
470
AI驚き屋発見器
yama3133
1
370
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
620
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
920
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
150
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
160
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
130
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
230
Automating Front-end Workflow
addyosmani
1370
210k
Documentation Writing (for coders)
carmenintech
77
5.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Design in an AI World
tapps
1
270
Making the Leap to Tech Lead
cromwellryan
135
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
920
Transcript
デザインシステム × マルチプラットフォームアプリ開発 @chuymaster @geckour EdTech Night
Agenda | 01 02 03 04 05 発表者紹介 デザインシステム導入の背景 iOS
の実装紹介 Android の実装紹介 まとめ
発表者紹介 01
@chuymaster / チャイ - iOS アプリエンジニア - 「スタディサプリ 中学講座」開発担当 @geckour
/ 石田 智宏 - Android アプリ開発者 - 「スタディサプリ 中学講座」開発担当
リクルートグループでの位置づけ メディア& ソリューションSBU 人材派遣SBU HRテクノロジーSBU 創業 本社 連結売上収益 グループ企業数 グループ従業員数
創業 1960年 設立 1963年 東京 22,693億円 (2020年4月1日~2021年3月31日) 連結子会社 351社 関連会社8社 (2021年3月31日時点) 46,800名(2021年3月31日時点) OUR MISSION
国内向けサービス 小学生から受験生や大人まで、学習したい全ての人が学べる月額制のオンライン学習サービス。 約4万本の録画授業動画が見られるベーシックプランのほか、オンラインコーチングプランや生配信で授業を受けられるライブプ ランなど、一人一人が自由に学習できるよう、様々なプランを展開しています。 先生方が生徒個々人のレベルに合った最適な学習を提供できる校内インフラサービス。クラス全員に特定の講義や確認テスト、 宿題を配信することができるほか、アクティブラーニングに使える教材も提供。 生徒が夢中になって学び、希望する進路を実現することを支援しています。 隙間時間に3分で学習できる英語サービス。リスニングと発話を鍛えられる「新日常英会話コース」、短期間でのスコアアップを 狙う「TOEIC®L&R TEST対策コース」、「ビジネス英語コース」があり、業界初オンライン完結型コーチングも提供しています。
サービスラインナップ 様々なサービスラインナップにて事業展開をしています スタディサプリ 対象学年 小・中学校 高校 大学・社会人 オンラインビデオ (B to
C) オンラインビデオ& アセスメント (B to B to C) オンラインコーチング パーソナルコーチプラン
サービス会員推移 47万人 74万人 26万人 8万人 4万人 国外 国内 2014 2015
2016 2017 2018 2013 97万人 194 22 127万人 2019 2020 216万人 サービス開始から 7 年、有料会員数は国内外で累計 216 万人となりました (2020 年度単体)
デザインシステム導入の背景 02
デザインシステムとは グッドパッチエンジニアが選ぶ、推しデザインシステム 10 選|Goodpatch Blog グッドパッチブログ より 「 デザインシステムとは、ソフトウェアやグラフィックなどにおけるデザインの 原則や指針と、それらを実現するための仕組みの集合体です。
(中略) 一般的にデザイン原則にはタイポグラフィ・カラーシステムやボイス&トー ンなどが含まれ、仕組みにはコードベースのUIコンポーネントやデザイン トークンなどが含まれます。 」
デザインシステムを導入した背景 • アプリ全体のデザインを統一したい • 再利用可能コンポーネントを作って、コミュニケーションコスト・実装コストを減 らしたい
デザインシステムの紹介 • Atomic Design を改修した設計を採用 ◦ Tokens を追加し、Atoms、Components まで定義 ◦
デザイン工数削減・実装がルールに縛られすぎないメリット COMPONENTS
• Atomic Design を改修した設計を採用 ◦ Tokens を追加し、Atoms、Components まで定義 ◦ デザイン工数削減・実装がルールに縛られすぎないメリット
COMPONENTS デザインシステムの紹介 🐟 🍣 🍱
• 🐟 Tokens デザインシステムの紹介
デザインシステムの紹介 • 🍣 Atoms
デザインシステムの紹介 • 🍱 Components
iOS の実装紹介 03
SwiftUI とデザインシステムは 相性がいい
SwiftUI とデザインシステム • 一つのファイルで View の記述が 完結するので、UI の部品として管 理しやすい •
Previews が便利
SwiftUI とデザインシステム • 一つのファイルで View の記述が 完結するので、UI の部品として管 理しやすい •
Previews が便利
enum と Extension で Tokens を実装 • enum で Tokens
を定義し、View の Extension に関数を追加することで、 馴染みやすい実装に
enum と Extension で Tokens を実装 • Sizing
enum と Extension で Tokens を実装 • Sizing
enum と Extension で Tokens を実装 • Sizing
enum と Extension で Tokens を実装 • Typography
enum と Extension で Tokens を実装 • Typography
enum と Extension で Tokens を実装 • Typography
enum と Extension で Tokens を実装 • Typography
enum と Extension で Tokens を実装 • Typography
Previewsで開発が爆速に
Previews でカタログ化 • Previews 機能で Tokens のカタログを 作って、視覚的に確認できる
Previews でカタログ化 • UI のパターンを網羅でき て、不具合を防ぐことがで きる 🍣MainButton の Previews
カタログ
• SnapshotTesting というライブラリーで Visual Regression Test をしている ◦ https://github.com/pointfreeco/swift-snapshot-testing SnapshotTesting
と Previews でテストを自動化
SnapshotTesting と Previews でテストを自動化 • コード自動生成ツール「Sourcery」を使って、自動でテストコードを生成して いる ◦ 詳しくはメルカリさんの記事をご覧ください ◦
https://engineering.mercari.com/blog/entry/20201204-1f94b9dc a2/
Android の実装紹介 04
Jetpack Compose とデザインシステム 詳細はコチラ: Jetpack Compose と GraphQL Fragment でつくるデザインシステム実装
(blog.studysapuri.jp) • Jetpack Compose: 宣言的 UI • デザインシステム: デザインコンポーネントの関連付け • コンポーネントの実装と宣言的 UI は相性が良い
• Atomic Design を改修した設計を採用 ◦ Tokens を追加し、Atoms、Components まで定義 ◦ デザイン工数削減・実装がルールに縛られすぎないメリット
COMPONENTS デザインシステムの紹介 🐟 🍣 🍱
Components Lesson
Components Lesson
• Atomic Design を改修した設計を採用 ◦ Tokens を追加し、Atoms、Components まで定義 ◦ デザイン工数削減・実装がルールに縛られすぎないメリット
COMPONENTS デザインシステムの紹介 🐟 🍣 🍱
Atoms Chips
Atoms Chips
• Atomic Design を改修した設計を採用 ◦ Tokens を追加し、Atoms、Components まで定義 ◦ デザイン工数削減・実装がルールに縛られすぎないメリット
COMPONENTS デザインシステムの紹介 🐟 🍣 🍱
Tokens Typography
Tokens Typography (XML)
コンポーネントの内包関係を スッキリ表現できる
Jetpack Compose (宣言的 UI) ならね
ついでに得られた 副次的なメリットいろいろ
デザインカタログの生成 • Showkase を利用
コンポーネントの Visual Regression Testing • Showkase + reg-suit を利用
コンポーネントの Visual Regression Testing
コンポーネントの Visual Regression Testing
コンポーネントの Visual Regression Testing
コンポーネントの Visual Regression Testing
コンポーネントの Visual Regression Testing
まとめ 05
• SwiftUI & Jetpack Compose とデザインシステムは相性が良い ◦ コンポーネントの表現がしやすくなり、コードの見通しがよくなった ◦ カタログ化で、コンポーネントの認知負荷が減った
◦ UI 部品のテストの自動化で、画面レベルではコンポーネントの状態を気に しなくて良くなった デザインシステムを取り入れてよかった!
一緒に事業拡大を目指す仲間を お待ちしています!
ご清聴ありがとうございました