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.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Exploring Flutter in Android
takahirom
April 18, 2018
More Decks by takahirom
See All by takahirom
AndroidアプリのAI実装をAndroidifyで学ぶ ー Google公式サンプルによる体験と実装 ー
takahirom
0
140
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
1k
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
1
2.1k
Robolectric Native Graphics and Roborazzi
takahirom
1
2.3k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
3
1.4k
Android Tools & Performance
takahirom
1
1.2k
Jetpack Compose State Practices
takahirom
1
1.5k
Inside Jetpack Compose
takahirom
1
1.1k
What’s new in Android Jetpack and Tools
takahirom
0
430
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
GitHub's CSS Performance
jonrohan
1033
470k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
New Earth Scene 8
popppiees
3
2.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
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