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
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
0
1.3k
Robolectric Native Graphics and Roborazzi
takahirom
1
1.7k
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
870
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
Featured
See All Featured
How GitHub (no longer) Works
holman
312
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
360
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Being A Developer After 40
akosma
89
590k
Code Review Best Practice
trishagee
65
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How STYLIGHT went responsive
nonsquared
96
5.3k
Speed Design
sergeychernyshev
25
740
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
A better future with KSS
kneath
238
17k
What's in a price? How to price your products and services
michaelherold
244
12k
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