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
How to build native-experience with cross-platform
Search
Kajornsak Peerapathananont
October 09, 2022
Technology
32
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to build native-experience with cross-platform
GDG Bangkok DevFest 2022
Kajornsak Peerapathananont
October 09, 2022
More Decks by Kajornsak Peerapathananont
See All by Kajornsak Peerapathananont
Full-Stack Development with FlutterFire
kajornsakp
0
30
Understanding your Android build
kajornsakp
0
61
iOSDevTH #21
kajornsakp
0
65
What's new in Flutter (Google I/O Extended Bangkok 22)
kajornsakp
0
97
Mobile Design System at scale
kajornsakp
0
150
What's new in Flutter 2020
kajornsakp
0
87
Mobile Machine Learning for All Skill Levels
kajornsakp
0
52
What's new in Flutter 1.9
kajornsakp
0
67
Kotlin meets Web
kajornsakp
0
39
Other Decks in Technology
See All in Technology
ブラウザ研修 2026
recruitengineers
PRO
5
800
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
12
8.4k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
160
Flutterをカメラで動かしたかった話
sony
1
130
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
190
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
180
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
システム思考で問題に対処する
yussak
0
210
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
480
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
450
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
510
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
350
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
500
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
450
エンジニアに許された特別な時間の終わり
watany
108
250k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Six Lessons from altMBA
skipperchong
29
4.4k
Transcript
Bangkok Kajornsak Peerapathananont Senior iOS Developer Speaker Image Placeholder How
to build native-experience with cross-platform
Cross-platform trade offs
Write once, run anywhere
None
Native features
Hardware
Hardware-related features 1. Camera 2. Location access (GPS) 3. Biometrics
4. NFC
Flutter app Plugins iOS Android etc.
iOS
Widgets
None
home_widget - Widget part is native - Shared data via
Flutter
Trackpad
None
Dynamic island
None
None
Android
Widgets
home_widget - Widget part is native - Shared data via
Flutter
Material You (Material 3)
None
Hardware-related features 1. Camera 2. Location access (GPS) 3. Biometrics
4. NFC
Flutter app Plugins iOS Android etc.
Mimic features
Cupertino
None
CupertinoDatePicker
None
Scrollbar
None
Scribble
None
#pragma mark UIIndirectScribbleInteractionDelegate - (BOOL)indirectScribbleInteraction:(UIIndirectScribbleInteraction*)interaction isElementFocused:(UIScribbleElementIdentifier)elementIdentifier API_AVAILABLE(ios(14.0)) { return _activeView.scribbleFocusStatus
== FlutterScribbleFocusStatusFocused; } - (void)indirectScribbleInteraction:(UIIndirectScribbleInteraction*)interaction focusElementIfNeeded:(UIScribbleElementIdentifier)elementIdentifier referencePoint:(CGPoint)focusReferencePoint completion:(void (^)(UIResponder<UITextInput>* focusedInput))completion API_AVAILABLE(ios(14.0)) { _activeView.scribbleFocusStatus = FlutterScribbleFocusStatusFocusing; [_indirectScribbleDelegate flutterTextInputPlugin:self focusElement:elementIdentifier atPoint:focusReferencePoint result:^(id _Nullable result) { _activeView.scribbleFocusStatus = FlutterScribbleFocusStatusFocused; completion(_activeView); }]; } - (BOOL)indirectScribbleInteraction:(UIIndirectScribbleInteraction*)interaction shouldDelayFocusForElement:(UIScribbleElementIdentifier)elementIdentifier API_AVAILABLE(ios(14.0)) { return NO; } - (void)indirectScribbleInteraction:(UIIndirectScribbleInteraction*)interaction willBeginWritingInElement:(UIScribbleElementIdentifier)elementIdentifier API_AVAILABLE(ios(14.0)) { } - (void)indirectScribbleInteraction:(UIIndirectScribbleInteraction*)interaction didFinishWritingInElement:(UIScribbleElementIdentifier)elementIdentifier API_AVAILABLE(ios(14.0)) { }
Quiz time
None
Demo time
Small announcements
32-bit devices are not supported
Minimum iOS version is iOS 11
flutter.dev
None