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
Exploring Flutter in Android
Search
takahirom
April 18, 2018
3
3.6k
Exploring Flutter in Android
takahirom
April 18, 2018
Tweet
Share
More Decks by takahirom
See All by takahirom
Robolectric Native Graphics and Roborazzi
takahirom
1
1.6k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
2
1.3k
Android Tools & Performance
takahirom
1
1.1k
Jetpack Compose State Practices
takahirom
1
1.3k
Inside Jetpack Compose
takahirom
1
830
What’s new in Android Jetpack and Tools
takahirom
0
360
ABEMAのKotlin Multiplatform
takahirom
4
5.5k
What's new in Kotlin Coroutines on Android
takahirom
2
2.6k
DroidKaigiアプリの Kotlin Multiplatform
takahirom
2
2.5k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Designing Experiences People Love
moore
138
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
BBQ
matthewcrist
85
9.3k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Transcript
&YQMPSJOH'MVUUFS JO"OESPJE UBLBIJSPN
"CPVU.F ˖ UBLBIJSPN !OFX@SVOOBCMF ˖ .FOKV5BLBIJSP ˖ *MJLF"OESPJE ˖
"OESPJE%FWFMPQFSBU"CFNB57 ˖ 'MVUUFSCFHJOOFS
#VJME
*OTJEFBQL ˖ TOBQTIPU ˖ VUUFSOBUJWFMJCSBSZ ˖ 8IBUJTJOUIFEFYMF
)PXUPCVJMEVUUFS"OESPJEBQL ˖ IUUQTVUUFSJPBOESPJESFMFBTF 3VOˑVUUFSCVJMEBQL˒
8IFSFJTˑVUUFS˒DPNNBOE ˖ IUUQTHJUIVCDPNVUUFSVUUFSCMPC FBDEDEFGGDBDBEDGBCQBDLBHFTVUUFS@UPPMT MJCFYFDVUBCMFEBSU *GPVOEJUJO'MVUUFS(JU)VCSFQPTJUPSZ VUUFSVUUFSQBDLBHFTVUUFS@UPPMTMJCFYFDVUBCMFEBSU
VUUFSCVJMEBQL ˖ -FUˏTEFCVHHJOHˑVUUFSCVJMEBQL˒
8IBUJT'MVUUFSEPJOH BUCVJMEUJNF 3VOˑHSBEMFXBTTFNCMF3FMFBTF˒ qVUUFSCVJMEBQL
8IBUJT'MVUUFSEPJOH BUCVJMEUJNF qVUUFSCVJMEBQL HSBEMFXBTTFNCMF3FMFBTF 3VOˑBQQVUUFS#VJME3FMFBTF˒
8IBUJT'MVUUFSEPJOH BUCVJMEUJNF qVUUFSCVJMEBQL HSBEMFXBTTFNCMF3FMFBTF (SBEMFqVUUFS#VJME3FMFBTFUBTLT project.exec { executable flutterExecutable.absolutePath workingDir
sourceDir if (localEngine != null) { args "--local-engine", localEngine args "--local-engine-src-path", localEngineSrcPath } args "build", "aot" VUUFSQBDLBHFTVUUFS@UPPMTHSBEMFVUUFSHSBEMF 3VOˑVUUFSCVJMEBPU˒
8IBUJT'MVUUFSEPJOH BUCVJMEUJNF qVUUFSCVJMEBQL HSBEMFXBTTFNCMF3FMFBTF qVUUFSCVJMEBPU (SBEMFqVUUFS#VJME3FMFBTFUBTLT final List<String> genSnapshotCmd =
<String>[ genSnapshot, '--await_is_keyword', '--vm_snapshot_data=$vmSnapshotData', • VUUFSQBDLBHFTVUUFS@UPPMTMJCTSDDPNNBOETCVJME@BPUEBSU
8IBUJT'MVUUFSEPJOH BUCVJMEUJNF qVUUFSCVJMEBQL HSBEMFXBTTFNCMF3FMFBTF qVUUFSCVJMEBPU HFO@TOBQTIPU (SBEMFqVUUFS#VJME3FMFBTFUBTLT 8IBUJTTOBQTIPU
8IBUJTTOBQTIPU ˖ "05DPNQJMFECJOBSZJO'MVUUFS ˖ 'BTUFSJOJUJBMJ[BUJPO ˖ 5IFDPEFBOEUIFSFBEPOMZEBUBBSF NBQQFEJOUPNFNPSZGSPNUIFCJOBSZ ˖ IUUQTHJUIVCDPNEBSUMBOHTELXJLJ4OBQTIPUT
˖ "05DPNQJMJOH%BSUGPSJ04"OESPJE %BSU%FWFMPQFS4VNNJU IUUQTXXXZPVUVCFDPNXBUDI WMR&VT*JL
3VO
$PME3VO
)PXEPFTJUXPSLJO"OESPJE ˖ %FCVHˑVUUFSSVO˒
)PXEPFTJUXPSLJO"OESPJE ˖ -FUˏTEFCVHHJOHˑVUUFSSVO˒
)PXEPFTJUXPSLJO"OESPJE ˖ ˑBECTIFMMBNTUBSU˒ ˖ IUUQTHJUIVCDPNVUUFSVUUFSCMPCDFCCGEFCCQBDLBHFTVUUFS@UPPMTMJCTSDBOESPJE BOESPJE@EFWJDFEBSU-
)PXEPFTJUXPSLJO"OESPJE public class FlutterApplication extends Application { @Override @CallSuper public
void onCreate() { super.onCreate(); FlutterMain.startInitialization(this); } System.loadLibrary("flutter"); -PBEMJCVUUFSTP 'MVUUFS.BJOTUBSU*OJUJBMJ[BUJPO
)PXEPFTJUXPSLJO"OESPJE FlutterView ˖ IUUQTHJUIVCDPNVUUFSFOHJOFCMPCCECFBCBCCDDCGEBCDTIFMM QMBUGPSNBOESPJEJPVUUFSWJFX'MVUUFS7JFXKBWB ˖ IUUQTHJUIVCDPNVUUFSFOHJOFCMPCCECFBCBCCDDCGEBCDTIFMM QMBUGPSNBOESPJEJPVUUFSBQQ'MVUUFS"DUJWJUZ%FMFHBUFKBWB- setContentView 4IPX'MVUUFS7JFX
)PU3FMPBE
)PXEPFT'MVUUFSEPIPUSFMPBE ˖ %FCVHˑVUUFSSVO˒ ˖ 5ZQFˑS˒ ˖ $PNQJMFNBJOEBSUUPCVJMEBQQEJMM ˖ IUUQTHJUIVCDPNVUUFSVUUFSCMPC BGBCDGEEECFFDBFBGGCGQBDLBHFTVUUFS@UPPMT
MJCTSDEFWGTEBSU-
8IBUJTBQQEJMM ˖ %BSU,FSOFM ˖ "TNBMMIJHIMFWFMMBOHVBHFEFSJWFEGSPN%BSU ˖ *OUFSNFEJBUFGPSNBUGPSXIPMFQSPHSBNBOBMZTJTBOE USBOTGPSNBUJPOT BOEBTBGSPOUFOEGPSDPEFHFOBOE FYFDVUJPOCBDLFOET
˖ IUUQTHJUIVCDPNEBSUMBOHTELUSFF FFBFBCBGDCBFGEBBQLHLFSOFM ˖ IUUQTHJUIVCDPNEBSUMBOHTELXJLJ,FSOFM%PDVNFOUBUJPO
)PXUPEFCVH MJCVUUFSTP
MJCVUUFSTP ˖ 5IF'MVUUFS&OHJOFJTBQPSUBCMFSVOUJNF GPSIPTUJOH'MVUUFSBQQMJDBUJPOT ˖ IUUQTHJUIVCDPNVUUFSFOHJOF IFSF JNBHFGSPNIUUQTVUUFSJPUFDIOJDBMPWFSWJFX
%FCVHHJOH'MVUUFS&OHJOF ˖ -FUˏTCVJMEVUUFSFOHJOF UIJTUBLFTPNFIPVST ˖ IUUQTHJUIVCDPNVUUFSFOHJOFCMPCNBTUFS$0/53*#65*/(NE ˖ "EEMPHUP'MVUUFS&OHJOF
%FCVHHJOH'MVUUFS&OHJOF ˖ VUUFSSVOMPDBMFOHJOFTSDQBUI6TFSTUBLBIJSPNHJU FOHJOFTSDˋMPDBMFOHJOFBOESPJE@EFCVH@VOPQU ˖ (SBEMFCVJME ˖ VUUFSSVO
%FCVHHJOH'MVUUFS&OHJOF ˖ -PPLVUUFSDPOTPMF:PVDBOTFFUIFMPH ˖ 1MFBTFUFMMNFJGZPVLOPXIPXUPBUUBDIEFCVHHFS
4VNNBSZ ˖ %POPUCFBGSBJECFDBVTFZPVDBOSFBEBOESVO'MVUUFS ˖ 'MVUUFSVTFT%BSU4OBQTIPUBOE%BSU,FSOFM ˖ 'MVUUFSJTIBDLBCMF ˖ 1MFBTFUFMMNFJGUIFSFJTBOZNJTUBLF