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
AIエージェントで 変わるAndroid開発環境
takahirom
2
720
AndroidアプリのAI実装をAndroidifyで学ぶ ー Google公式サンプルによる体験と実装 ー
takahirom
0
150
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
1.1k
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
1
2.2k
Robolectric Native Graphics and Roborazzi
takahirom
1
2.3k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
3
1.5k
Android Tools & Performance
takahirom
1
1.2k
Jetpack Compose State Practices
takahirom
1
1.5k
Inside Jetpack Compose
takahirom
1
1.1k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
420
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
180
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
RailsConf 2023
tenderlove
30
1.5k
Amusing Abliteration
ianozsvald
1
240
Unsuck your backbone
ammeep
672
58k
The Invisible Side of Design
smashingmag
301
52k
What's in a price? How to price your products and services
michaelherold
247
13k
WENDY [Excerpt]
tessaabrams
11
39k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
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