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
サロンアプリの技術的負債解消への取り組み
Search
K-Torishima
June 08, 2023
Programming
0
520
サロンアプリの技術的負債解消への取り組み
価値提供スピードを上げるための技術的負債への向き合い方
https://dmm.connpass.com/event/284374/
K-Torishima
June 08, 2023
Tweet
Share
More Decks by K-Torishima
See All by K-Torishima
DMM.Swift #1 詳解 ViewModifier
k_torishima
2
810
Human Interface Guidelinesから読み解く標準アプリの素晴らしい体験
k_torishima
0
3.8k
Other Decks in Programming
See All in Programming
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
230
testingを眺める
matumoto
1
130
コンテキストエンジニアリング Cursor編
kinopeee
1
760
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
4
1.9k
速いWebフレームワークを作る
yusukebe
5
1.7k
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1.1k
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
280
CSC305 Summer Lecture 12
javiergs
PRO
0
130
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
710
ProxyによるWindow間RPC機構の構築
syumai
3
1k
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
320
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Making Projects Easy
brettharned
117
6.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Practical Orchestrator
shlominoach
190
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Unsuck your backbone
ammeep
671
58k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Transcript
© DMM サロンアプリの技術的負債解 消への取り組み オンラインサロン事業部 鳥嶋 晃次
© DMM 自己紹介 鳥嶋 晃次 DMM.com イノベーション本部 オンラインサロン事業部 プロダクト開発チーム 2022年
合同会社DMM.com 中途入社 DMM歴半年たちました。 GitHub:K-Torishima Twitter:@k_torishima 2
© DMM アジェンダ 1. オンラインサロンアプリにおける技術的負債 2. これまでの取り組み 3. 負債と向き合うための取り組み 4.
現在の取り組みと未来の話 5. まとめ 3
© DMM 4 1. オンラインサロンアプリにおける技術的負債
© DMM ReactNativeによる技術的負債 歴史的背景によりReactNativeを採用し開発を行っていたが、現状のチームでは ReactNativeで開発するメリットが 少ないと感じていた 今後もReactNativeで開発を継続していくと、ビジネス面、開発面、採用面などへのデメリットが多くなってきてしまう (決してReactNativeが悪いとかではないです) 5 過去のスライドはこちら
https://speakerdeck.com/roana0229/dmmonrainsaronapurifalsereactnative-nil-swifthua-hefalsedao-falseri https://speakerdeck.com/hayatan/reactnative-falseahuriwo-swift-nizhi-kihuan-etemasu
© DMM 2. これまでの取り組み 6
© DMM ReactNativeからSwiftに移行を進める 1. Swiftで開発できるようにするための環境構築 • ビルド環境の整備 • ReactNative側の整備など 2.
Swift化基盤を作る • アーキテクチャの選定、 DMM社内推奨アーキテクチャである VIPERの採用 • マルチモジュール化で依存関係を縛る • ReactNativeとSwift間でのやりとりの構築 3. 段階的にSwift化する • 影響範囲少ない末端の画面から Swift化 • 新規機能実装時はSwiftで実装 7
© DMM 直近の取り組み 1. SwiftUIの積極的な採用 • Viewの構築 • Componentsなどの構築 •
新規機能における画面実装など 2. Swift化の初期段階で生んでしまった負債のリファクタリング • ViewControllerに責務を置いていた Viewの振る舞いに関するコードを SwiftUIに寄せる • ライブラリアップデートや、 Cocoapodsを脱却しSPMに移行 • なかなか手のつけられていなかった開発環境に関する細かなメンテナンスや CIのメンテナンスなど 8
© DMM 9 3. 負債と向き合うための取り組み
© DMM 開発チームでの取り組み • Human Interface Guidelines輪読会の実施 iOSアプリ開発に関わるメンバーでの共通認識を持ち、 Swift化を進めていく上でより iOSアプリらしいUI、UXを提供
できるような取り組みを実施しました 輪読会を行ったことによって、 デザインレビュー時にエンジニア・デザイナー間で、共通の言語で根拠ある議論 (HIGを引用したりなど)をしやすくなり ました 10
© DMM iOSメンバーでの取り組み 1. iOSメンバーでのMTGの実施 • 隔週でiOSメンバーでのMTGを実施し、技術的にどんな課題があるかや、他社の事例紹介、競合、類 似アプリの調査など積極的に改善策をあげてチームでの意識を高める取り組みを行なっています 2. 事業部全体への展開
• 開発チーム内だけでなく事業部への共有をスプリントレビューで共有し、現在どんなことをやっている かなどを事業部全体に展開しております • 改善系のタスクは成果が見えにくいところがあるので開発者側から積極的に共有していくことを意識し て取り組んでいます 11
© DMM 12 4. 現在の取り組みと未来の話
© DMM 現在 1. Swift化に向けてた取り組み • ReactNativeのコードが存在しない Swift製のリファレンスアプリを作成 • Swift
Concurrencyの対応 • SPM化 • OSのサポートをiOS16以上を前提とし、SwiftUIベースのアーキテクチャの選定 • よりスピーディーに機能をデリバリーできるようにするための UI構築基盤設計 2. 分析など • GA4をフル活用できるようにするためのデータ分析基盤設 計 3. 改善タスク • 既存機能で改修が必要な箇所 の洗い出し、UIの見直しなど • 仕様の再定義 13
© DMM 未来 • ReactNativeがプロダクトコードからなくなりiOSエンジニアの本領が発揮できる環境になり 爆速開 発できるようになる • 継続的に安定した品質を保ちアプリ開発ができる基盤が形成される •
アプリのデータ分析基盤が構築され、よりデータに基づいた施策が実施できるようになる • 新規機能がより開発しやすくなり、今まで以上に事業施策にコミットできるようになる • テストコードの充実 • iOSエンジニアを採用しやすい環境となる 14 明るい未来が待っています!!!
© DMM まとめ • 技術負債への向き合い方は色々ある • チームで共通認識を持つことは非常に大事 • 決してReactNativeという技術は負債ではない •
負債はその時その時の状況で変わるので柔軟に対応するべき • 組織に共有することは非常に大切、知ってもらうために技術者から発信する • 楽しんでやった方がより良いものづくりになります 15
© DMM 16 ありがとうございました