1ͿΓʹΓͳ͓͢KotlinΞϓϦ։ൃ.HSBN*ODݪ
View Slide
ࣗݾհw ݪw גࣜձࣾNHSBNʢچגࣜձࣾ-JQʣΤϯδχΞw ۀϝϯόʔͷ̍ਓͰ͢ɻw લʹϛΫγΟ͔Βస৬͠·ͨ͠ɻw "OESPJEϝΠϯɻ8FCɾJ04ঢ়گʹԠͯ͡։ൃw झຯөըɾອը
γϯɾΰδϥͷҠಈܦ࿏Λਤ্ͰΞχϝʔγϣϯw U(&0(3"1)*$0'(0%;*--"IUUQHFPHPE[JMMBUL
ΤϜάϥϜੑ֨அw ͷ࣭Ͱੑ֨Λਖ਼֬அw ΩϟονʔͳΞτϓοτw ແྉw ϲ݄Ͱສਓͷํ͕அ
1ͿΓʹΓͳ͓͢KotlinΞϓϦ։ൃ
͢ࣄw ͿΓʹ,PUMJOΛ৮ͬͯࢥͬͨࣄw ,PUMJOͱҰॹʹར༻ՄೳͳϥΠϒϥϦ
ͿΓʹ,PUMJOΛ৮ͬͯࢥͬͨࣄ
͑ΔϥΠϒϥϦ͕૿͑ͯΔw "OOPUBUJPOϓϩηοαʔΛར༻͍ͯ͠ΔϥΠϒϥϦ͑ͨΓ͑ͳ͔ͬͨΓ͍ͯͨ͠w %BHHFS%BUB#JOEJOH͏·͘ಈ͔ͳ͔ͬͨΑ͏ʹهԱw ৭ΜͳϥΠϒϥϦ͕͑ΔΑ͏ʹͳͬͯΔʂ
,PUMJOͷهࣄ͕૿͑ͯΔw 8FC্Ͱ,PUMJOͷղઆΛͯ͠Δهࣄ͕૿͑ͯͯ͘͢͝ॿ͔Γ·ͨ͠ɻw 2JJUBͰ,PUMJOΛݕࡧͯ͠ΈΔͱɺݱࡏߘఔ͋Γ·͕͢ɺd·Ͱʹͯ͠ΈΔͱߘ͙Β͍ͩͬͨͷͰɺ͜͜ͰഒҎ্ʹ૿͍͑ͯ·͢ɻ
ͬͺΓ,PUMJO͍͍͢w FOVNw ԆϓϩύςΟw HFUUFSTFUUFSw ֦ுؔಛʹ͖͢ͳػೳ
FOVN(FOEFSLUFOVNDMBTT(FOEFS WBMKQ4USJOH\ NBMF உੑ GFNBMF ঁੑ PUIFS ͦͷଞ ^w ྻڍܕw ,PUMJOͷFOVN؆୯ʹΛ࣋ͨͤΔࣄ͕Ͱ͖ͯศརw 'SBHNFOU1BHFS"EBQUFSͷදࣔॱΛFOVNͰཧͯ͠·͢
FOVN.BJO1BHFLUFOVNDMBTT.BJO1BHF\ 1"(&\ PWFSSJEFGVOGSBHNFOU 'SBHNFOU\ SFUVSO1"(&'SBHNFOUOFX*OTUBODF ^ ^ 1"(&\ PWFSSJEFGVOGSBHNFOU 'SBHNFOU\ SFUVSO1"(&'SBHNFOUOFX*OTUBODF ^ ^ BCTUSBDUGVOGSBHNFOU 'SBHNFOU ^
FOVN.BJO1BHFS"EBQUFSLUDMBTT.BJO1BHFS"EBQUFS GN'SBHNFOU.BOBHFS'SBHNFOU4UBUF1BHFS"EBQUFS GN\ PWFSSJEFGVOHFU*UFN QPTJUJPO*OU'SBHNFOU \ SFUVSO.BJO1BHFWBMVFT GSBHNFOU ^ PWFSSJEFGVOHFU$PVOU *OU\ SFUVSO.BJO1BHFWBMVFT TJ[F ^ PWFSSJEFGVOHFU1BHF5JUMF QPTJUJPO*OU$IBS4FRVFODF\ SFUVSO.BJO1BHFWBMVFT TDSFFO/BNF ^ ^
ԆϓϩύςΟWBMHSBNCZMB[Z\lNHSBNz^w ͡ΊͯΞΫηε͞Εͨͱ͖ʹܭࢉ͞ΕΔϓϩύςΟw ฐࣾͰɺ'SBHNFOUʹ͢ͱ͖ʹ1BSDFMBSͱ߹Θͤͯͬͯ·͢ɻ
ԆϓϩύςΟ'SBHNFOUͰͷར༻ྫDPNQBOJPOPCKFDU\ GVOOFX*OTUBODF VTFS6TFS6TFS%JBMPH'SBHNFOU\ WBMBSHT#VOEMF BQQMZ\ QVU1BSDFMBCMF 4FSJBMJ[F,FZ64&3OBNF 1BSDFMTXSBQ VTFS ^ SFUVSO6TFS%JBMPH'SBHNFOU BQQMZ\BSHVNFOUTBSHT^ ^ ^
ԆϓϩύςΟԆϓϩύςΟͰWBMʹͰ͖ΔQSJWBUFWBMVTFS6TFSCZMB[Z\1BSDFMTVOXSBQ6TFS BSHVNFOUTHFU1BSDFMBCMF 4FSJBMJ[F,FZ64&3OBNF ^ԆϓϩύςΟΛར༻͠ͳ͍߹QSJWBUFMBUFJOJUWBSVTFS6TFSPWFSSJEFGVOPO$SFBUF TBWFE*OTUBODF4UBUF#VOEMF \ TVQFSPO$SFBUF TBWFE*OTUBODF4UBUF VTFS1BSDFMTVOXSBQ6TFS BSHVNFOUTHFU1BSDFMBCMF 4FSJBMJ[F,FZ64&3OBNF ^
HFUUFSTFUUFSw ,PUMJOͰHFUUFSTFUUFSͷఆָ͕ٛ͘͢͝Ͱ͢ɻw ฐࣾͰɺ%BUBCJOEJOHʹ͢0CTFSWBCMFͳ.PEFM7JFX.PEFMΛ࡞͢ΔࡍʹΑ͍ͬͯ͘·͢ɻ
HFUUFSTFUUFS7JFX.PEFMDMBTT6TFS7JFX.PEFM #BTF0CTFSWBCMF \ !#JOEBCMF WBSNBJM4USJOH TFU NBJM\ pFMENBJM OPUJGZ1SPQFSUZ$IBOHFE #3NBJM OPUJGZ1SPQFSUZ$IBOHFE #3WBMJE ^ !HFU#JOEBCMF WBSWBMJE#PPMFBOGBMTF HFU \ JG UIJTNBJMJT/VMM0S&NQUZ SFUVSOGBMTF WBMNBUDIFS1BUUFSOT&."*-@"%%3&44NBUDIFS UIJTNBJM SFUVSONBUDIFSNBUDIFT ^ ^
֦ுؔw طଘͷΫϥεʹରͯ͠ޙ͔ΒϝιουΛՃ͢Δࣄ͕Ͱ͖Δػೳw #JOEJOH"EBQUFSΛՃ͢Δͱ͖ʹΑͬͯ͘·͢ɻ
֦ுؔར༻͠ͳ͍߹1JDBTTPͷMPBE*NBHFPCKFDU*NBHF7JFX#JOEJOH"EBQUFS\!#JOEJOH"EBQUFS CJOEJNBHF6SM!+WN4UBUJDGVOMPBE*NBHF WJFX*NBHF7JFX VSM4USJOH\1JDBTTPXJUI WJFXDPOUFYU MPBE JNBHF6SM JOUP WJFX^^
֦ுؔར༻ͨ͠߹1JDBTTPͷMPBE*NBHF!#JOEJOH"EBQUFS CJOEJNBHF6SM GVO*NBHF7JFXMPBE*NBHF JNBHF6SM4USJOH\ 1JDBTTPXJUI UIJTDPOUFYU MPBE JNBHF6SM JOUP UIJT ^
ඍົͩͬͨॴɿMJOUw લMJOUͷ݁Ռ͕͍·͍ͪͩͬͨw ,PUMJO͔Βࢀর͞Ε͍ͯΔSFTPVSDF6OVTFE3FTPVSDFͷXBSOJOH͕ग़Δࣄw मਖ਼͞Ε͍ͯΔࣄΛظͯ͠·͕ͨ͠ɺΫϥεʹΑͬͯXBSOJOHग़ͨΓग़ͳ͔ͬͨΓͯͯ͠·ͩ͑ͳ͍༷Ͱ͢ɻ
,PUMJOͱҰॹʹར༻ՄೳͳϥΠϒϥϦ
௨৴ɾඇಉظॲཧपΓw 3FUSPpUw 0L)UUQw 3Y+BWB
௨৴ɾඇಉظॲཧपΓ.BJO"DUJWJUZ7JFX.PEFMLUUIJTDMJFOUHFU"DDPVOU CJOE5P-JGFDZDMF BDUJWJUZ TVCTDSJCF0O 4DIFEVMFSTOFX5ISFBE PCTFSWF0O "OESPJE4DIFEVMFSTNBJO5ISFBE TVCTDSJCF \TVDDFTT %PTPNFUIJOH ^ \GBJMVSF%PTPNFUIJOH ^"QJLUJOUFSGBDF"QJ\ !(&5 BDDPVOU GVOHFU"DDPVOU 0CTFSWBCMF"DDPVOU^
1BSDFMFS6TFS1SPpMFLU!1BSDFM EBUBDMBTT6TFS1SPpMF!1BSDFM$POTUSVDUPSDPOTUSVDUPS !1BSDFM1SPQFSUZ JDPOWBMJDPO4USJOH !1BSDFM1SPQFSUZ OBNFWBMOBNF4USJOH \ ^w 1BSDFMBCMFͷ࣮Λָʹ͢ΔϥΠϒϥϦ
1BSDFMFS6TFS'SBHNFOULU1BSDFMTVOXSBQ6TFS1SPpMF BSHVNFOUTHFU1BSDFMBCMF 4FSJBMJ[F,FZ64&3@130'*-&OBNF6TFS'SBHNFOULUWBMBSHT#VOEMF BQQMZ\ QVU1BSDFMBCMF 4FSJBMJ[F,FZ64&3@1SPpMFOBNF 1BSDFMTXSBQ VTFS1SPpMF ^
(40/6TFS1SPpMFLUEBUBDMBTT6TFS1SPpMF !4FSJBMJ[FE/BNF JDPOWBMJDPO4USJOH !4FSJBMJ[FE/BNF OBNFWBMOBNF4USJOH \ ^w KTPOͷύʔεΛࣗಈԽ͢ΔϥΠϒϥϦw ฐࣾͰQSPHVBSEରԠʹΞϊςʔγϣϯΛར༻ͯ͠ରԠ͍ͯ͠·͢ɻ
%BSUw *OUFOUʹσʔλΛ͢ͷΛָʹ͢ΔϥΠϒϥϦw ,&:ͷࢦఆ͕ෆཁʹͳΔ
%BSU6TFS"DUJWJUZLUDMBTT6TFS"DUJWJUZ"QQ$PNQBU"DUJWJUZ \ !*OKFDU&YUSB MBUFJOJUWBSVTFS6TFS PWFSSJEFGVOPO$SFBUF TBWFE*OTUBODF4UBUF#VOEMF \ TVQFSPO$SFBUF TBWFE*OTUBODF4UBUF %BSUJOKFDU UIJT ^ DPNQBOJPOPCKFDU\ GVODSFBUF*OUFOU DPOUFYU$POUFYU VTFS6TFS*OUFOU\ SFUVSO)FOTPOXJUI DPOUFYU HPUP6TFS"DUJWJUZ VTFS VTFS CVJME ^ ^ ^
%BSUΛ'SBHNFOUͰར༻͢Δʁ6TFS'SBHNFOULUHFU*OUFOU QVU&YUSBT )FOTPOXJUI UIJTHPUP.Z'SBHNFOU BSH BSHCVJME HFU4VQQPSU'SBHNFOU.BOBHFS CFHJO5SBOTBDUJPO SFQMBDF 3JEDPOUBJOFS OFX.Z'SBHNFOU DPNNJU w IUUQTHJUIVCDPNGQSBUFFLEBSUJTTVFTʮ୭͔པΉʯw ࡌ͍ͬͯΔํ๏ඍົͳͷͰɺ'SBHNFOUͰར༻͍ͯ͠·ͤΜɻ
BOESPJETUBUFw *DF1JDLͷ,PUMJOରԠ൛ʢFWFSOPUF͕։ൃʣw PO4BWF*OTUBODF4UBUFͷॲཧΛࣗಈԽͯ͘͠ΕΔw IUUQTHJUIVCDPNFWFSOPUFBOESPJETUBUF
BOESPJETUBUF.BJO"DUJWJUZLUPWFSSJEFGVOPO$SFBUF TBWFE*OTUBODF4UBUF#VOEMF \ TVQFSPO$SFBUF TBWFE*OTUBODF4UBUF 4UBUF4BWFSSFTUPSF*OTUBODF4UBUF UIJT TBWFE*OTUBODF4UBUF^.BJO"DUJWJUZLU!4UBUF WBSOBNF4USJOH OVMM
·ͱΊw ͿΓʹ,PUMJOΛͬͯΈͨΒ͑ΔϥΠϒϥϦ͕͘͢͝૿͑ͯͯศརͩͬͨw ,PUMJOͷجຊػೳ૬มΘΒͣૉఢw ͜Ε͔Βͷ։ൃ,PUMJOͰ࢝ΊΔͷ͕ྑͦ͞͏ͿΓʹͬͨΒͬͺΓ,PUMJOྑ͔ͬͨ
גࣜձࣾNHSBNΤϯδχΞੵۃ࠾༻தͰ͢ɻਓͷΤϯδχΞΛ୳͍ͯ͠·͢ʂΤϯδχΞਓͰ͕Μ͍ͬͯ·͢ɻ৽͍͠ͷେ͖ࠊ͕ॏ͍