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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
najeira
September 02, 2018
Technology
1.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutterとの1年
najeira
September 02, 2018
More Decks by najeira
See All by najeira
Flutter with Platform
najeira
4
1.5k
Google I/O 2019 Extended Tokyo - Flutter
najeira
1
210
Flutter APP DOJO 2019-04
najeira
1
200
Flutter List View 概要
najeira
0
1.2k
Flutter / Google I/O 2018 報告会 信州
najeira
0
340
仕組みを知れば怖くない! Flutter入門
najeira
16
8.1k
FlutterでAndroid/iOS両対応のアプリ開発
najeira
0
4.7k
Google I/O 2017 報告会 Firebase/Cloud
najeira
1
190
Google I/O 2017 報告会 Flutter/Dart
najeira
1
350
Other Decks in Technology
See All in Technology
Kiro Ambassador を目指す話
k_adachi_01
0
110
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
160
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
220
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
540
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
SONiCの統計情報を取得したい
sonic
0
230
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
420
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
20
5.2k
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
Agile and AI Redmine Japan 2026
hiranabe
3
330
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
230
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
650
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
Why Our Code Smells
bkeepers
PRO
340
58k
The SEO Collaboration Effect
kristinabergwall1
1
490
Context Engineering - Making Every Token Count
addyosmani
9
970
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
The Invisible Side of Design
smashingmag
302
52k
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 なので自分でなおせる