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でiOSアプリを作ってIn-House配布
Search
Takashi Kawasaki
October 17, 2018
1.6k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FlutterでiOSアプリを作ってIn-House配布
Takashi Kawasaki
October 17, 2018
More Decks by Takashi Kawasaki
See All by Takashi Kawasaki
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
490
Flutterプラグインでdart:ffiを使ってみる
espresso3389
5
7.7k
FlutterのWebView プラグインどれ使えば?
espresso3389
2
2.2k
Flutterで動画配信するプラグインを作った話
espresso3389
4
2.5k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Navigating Weather and Climate Data
rabernat
0
240
Building Adaptive Systems
keathley
44
3.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
540
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
FlutterでiOSアプリを作って In-House配布した @espresso3389 クミナス株式会社 川崎 高志
誰? 川崎高志 @espresso3389 クミナス株式会社 CEO 恵比寿の小さい会社です
C/C++歴30年程度(初心者) C#歴10年程度 JS歴不明(入門以前) Flutter歴6カ月(初心者)
iOS向けアプリを作った iPadで複数のワコム製タブレットとBLE通信 落書きをPDFに合成してSVG/PDF/JPEGでサーバーに送信 タブレットと通信する部分もDartで書いた ワコムのSDK使ってない
tuhiproject/tuhi + BLEパケットモニタで独自解析 サーバー詳細は知らん AWSの何か
FlutterBlue (flutter_blue) Bluetooth LEライブラリ(Android/iOS) https://pub.dartlang.org/packages/flutter_blue バグはかなりある(ユーザーコードで回避できる)
async/awaitで簡単に書ける!Swiftで書くよりは断然楽!
PDF処理 with iOS Core Graphics Platform Channelを利用 PDFのテンプレートに落書きを合成
PDFを画像としてFlutter側に渡す Writing custom platform-specific code with platform channels https://flutter.io/platform-channels/ CGPDFDocument (Core Graphics; iOS) dart:ui.Image dart:ui.decodeImageFromPixels(Uint8List RGBA) (#9184) RawImage プレビューは、RawImageとCanvasをStackで重ねた PDF Vector PDF,画像
PDFを画像としてFlutter側 に渡す(Swift側) CGPDFDocument/CGPDFPageで普通にRGBA画像を描画 CGContext→Data →NSData →FlutterStandardTypedData
PDFを画像としてFlutter側 に渡す(Swift側) CGPDFDocument/CGPDFPageで普通にRGBA画像を描画 CGContext→Data →NSData →FlutterStandardTypedData
PDFを画像としてFlutter側 に渡す(Flutter側) RGBAのデータをUint8Listとして受け取る dart:ui.decodeImageFromPixelsでdart:ui.Imageに変換 WidgetのRawImageに渡す
PDFを画像としてFlutter側 に渡す pdf_render https://pub.dartlang.org/packages/pdf_render 汎用処理にできるので、Flutterプラグインとして切り出し AppDelegateが綺麗になる!
現状はiOSのみ対応 Androidは、PDFiumで実装予定
Flutterの生産性 良いところ ListView.builder最高だぜ async/await最高だぜ Hot Reload最高だぜ
悲しいところ 地雷踏みまくり/master常用 デバッグできなくなる(#20184) ビルド中にSIGSEGV(#21685) -exportArchiveできなくなる(#22306) 中華フォント関連(#21667 and others) なんかよくわからん奴※ applicationWillTerminateをハンドルできない List<int>のメモリ消費が不安 なんか微妙にType-unsafe context, this.context, await
Flutterの生産性 良いところ ListView.builder最高だぜ async/await最高だぜ Hot Reload最高だぜ
悲しいところ 地雷踏みまくり/master常用 デバッグできなくなる(#20184) ビルド中にSIGSEGV(#21685) -exportArchiveできなくなる(#22306) 中華フォント関連(#21667 and others) なんかよくわからん奴※ applicationWillTerminateをハンドルできない List<int>のメモリ消費が不安 なんか微妙にType-unsafe context, this.context, await