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 14などの新機能を取り込むには
Search
Shotaro Tao
December 21, 2020
Programming
1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FlutterにiOS 14などの新機能を取り込むには
Flutter × Kotlin Multiplatform by CyberAgent 2020/12/21
Shotaro Tao
December 21, 2020
Other Decks in Programming
See All in Programming
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
590
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
930
AIとRubyの静的型付け
ukin0k0
0
540
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
150
CSC307 Lecture 17
javiergs
PRO
0
310
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.7k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
560
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
190
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Leo the Paperboy
mayatellez
7
1.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
320
How GitHub (no longer) Works
holman
316
150k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Ethics towards AI in product and experience design
skipperchong
2
300
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
Shotaro Tao 2020-12-21 Flutter ʹ iOS 14 ͳͲͷ৽ػೳΛऔΓࠐΉʹ Flutter ×
Kotlin Multiplatform by CyberAgent
# ՝ ωΠςΟϒίʔυΛΘͣʹΞϓϦ։ൃ͕Ͱ͖ΔݴޠΛਓʹקΊΔͱ • ͑ɺUIͬͯͲ͏ͳΔͷʁ • ػೳ੍͕ݶ͞Εͦ͏ • iOSɾAndroidʹग़Δ৽͍͠ػೳऔΓೖΕ͍ͨ
# MethodChannelɺEventChannel State Flutter app (client) AppDelegate iOS host FlutterViewController
iOSͷAPI ଞͷϥΠϒϥϦͷAPI ʢCocoapodsܦ༝ͳͲʣ MethodChannel FlutterMethodChannel
σʔλͷड͚͠ StandardMessageCodec Dart null bool Int double String List Map
Swift nil Bool Int Double String Array Dictionary Kotlin null Boolean Int Double String List HashMap MessageCodec ByteDataΛݩʹΤϯίʔυͱσίʔυΛߦ͏ϝιουΛ࣮
MethodChannelɺEventChannelͷ͍ํ
MethodChannelɺEventChannelͷ͍ํ
MethodChannelɺEventChannelͷ͍ํ
ύοέʔδ
ύοέʔδ
ύοέʔδ
ύοέʔδ
ύοέʔδ
·ͱΊ • MethodChannelEventChannelΛར༻͢Δ͜ͱͰσʔλͷΓͱΓ͕ग़དྷΔ • ௨ৗͷΞϓϦͰར༻͢Δ༷ͳҐஔใͷऔಘɺσόΠεใͷऔಘɺϩʔΧ ϧετϨʔδͷσʔλͷอଘɺϒϥβͷදࣔͳͲϥΠϒϥϦͱͯ͠ެ ։͞Ε͍ͯΔ
App ClipsɺWidgets (iOS 14) • ωΠςΟϒͰ࣮ͯ͠ɺσʔλͷΓͱΓ͚ͩMethodChannel EventChannelΛར༻͢Δ • ϝΠϯΞϓϦͱผʹFlutterEngineFlutterViewControllerΛ༻ҙͯ͠Flutter Ͱ࣮͢Δ
FlutterͷΈ Flutter Engine Dart Framework Platform-Speci f i c
App Clips 10MB 10.6MB <
App Clips
Widgets (iOS 14) Widgets Flutter shared_preferences ߋ৽(MethodChannel)