● iOS Engineer@Money Forward ME
○ iOSエンジニア@マネーフォワード ME
● Joined Money Forward in 2019
○ 2019年入社
Ichiro Hirata
平田 一郎
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Flutterとは
What is Flutter?
Slide 5
Slide 5 text
Flutterとは?
What is Flutter?
Flutter
Slide 6
Slide 6 text
Flutterとは?
What is Flutter?
Swift
Kotlin
Slide 7
Slide 7 text
Flutterとは?
What is Flutter?
Swift
Kotlin
Flutter
Module
Add-to-app
Slide 8
Slide 8 text
導入の経緯
Background
Slide 9
Slide 9 text
プロジェクトの課題
Project Issues
Development
Productivity
Issues
Slide 10
Slide 10 text
プロジェクトの課題
Project Issues
Development Test
Design
Planning
Productivity,
Communication,
Motivation,
Issues
Assignment Efficiency,
Communication
Efficiency,
Communication
Slide 11
Slide 11 text
Project A
Project B
Project C
Planning
プロジェクトの課題
Project Issues
iOS Android
Slide 12
Slide 12 text
Design
プロジェクトの課題
Project Issues
Android
iOS
Designer
Apple
HIG
Material
Design
Figma
Development
プロジェクトの課題
Project Issues
iOS Android
Objective-C
Slide 15
Slide 15 text
Test
プロジェクトの課題
Project Issues
Project A
Project B
Project C
iOS Android
QA
Slide 16
Slide 16 text
課題解決手段としてのクロスプラットフォーム
Cross platform as one of the solutions
Development Test
Design
Planning
Issues
Productivity,
Communication,
Motivation,
Assignment Efficiency,
Communication
Efficiency,
Communication
Slide 17
Slide 17 text
Productivity,
Communication,
Motivation,
課題解決手段としてのクロスプラットフォーム
Cross platform as one of the solutions
Development Test
Design
Planning
Issues
Assignment Efficiency,
Communication
Efficiency,
Communication
Slide 18
Slide 18 text
Add-to-appによるスモールスタート
Small Start with Add-to-app
Project A
Project B
Project C
Slide 19
Slide 19 text
Add-to-appによるスモールスタート
Small Start with Add-to-app
Project A
Project B
Project C
Add-to-app
Slide 20
Slide 20 text
導入
Introduction
Slide 21
Slide 21 text
技術検証
Technical Verification
# Features
- View
- Business Logic
- Storage
- Native View, etc.
# Development Tools
- Hot Reload / Restart, etc.
Slide 22
Slide 22 text
開発用テンプレート
Templates for Development
# Informative Templates
Covers how to implement all
classes for a single screen.
Also helpful when reviewing pull
requests.
Slide 23
Slide 23 text
OpenAPIの導入
Introduction of OpenAPI
Slide 24
Slide 24 text
オンボーディング
Onboarding
# Onboarding
- Basic knowledge of Flutter / Dart
- Usage of templates, OpenAPI
- Small task assignments, etc.
Slide 25
Slide 25 text
Automation
Android
iOS
自動化
Sub module
Sub module
Flutter
Slide 26
Slide 26 text
Automation
Android
iOS
自動化
Sub module
Sub module
Pull Request
GitHub
Actions
Flutter
デバッグツール
Debugging Tool
# Various Features
- Direct Screen Transition
- Multiple Server Environment Connections
- API Log Viewer, etc.
Slide 29
Slide 29 text
デバッグツール
Debugging Tool
Android
Studio
Independent
Flutter App
Build
for
Debugging
Slide 30
Slide 30 text
その他工夫した点
Small Tips
Slide 31
Slide 31 text
Add-to-appの使い所
Add-to-app Scope
One Screen = One Flutter
Slide 32
Slide 32 text
Flutter
Add-to-app
iOS
Add-to-app用のAPIクライアント
API Client for Add-to-app
Session
Synchronization
Native API Client Flutter API Client
Slide 33
Slide 33 text
デザインの統一
Unified Design
Android
iOS
All Flutter Screens Based on Material Design
Slide 34
Slide 34 text
デザインの統一
Unified Design
Slide 35
Slide 35 text
生成AIの活用
Leveraging Generative AI
Pull Request Review Generated Test Code
Slide 36
Slide 36 text
導入した結果
Results
Slide 37
Slide 37 text
導入の結果
Results
Development Test
Design
Planning
Issues
Productivity,
Communication,
Motivation,
Assignment Efficiency,
Communication
Efficiency,
Communication
Slide 38
Slide 38 text
導入の結果
Results
Development Test
Design
Planning
Productivity,
Communication,
Motivation,
Efficiency,
Communication
Assignment Efficiency,
Communication
Issues
2x Productivity
Slide 39
Slide 39 text
導入の結果
Results
Development
Productivity,
Communication,
Motivation,
2x Productivity
2x(?) Communication
Slide 40
Slide 40 text
導入の結果
Results
Project A
Project B
Project C
Add-to-app
Add-to-app
Add-to-app
Slide 41
Slide 41 text
導入の結果
Results
Slide 42
Slide 42 text
導入の結果
Results
Successful Onboarding
Slide 43
Slide 43 text
今後の展望
Future Prospects
Slide 44
Slide 44 text
いつAdd-to-appをやめるか?
When should we stop using Add-to-app?
Now Near Future
Something happened…
Ideal Future
Slide 45
Slide 45 text
Small Start
with
Add-to-app
Successful
Onboarding
Unified
Design
One Screen
One Flutter
Independent
Debugging Tool
Improved Productivity
and Communication
Templates
Takeaways
Automation
* 記載されている会社名および商品・製品・サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。
* Icons by Icons8