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
Flutterとの1年
Search
najeira
September 02, 2018
Technology
4
1.6k
Flutterとの1年
najeira
September 02, 2018
Tweet
Share
More Decks by najeira
See All by najeira
Flutter with Platform
najeira
4
1.5k
Google I/O 2019 Extended Tokyo - Flutter
najeira
1
200
Flutter APP DOJO 2019-04
najeira
1
190
Flutter List View 概要
najeira
0
1.2k
Flutter / Google I/O 2018 報告会 信州
najeira
0
320
仕組みを知れば怖くない! Flutter入門
najeira
16
8k
FlutterでAndroid/iOS両対応のアプリ開発
najeira
0
4.6k
Google I/O 2017 報告会 Firebase/Cloud
najeira
1
180
Google I/O 2017 報告会 Flutter/Dart
najeira
1
340
Other Decks in Technology
See All in Technology
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
260
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
170
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
130
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.3k
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
130
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
390
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.3k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
160
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Code Reviewing Like a Champion
maltzj
527
40k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Agile that works and the tools we love
rasmusluckow
331
21k
Building AI with AI
inesmontani
PRO
1
690
How to build a perfect <img>
jonoalderson
1
4.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Transcript
Flutter との1 年 GDG DevFest 2018 Tokyo @najeira
Flutter との1 年 Flutter をアプリ開発(プロダクション)に 使い始めてから1 年と少し経った 開発にまつわる四方山話
Agenda どういうアプリを作ったか? なぜFlutter を選んだか? 使ってみての感想 OSS としてのFlutter
作ったアプリ CARTUNE (車のコミュニティ)
なぜFlutter を選んだか? 高い開発効率 すばやく試行錯誤(リリース)したい 少人数での開発 Android/iOS の両方でリリースしたい → クロスプラットフォームSDK を使いたい
検証 Flutter を利用して開発できるか事前に検証 1 画面を試しに実装 ネイティブとの連携
写真グリッドを試しに実装 ※スクリーンショットは最新のもので、検証版とは多少異なります
写真グリッドを試しに実装 重要な機能となる1 画面を選んで実装してみた Flutter 初心者でも1 日で実装できた さわってみて パフォーマンスには問題なかった
ネイティブとの連携 Flutter ⇔ ネイティブ
ネイティブとの連携 ネイティブ(Activity/ViewController )の 画面へ遷移することができるか確認した これができれば、Flutter で実装できなくても いざとなったらネイティブ実装でなんとかなる
CARTUNE でのネイティブ画面 WebView お知らせ、ヘルプ 写真Picker Android / iOS のプラットフォーム固有の 機能(API)
を使うため 写真編集 OpenCV を使っているため Flutter で実装できない画面は少なかった
写真Picker Android は Intent でギャラリー系アプリを起動 iOS は Photos フレームワーク
写真編集 OpenCV を使ってナンバー検出して隠す Android JNI を経由するためネイティブ側で実装 ※おそらくFlutter でも画面は実装できる
ネイティブとの連携 分かりやすく分けると UI に関するものは Flutter でできる そうでないものはネイティブ側で作る
使ってみての感想
よかったこと
コードの共有 画面数で数えると: 95% コード(Dart) でみると: 70% ※写真編集で使っているOpenCV 関連コードが多くDart が70% にとどまる
開発効率 ホットリロードがとても便利
困ったこと
機能的な課題 不十分な箇所があった(改善してきている) [Fixed] 動画再生がない [Fixed] 一部のマイナー文字で落ちる [Fixed] 複数行テキスト入力がない フォント選択が日本語にならないことがある IME
や入力欄の挙動がネイティブと違う 広告SDK との連携がいまいち テキストまわりが多い
テキストまわり CARTUNE ではテキスト入力欄はネイティブ側で実装 Flutter 側の画面で 投稿・入力ボタンを押すと ネイティブの Activity / ViewController
が起動 テキスト入力して OK すると Flutter に入力した文章が渡される あとはそれを使って処理を実行
その他バグとの遭遇 Issue 報告 Pull Request Flutter(Dart 部分) のバグは 回避して UI
を作れば OK だいたいワークアラウンドがある C++ で書かれたエンジン部分のバグは 直すしかないことが多い →CARTUNE ではパッチをあてて使っている
OSS としてのFlutter
OSS としてのFlutter GitHub: utter/ utter Stars: 35,963 Commits: 11,701 Contributors:
238 今月だけでも: 272 commits, 47,173 additions, 14,296 deletions, 691 closed issues ※2018/08/27 時点
Contribution CONTRIBUTING . md があるので読む コードを変更する (必要に応じて)テストを追加する テストを実行する あとは GitHub
のプルリクエスト
Contribution utter/engine 側は準備が必要 C++ で書かれているのでビルドツールを準備 あとは utter/ utter と同じ ※こちらもCONTRIBUTING
. md があるので読めばOK
まとめ CARTUNE というアプリをFlutter で作り、継続してア ップデートできている 開発効率が高いのがよい バグなどはあるが、改善されていっている 開発は活発、OSS なので自分でなおせる