$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モバイル開発におけるクロスプラットフォームの期待と課題 / Cross-platform ex...
Search
Daichi Furiya (Wasabeef)
September 07, 2020
Programming
0
400
モバイル開発におけるクロスプラットフォームの期待と課題 / Cross-platform expectations and challenges in mobile development
Daichi Furiya (Wasabeef)
September 07, 2020
Tweet
Share
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.4k
About Flutter Architecture
wasabeef
1
290
2023 Flutter/Dart Summary
wasabeef
0
99
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
200
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3k
What it Takes to be a Flutter Developer
wasabeef
0
210
FlutterKaigi 2022 Keynote
wasabeef
1
650
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.5k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.2k
Other Decks in Programming
See All in Programming
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
認証・認可の基本を学ぼう後編
kouyuume
0
240
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
380
愛される翻訳の秘訣
kishikawakatsumi
3
330
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
AIコーディングエージェント(Manus)
kondai24
0
200
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
120
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
540
Developing static sites with Ruby
okuramasafumi
0
310
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
34
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How GitHub (no longer) Works
holman
316
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Marketing to machines
jonoalderson
1
4.3k
Transcript
モバイル開発における クロスプラットフォーム の期待と課題 降矢大地
降矢大地 Google Developers Expert @wasabeef_jp wasabeef CA Developer Experts Developer
Productivity 室
•近年、またクロスプラット フォームが人気を集め始めて います。現在は主に Flutter と React Native が主要な市 場プレイヤーですが、クロス プラットフォームが何をもた
らすのかを話します。 クロスプラットフォーム
•1. モバイルアプリ開発の現状と課題 •2. クロスプラットフォーム分野への期待と課題 •3. クロスプラットフォームの注目技術 Flutter、Kotlin MPP、React Native、.NET MAUI
•4. メディア事業部としての今後の取り組み 今日話すこと
モバイルアプリ開発の現状と課題
• モバイルアプリ開発は成熟期でもあるので、致命 的な課題もなく可もなく不可もない現状。 • Jetpack Compose/Swift UI などの宣言的な UI を構築できる仕組みが来年くらいから安定化され
るかも。 現状
• iOS/Android の機能仕様ずれ (認識ずれ、SDK・ライブラリ差のずれ) • Androidエンジニア不足の課題(例) • 開発期間の長期化 課題
Androidエンジニア不足の課題(例)
弊社も例外ではなく、Android と iOS のエンジニア数でバラン スが取れておらず Android アプリの開発が遅れることがある iOS 50 ਓ
Android 40 ਓ Androidエンジニア不足の課題(例)
iOS 50 ਓ Android 50 ਓ 経営課題 その差、iOS 3 人で
1 プロダクトのアプリを作るとすると プロダクト 3 つ分の差がある
多くの会社が Android エンジニアの中途採用は年間 1 人するのもやっ との状態であり、弊社も去年から中途採用も即戦力より第二新卒を狙っ ていく方向にしたりしてみたが、大きな採用効果は得られていない + 10 ਓ
Android Λ࠾༻ʁ iOS 49 ਓ Android 37 ਓ 難題 経営課題
クロスプラットフォーム分野への 期待と課題
• アプリ動作の安定性 (クロスプラットフォーム <= ネイティブ) • 将来性、先行き不安 • iOS/Android で共通の
UI(悪くも) • iOS/Android の新機能への追従の遅れ? 課題
•開発元の企業がいかに 大企業だろうとエンジ ニアコミュニティに受 けが良くないと廃れて いった 将来性、先行き不安
• アプリ動作の安定性がかなり向上 (60 fps) • エンジニアのリソース確保 • 開発期間短縮 • 2020年、開発コミュニティの急速的な拡大
• iOS/Android で共通の UI(良くも) 期待
エンジニアのリソース確保
エンジニアのリソース確保 サーバエンジニア iOS エンジニア Web エンジニア Android エンジニア これまでの Swift/Kotlin
アサインスタイル
ཧతͳΫϩεϓϥοτϑΥʔϜͷΞαΠϯελΠϧ サーバエンジニア アプリエンジニア Web エンジニア アサインプール とりあえず1人以上いれば iOS/ Android アプリ両方開発可能
エンジニアのリソース確保
サーバエンジニア アプリエンジニア Web エンジニア アサインプール 他のPJへ 余剰 エンジニアのリソース確保 ཧతͳΫϩεϓϥοτϑΥʔϜͷΞαΠϯελΠϧ
開発コミュニティの急速的な拡大
• 世界的に200万人以上のエンジニアが Flutter を使って いて毎月10%増加している • 利用数上位5地域は インド、中国、米国、EU、ブラジル • Google
Play に既に100,000個、毎月10,000個以上の Flutter アプリがアップされている 開発コミュニティの急速的な拡大
Flutter の採用事例(国内)
• 社内初事例(国内?) • 2018 年 6 月サービス開始 (Flutter stable 1.0
のリリースは2018年 12 月) • 担当アプリエンジニア 2 人 REQU
Flutter の採用事例(国外)
༽ (Idle Fish) • アリババ傘下のフリマアプリ • カメラ機能で商品検索 • アプリ評価 ★
4.6 DAU 2000万 • Flutter 事例でユーザ数が世界最大級
クロスプラットフォームの 注目技術
クロスプラットフォームの注目技術 • Flutter • Kotlin Multiplatform projects • React Native
• .NET Multi-platform App UI (MAUI)
• Google によって開発 • 2018 年 12 月リリース • まだ現在も
Breaking Changes はある • Dart • ステートフルホットリロード (高速開発) • 独自 UI (豊富で良く動く) Flutter
• グラフィックライブラリ • Android, Chrome, Firefox, Blink, Flutter で採用されている •
Skia は Vulkan をバックエンドエンジンとして変更可能 • Android 9 以降、デフォルトのレンダラーは Skia になってい る(8 と 9 でUIが変わったのはそのため)。Flutter にする とレイヤーが増えるもののレンダラーは同じ Flutter and Skia
Flutter and Skia 対応プラットフォーム • Windows 7, 8, 8.1, 10
• macOS 10.10.5 or later • iOS 8 or later • Android 4.1 (JellyBean) or later • Ubuntu 14.04+, Debian 8+, openSUSE 13.3+, or Fedora Linux 24+ • もちろん iOS でも Windows でも動作する
• Swift/Kotlin で良い開発体験をしてきたエンジニ アには Dart という言語は弱い。よく言えば簡 単。 • アーキテクチャの議論が活発(良くも悪くも) •
各 SaaS の SDK が無い場合がある Flutter の悪い点
• 2016 年に突如発表された • Zircon kernel ベースの OS • Android
の負債を全てゼロするべく開発 されたと言われている • Google Nest デバイスは Fuchsia が乗っ ておりアプリは Flutter で作られている Flutter and Fuchsia
• Facebook によって開発 • JavaScript • 2015 年 3 月リリース
• ホットリロード (高速開発) • 既に成熟した大きなコミュニティ • それぞれのネイティブ UI を呼ぶ • EXPO によるホットリリース(審査なし) React Native
• Web 色が強すぎた打ち出しだったために iOS/Android エンジニアからほとんど見向きもされていない。 • JavaScript !-> Native 呼び出しのブリッジが非同期実装
で扱いづらく、全てのモジュールをオープン状態でまっ ていないといけない。 ※今年内部実装変える発表あったので、また変わるかも React Native の悪い点
• JetBrains によって開発 • UI の共通化はせず、ビジネスロジックの共通化に特化し ている • 認証、ログなどの共通化 •
表に出てるサーバ側の Kotlin であればサバクラでモデル の共通化 Kotlin Multiplatform
JetBrains の野望として はクラサバのロジックを 全て共通化すること。将 来的には UI にも手を出 しそうな情報を小出しし ている。 Kotlin
Multiplatform Kotlin/LLVM Kotlin/JVM Kotlin/JVM Kotlin/JS Common code
Kotlin/Native - Target Platforms iOS (arm32, arm64, simulator x86_64) macOS
(x86_64) Android (arm32, arm64) Windows (mingw x86_64, x86) Linux (x86_64, arm32, MIPS, MIPS LE, Raspberry Pi) WebAssembly (x86_64)
• iOS エンジニアコミュニティに刺さってない。 • iOS のエンジニアも Kotlin と Gradle を覚えないと
いけない。 • 以前は、Dispatchers.Main しか指定できなくてメイ ンスレッドしかなかったけど、1週間ほど前に PR マージされてたので、もう改善されてるかも。 Kotlin Multiplatform の悪い点
• Microsoft が開発 • 宣言的 UI • まだ今年の 5 月に発表されたばかりでこれからに期待
• MVU アプリアーキテクチャはモバイルアプリ界隈にとっ ては新しい風 • ステートフルホットリロード (高速開発) .NET Multi-platform App UI
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠