Denis Neklyudov nekdenisã¯ãGoogle Developer Expertã®ã¹ããŒã¿ã¹ãååŸããæåã®ãã·ã¢ã®éçºè ã§ãã 圌ã¯ããœãŒã·ã£ã«ãããã¯ãŒã¯ãéèæ©é¢ãé茞äŒç€Ÿãåºåãããã¯ãŒã¯ããã³ä»£çåºåãã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã§è±å¯ãªçµéšãæã£ãŠããŸãã 圌ã¯å€æ°ã®ãããžã§ã¯ãã«åå ããã¢ãŒããã¯ãã£ãUIãUXã«åãçµãã§ããŸãã 圌ã¯ãããŸããŸãªäŒè°ã§è¬æŒããHabréãå«ãã³ãŒã¹ãããã°ãå®æœããŠããŸãã
Android Oreoã®ããŸããŸãªéçºæ©èœã«ã€ããŠåœŒã«å°ããŸããã
-äžè¬ã«ãAndroid Studio 3.0ã®æè¿ã®ãªãªãŒã¹ãAndroidéçºè ã®äžçã«ãããäžçš®ã®å°ããªé©åœã§ããããšã¯ç§å¯ã§ã¯ãããŸããã å€ãã®å ŽåãJava 8æ©èœã®ãµãã»ããããµããŒãããããšãæå³ããŸãïŒãã ããå®å šã§ã¯ãããŸããããå°æ¥ã®ãªãªãŒã¹ã§ä¿®æ£ãããäºå®ã§ãïŒã Java 8ã®ã©ã®ãµãã»ãããããã«äœ¿çšã§ããããã«ãªããAPIã¬ãã«ã«äŸåé¢ä¿ããããŸããïŒ ãã®çç±ã¯äœã§ããïŒ å°ãªããšããããã¥ã¡ã³ãã«ã¯ãStreamã®ã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯æ©èœçãªã€ã³ã¿ãŒãã§ã€ã¹ãAPIã¬ãã«24以äžã®Androidã§å©çšå¯èœã§ããããšãèšèŒãããŠãããããã«ã€ããŠçµéšè±å¯ãªéçºè ã®æèŠã«èå³ããããŸãã
Denis NeklyudovïŒå®éãããŒãžã§ã³ã3çªç®ã«äžããããã®ã¯çç±ããªãããã§ã¯ãããŸããã ã¡ãžã£ãŒã¹ã¿ãžãªãªãªãŒã¹ã¯ãäœãæ°ããããšãè©Šã倧ããªçç±ã§ãã ç§ã¯ãAndroidéçºããKotlinãžã®ç§»è¡ãç±å¿ã«æ¯æããŠããŸãããŸããæ°ããAndroid Studioã®JetBrainsããã®èšèªãµããŒãã®æ¹åã«æ³šæããããšããå§ãããŸãã ããããã©ã ããããã©ã«ãã¡ãœããã®åç §ã¡ãœãããããã³ãã®ä»ã®Java 8ãã³ã®ãè±ç³åãã¯è©Šã¿ãŸããã§ããã æ©èœã®è©³çŽ°ãªã¹ãã¯ãµã€ãã«è¡šç€ºãããŸã ã ããããå®éã«ã¯ãã¹ããªãŒã ã¯å©çšã§ããŸããã ãªã圌ãããããã移æ€ããªãã£ãã®ã¯è¯ã質åã§ãã ãã ããããã§ãµãŒãããŒãã£ã®ããŒããããšãã°thisãŸãã¯thisã䜿çšã§ããŸãããèªåã®å±éºãšãªã¹ã¯ããããŸãã
-Kotlinèšèªã«å¯ŸããGoogleã®å ¬åŒãµããŒãã§çµæãåŸãããŸãããïŒ ããªãã®æèŠã¯äœãå€ãããŸãããïŒ
Denis NeklyudovïŒ JetBrainsãšã®Googleã®çžäºäœçšãå€æŽãããKotlinãµããŒãã«ããå¯æ¥ã«é£æºã§ããããã«ãªããŸããã ç¹ã«ãå°æ¥ã®èšèªãšãã®ãµããŒãã®åé¡ã«å¯ŸåŠããã³ããªã³è²¡å£ã®èšç«ã«é¢ããäœæ¥ãå§ãŸããŸããã IDEAãŸãã¯ASã§ãã©ã°ã€ã³ã䜿çšããŠäœãã§ãã人ã«ãšã£ãŠãæ°æ©èœã«é¢ããŠã¯ã»ãšãã©å€æŽãããŠããŸããã ããããKotlinãžã®åãæ¿ããè©ŠçšãæããŠããéçºè ã«ãšã£ãŠãå ¬åŒãµããŒãã¯ããããåãªãå®éšãå€ãã®ãªã¿ã¯ã§ã¯ãªããå ¬åŒã«ãµããŒããããŠããèšèªã§ãããšããäºå®ã®è±¡åŸŽã«ãªããŸããã ãããŠãã¯ããä»ã¯ãšãŒãèšæ³ã«ã€ããŠèŠããŠããå¿ èŠããããŸãïŒæ²ããããšã«åŸ®ç¬ãïŒã
-Kotlin-æ°ããèšèªãšæ°ãããã¯ãããžãŒã äŒæ¥ããã®æãäžè¬çãªè³ªåã®1ã€ã¯ãåé¡ãçºèŠãããå Žåã®å¯ŸåŠæ¹æ³ã§ãã éçºè ã¯ãä»ã®çµç¹ããã®ãã«ãªã¯ãšã¹ããã©ã®çšåºŠèªç±ã«åãå ¥ããŸããïŒ ã³ãããã¡ã³ããèŠããããŸã§10å¹ŽåŸ ããªããã°ãªããŸãããïŒ ããã¯ãã©ã€ãã©ãªãã³ã³ãã€ã©ãªã©ã®å šäœçãªå質ã®èŠ³ç¹ãããèŠããã«ãæ°ããéçºè ã®åå ¥ãããå€ã§ããå¯èœã§ããïŒ
Denis NeklyudovïŒ Kotlinã¯Javaãç¹ã«C ++ã«é¢ããŠã¯è¥ãç·ã§ããããã§ã«7æ³ã§ãããã»ãŒ2幎éãªãªãŒã¹ãããŠããŸãã ãããã£ãŠãæ¬çªç°å¢ã§ã®æ¬æ Œçãªå®è£ ã«ååå®å®ããŠããŸãã èšèªãµããŒãã¯éââåžžã«åªããŠãããããPRãè¡ãå¿ èŠã¯ãããŸããããã°ãã©ãã«ãŒã§åé¡ãéå§ããã ãã§ãJetBrainsã®ã¹ã¿ããã次ã®ãã«ãã§çç±ã®ãããã°ãä¿®æ£ããŸãã
èšèªã«äžæ £ããªéçºè ã«ãšã£ãŠããšã³ããªãŒã®ãããå€ã¯éåžžã«äœãã§ãã ãã®èšèªã¯ãJavaãšãSwiftãå«ãå€ãã®çŸä»£èšèªã®äž¡æ¹ã«äŒŒãŠããŸãã æåã®ç¥ãåãã«ã¯ãåžžã«å ¬åŒã®ãã¬ãŒãã³ã°è³æããå§ãããŸã -è¿ éãã€ããããããããªããç¥ãããšãã§ããŸãã
-Java 9ãæè¿ãªãªãŒã¹ãããŸããããããã¯Androidã®éçºã«ã©ã®çšåºŠæ£ç¢ºã«åœ±é¿ãäžããŸããïŒ ã©ã€ãã©ãªã9ã«æŽæ°ãããåã³äœ¿çšããããšãã§ããªããªãå¯èœæ§ããããŸããïŒ
Denis NeklyudovïŒ Kotlinãžã®ç§»è¡ã¯ãJavaããã®Androidã®ïŒéçºã®é¢ã§ã®ïŒé ãã®åé¡ã®è§£æ±ºçã®1ã€ã ãšæããŸãã Java 8ã³ãŒãããå®è¡ã§ããªãããã€ã¹ã®å€§éšåã ãŸããKotlinã®ãããã§ãéçºè ã¯å€ãã®ææ°ã®èšèªã¬ãžã§ããã䜿çšããŠJava 7ãã€ãã³ãŒãã«ã³ã³ãã€ã«ã§ããŸããAndroidã©ã€ãã©ãªã®äžçã¯åžžã«Java 7ã«äœãã§ãããJava 8ã«ç§»æ€ãã人ã¯ããŸããã Project Reactorã«ä»£ããJava 8ã®ä»£æ¿åãAndroidã§ã¯èª°ã䜿çšããŠããŸãããçŸåšãäž¡æ¹ã®ãããžã§ã¯ãïŒKotlinããã³RxJava2ïŒãç©æ¥µçã«ãµããŒãããã³éçºãããŠããçç±ãå«ãŸããŠããŸãã
-èšèªã®æ°ãšããŒãžã§ã³ãå¢ããããããã©ãããã©ãŒã ã®æçåã«ã€ããŠã©ãæããŸããã å€ãããŒãžã§ã³ããµããŒãããããã€ã¹çæããšã«ã»ã°ã¡ã³ãåããããã®æãåççãªæŠç¥ã¯äœã§ããïŒ
Denis NeklyudovïŒç§ã«ãšã£ãŠã¯ãé·å¹Žã«ããã£ãŠã»ãšãã©å€ãã£ãŠããŸããã 幞ããªããšã«ãSDKã®å€ãã®æ°æ©èœã¯ãµããŒãã©ã€ãã©ãªã«ããã¯ããŒããããŠãããæ®ãã¯ã¢ããªã±ãŒã·ã§ã³ãçŸåšå®è¡ãããŠããAndroidã®ããŒãžã§ã³ã確èªããããšã§ãµããŒãã§ããŸãã çŸæç¹ã§ã¯ãAndroid 4.1ã®æå°ããŒãžã§ã³ãç¶æããããšãéèŠã§ãã ãããŠãAndroid 5以éã®ãã©ãããã©ãŒã æ©èœã«çŠç¹ãåœãŠãŸããå€é¡ã®ãéãããã°ãFacebookã®ããã«2ã€ã®ããŒãžã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ãçšæããŸããæ°ãããã©ãããã©ãŒã ã®ãã¹ãŠã®æ©èœãšãæå°éã®ã»ããã§ãã·ã³ãã«ã§ãã©ãã£ãã¯ã®å°ãªãããããªãŒæ©èœãã1.5ã«ãŒãã«ã®äžåœã®ãã©ã¹ããã¯ã®ã¬ã©ã¬ã©ã«åãçµãã§ããŸãã
-Android Profiler-ç¹ã«æ°ã«å ¥ã£ãŠããç¹ã泚ç®ãã¹ãå©ç¹ã¯äœã§ããïŒ
Denis NeklyudovïŒã¢ããªã±ãŒã·ã§ã³ã®ãããã¯ãŒã¯ã¢ã¯ãã£ããã£ãæ¬åœã«èŠãããšæã£ãŠããŸããStethoãå¿ããŠããŸãã ã ãŸããã¡ã¢ãªã®å²ãåœãŠã確èªããããã®åªããããŒã«ã§ããããŸãïŒèª°ãã©ã®çšåºŠå®è£ ãããŠãããã CPUã®åäœãåæããã«ã¯systraceã»ã©åªãããã®ã¯ãããŸãããããããã¡ã€ã©ãŒã䜿çšããŠStudioãçµäºããããšãªããããã«ç¢ºèªã§ããŸãã
-Android Profilerãšã¯äœã§ããïŒ ããã¯Android Studioã«é¢é£ãããã®ã§ããããããšãç¹å®ã®ãµãã·ã¹ãã ã®APIãåŒã³åºããŠããã ãã§ããïŒ äœããã®çš®é¡ã®ããã¯ãšã³ããããå Žåãèªåãã¹ããªã©ã«äœ¿çšã§ããŸãã çŸåšãã¢ãã€ã«ãã©ãããã©ãŒã çšã®éçºããŒã«ãã§ãŒã³ã®æ§ç¯ã«ã¯éåžžã«å€§ããªåé¡ããããŸããããããæ£ããè¡ãæ¹æ³ãç解ããŠãã人ã¯ã»ãšãã©ããŸããã
Denis NeklyudovïŒãããã¡ã€ã©ãŒã¯Android Studioã®äžéšã§ãããUIãªãã§äœ¿çšããããã®ãããã¬ã¹APIã¯ãããŸããã ã¯ããã»ãšãã©å¿ èŠãããŸããã ã¡ã¢ãªãªãŒã¯ãæ€çŽ¢ããããã»ããµã®è² è·ãåæãããã¥ãŒãã³ãããã¯ãŒã¯ã¢ã¯ãã£ããã£ã衚瀺ããããã«äœæãããŸããã ããã¯CIã§èªååããå¿ èŠãããããã»ã¹ã®äžéšã ãšã¯æããŸããã 倢ãèŠããªãããªãŒã¯ã«é¢ããã¬ããŒããæé©ã§ãªãã¢ã«ãŽãªãºã ããã«ããµãŒããŒããåãåãã®ã¯ããããšã§ãããä»ã§ã¯ããã¯é ãæªæ¥ã®ãŠãŒããã¢ã§ãã
-ãã¹ã¯ãããJavaã®éçºè ã«ã¯ããããã¡ã€ã©ãŒã®äœæãšãããã°ãšããç¹å¥ãªèŠåŸããããŸãã Androidçšã«10çš®é¡ã®ãããã¡ã€ã©ãŒãå¿ èŠã§ããïŒ Android Profilerã䜿çšãã䟡å€ãããã®ã¯ã©ã®ãããªç¶æ³ã§ããïŒ åœŒã¯ãã€ãä¿¡ãã䟡å€ããããŸããïŒ
Denis NeklyudovïŒæ£çŽã«èšããšãã¢ãã€ã«ã®äžçã¯æ¥éã«å€åããŠããããããã¹ãŠã®ããžãã¹ãã¢ããªã±ãŒã·ã§ã³ã®ç¶¿å¯ãªãããã¡ã€ãªã³ã°ã«æºãããšã³ãžãã¢ã«äœè£ãããããã§ã¯ãããŸããã ãããã¡ã€ã©ãŒã®é»åããã¬ãŒã¹ã調æ»ããã®ã«ååã§ãªãå Žåãsystraceã®é»åã¯ç¢ºãã«ååãªã¯ãã§ãã ãã®ããŒãã«é¢ããåªããå ±åæžããããŸãã
-ã€ã³ã¹ã¿ã³ãã¢ããªã®ãµããŒã-ãã®ãã¯ãããžãŒã®äž»ãªå©ç¹ã¯äœã§ããïŒ éçºè ãšãšã³ããŠãŒã¶ãŒã«ãšã£ãŠã®ã¡ãªããã¯äœã§ããïŒ ãã®ãã¯ãããžãŒã䜿çšããå Žåãæ©èœã«å¶éã¯ãããŸããïŒ
Denis NeklyudovïŒ Instant Appsãå®å®ããã©ãã§ãåäœããéçºããŒã«ãšãã«ãã·ã¹ãã ã®äžæ³šæãªãµããŒããåããŠããã«ãæ°ããæ代ãå°æ¥ããŸããã€ã³ã¹ããŒã«ã®ãªãã¢ããªã±ãŒã·ã§ã³ã§ãã WebããŒãžã®ããã«ãå¿ èŠãªãã®ã ããç»é¢ããšã«ã¢ããªã±ãŒã·ã§ã³ç»é¢ã«ããŒãããããšãæ³åããŠãã ããã
ãã¡ãããã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ã¯ã©ãã«ãè¡ããŸããã ã€ã³ã¹ã¿ã³ãã¡ãã»ã³ãžã£ãŒããœãŒã·ã£ã«ãããã¯ãŒã¯ãéèã¢ããªã±ãŒã·ã§ã³ãã²ãŒã ãããŒãžäžã§éã人ã¯ããŸããããããã§ã¯ãããšãã°ãã«ãŒãããUberã®äžéšãéãããã¹ã¿ãŒãã·ã§ããã³ã°ã»ã³ã¿ãŒã«ãŒãããŸãã¯QRãŸãã¯ãªã³ã¯ã䜿çšããŠéåå°ãããã±ããã®æ¯æããããæ¹ããã€ã³ã¹ããŒã«ãããããã¯ããã«äŸ¿å©ã§ã1æ¥ã®ã¢ããªã±ãŒã·ã§ã³ãããã«ã¯4Gã®é åžããã±ãŒãžå šäœãããŠã³ããŒãããããšãã§ããŸãã
éçºè ã«ãšã£ãŠãInstant Appsã¯ã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ãšæ§é ãã¯ãªãŒã³ã¢ããããæ©äŒã§ãã ç¬ç«ããã¢ãžã¥ãŒã«ãŸãã¯ççµåã¢ãžã¥ãŒã«ã«åå²ããŸãã ããããä»ã§ã¯å€ãã®ããŒã«ããµããŒããããŠããŸããã ããšãã°ãã«ãŒãã¢ãžã¥ãŒã«ã«ãªãDataBindingã¬ã€ã¢ãŠãã䜿çšããããšã¯ã§ããŸããã ãŸããã€ã³ã¹ã¿ã³ãã¢ããªã®ãµã€ãºãç£èŠããå¿ èŠããããŸããapkã¯4 MBãè¶ ããŠã¯ãªããŸããã
æ©èœã®é¢ã§ãå¶éããããã€ã³ã¹ã¿ã³ãã¢ããªã¯ã€ã³ã¹ããŒã«ãå¿ èŠãšããªããããã·ã¹ãã ããã®ç¶æ ãããã³ãŠãŒã¶ãŒããŒã¿ãžã®ã¢ã¯ã»ã¹ãå°ãªããªããŸãã ãããããã¹ãŠã®å¶éã¯éåžžã«è«ççã§ãã
-Android Things-ãéåžžã®ãAndroidãšäœãéãã¯ãããŸããïŒ ãã®ã·ã¹ãã ãæ¶è²»è ã«æäŸããäžã§ã®Googleã®ç©¶æ¥µã®ç®æšã¯äœã§ããïŒ ãã®è£œåã¯ããªãã«ãšã£ãŠã©ã®ãããªæå³ããããŸããïŒ åãRaspberry Piã®Linuxãšã®æ©èœäžã®éãã¯äœã§ããïŒ
Denis NeklyudovïŒ Android Thingsã¯ãã³ã³ãã³ããããã€ããŒãã«ã¹ã¿ã ããŒããŒããªã©ãã¢ãã€ã«ããã€ã¹ã§ã®ã¿å¿ èŠãªèŠçŽ ããªããšããç¹ã§ãAndroidã®ã¢ãã€ã«ããŒãžã§ã³ãšã¯ç°ãªããŸãã 代ããã«ãå ¥å/åºåããã€ã¹ãæäœããããã®APIãè¿œå ããŸããã
ãã¡ãããATã¯ãäœããã®ããã°ã©ã ãåãããã€ã¯ãã³ã³ãããŒã©ãŒã ãã§ãªããã¢ãã®ã€ã³ã¿ãŒãããå°çšã«äœæãããŸããã ããã€ã¹ã®ãã¯ãŒãšå¹ åºãæ¢è£œããŒã«ã«ããããããã¯ãŒã¯ã«æ¥ç¶ãããããã€ã¹ã®å¯èœæ§ãæ倧éã«æŽ»çšã§ããŸãã é®®æãªäŸã¯ãã»ã³ãµãŒãšã³ã³ãããŒã©ãŒã®äžå€®ãããšããŠã®ATããã€ã¹ã®äœ¿çšã§ããATã§TensorFlowã䜿çšããããšãã§ããããããããã¯ãŒã¯ããã®å¿çãåŸ ããã«èªåã§ææ決å®ãè¡ãããšãã§ããŸãã
ããšãã°ãRaspberry Pi 3ã§Raspbianã䜿çšããå ŽåãFirebase Cloud MessagesãFirestoreãFuse Location Providerãªã©ãããŸããŸãªGoogleãµãŒãã¹ã䜿çšããããšã¯ã§ããŸããã ãŸããRaspberry Piã¯å®¶åºçšã®ããã€ã¹ã§ãããå·¥æ¥çšã§ã¯ãããŸããã 次ã«ãAndroid Thingsã¯ãNXP pico i.mx7dãªã©ã®åçšSoMã§åäœããŸãã
Android Thingsã«ã€ããŠã¯ãç§ã®ããããã£ã¹ãã§ã Googleã®ããŒã 代衚ã§ããDave Smithãšã®å šå·ã€ã³ã¿ãã¥ãŒãè¡ã£ãŠããŸã ã å人çã«ã¯ã趣å³ãšãæ°ã«å ¥ãã®ã©ã€ãã©ãªã䜿ãæ £ããèšèªãSDKãçµã¿åãããæ©äŒã¯ã宿é¡ãèªååããŠå€æ¹ã«åŸããã倧ããªåã³ã§ãã ããšãã°ã ããŒã©ã³ãã®Google Developer Daysã§ãäžå€®ãŠããããATã§åããŠãããšã¢ã³ã³ã®å¶åŸ¡ãå ¬éããŸããã
ã¹ããŒãããã€ã¹ã®äœææ¹æ³ã«ã€ããŠã¯ãMobiusã®åæ¥ã«ãäŒãããŸã...
-ã³ã³ãã€ã©ã«é¢ãã質åããããŸãã æããã«ããžã£ãã¯ããŒã«ãã§ãŒã³ã¯ã€ãã«å¿åŽã«é¥ãããã®ä»£ããã«æ°ããDexã³ã³ãã€ã©ãç»å ŽããŸãïŒAndroid Studio 3.0ã§ã¯ãŸã ãã¬ãã¥ãŒã®ãŸãŸã§ããã3.1ã§ã¯ããã©ã«ãã§ãã§ã«äœ¿çšãããŠããŸãïŒã 圌ã¯ãžã£ãã¯ãããã©ã®ããã«åªããŠããŸãããããã¯æçµçã«éçºã«ã©ã®ããã«åœ±é¿ããŸããïŒ ã©ã®ãããªæé©åã䜿çšãããŠããŸããïŒ
Denis NeklyudovïŒ D8ãšåŒã°ããæ°ããDexã³ã³ãã€ã©ãããã¯ãDexãã¡ã€ã«ã®ã³ã³ãã¯ãåã«ããã¢ããªã±ãŒã·ã§ã³ã®ãµã€ãºããããã«çž®å°ããJackã¯ããŸãæ¥ç¶ãããŠããŸããã ããããGoogleã¯äžå®å šãªã³ã³ãã€ã©ãæŸæ£ããŸãããããã¯äºå®ã§ãã æ°ããDexã¯ãæåŸãŸã§ãããã°ãããŠããªããããäºæããªãå Žæã§ãã°ãæŽçã§ããªãéããå®éã«ã¯éçºã«åœ±é¿ããŸããã
-Googleã®ã¹ã¿ãããJava 8ã®æ©èœã®ãã€ãã£ããµããŒããã©ã®ããã«éæãããšæããŸããïŒ Androidã©ã³ã¿ã€ã ã«ã¯ã©ã®ãããªå€æŽãå ããããŸãããïŒ
Denis NeklyudovïŒãŸããããã¯ãã€ãã£ããµããŒãã§ã¯ãªããèšèªãç ç³ãã®ãã€ãã³ãŒããžã®å€æã§ãã ãããã¯ããµã«ãã·ã¹ãçæããJava 8ã§äœæããããã®ãæš¡å£ãããã€ãã³ãŒãã圢æããŸãããããããã¡ããããã¹ãŠãããã¯ããŒãããããšã¯äžå¯èœã§ãããããã¯ã¬ããã©ã ããæŸæ£ãã倧ããªçç±ã§ãã
-Java 8ã®æ©èœã®ãµããŒããèãããšãããã«ããéçºã«Scala> = 2.12ã䜿çšã§ããŸããïŒ äžè¬ã«ãããžãã¯ã¯æ¬¡ã®ãšããã§ããæ°ããããŒã«ãã§ãŒã³ã¯javac-> desugar-> dxã䜿çšããŸãã Javaã¯ãéçºäŒç€Ÿã«ãã£ãŠå ¬åŒã«ãµããŒããããŠããèšèªã§ãã ãã ããdesugarïŒdxã¯jvmãã€ãã³ãŒãã«äŸåããŠããããããããçæããä»ã®èšèªãæ¥ç¶ã§ããããã«ããå¿ èŠããããŸãã çè«çã«ã¯ãScalaã¯javacãšã¯ç°ãªãã³ãŒããçæãããããjvm-bytecodeããdalvikãã€ãã³ãŒããžã®å€æã«åé¡ãããå¯èœæ§ããããŸãã ããšãã°ããã€ãã³ãŒãinvokedynamicåœä»€ã«åé¡ãããå¯èœæ§ããããŸãã ããã§ãdesugarã¯å°æ¥çã«ãã¹ãŠã®æå¹ãªJavaãã€ãã³ãŒãããµããŒãããã®ã§ããããïŒ
Denis NeklyudovïŒ Invokedynamicã¯å€ãSDKã«ã¯ãªãããããã¹ãŠã®Java 8ãããã®ããŒããäœæããããšã¯äžå¯èœã§ããã ScalaãšAndroidã¯ãã£ãã«äº€å·®ãããKotlinã®ãµããŒããäžããããŠãããããã¢ãã€ã«éçºã®äžçã§ã¯ãªãããã®ã»ã°ã¡ã³ãã§åªããŠããèšèªã®èª°ãã®åéã«è³ãåŒã£åŒµã£ãŠçã人çãéããã®ã¯ãªããç§ã«ã¯æ確ã§ã¯ãããŸããã
-Android 8ã®çŽ æŽãããé©æ°ã«ã¯ãjava.nio.fileãšjava.lang.invokeã®è¿œå ããããŸãã ãããã®æ°ããAPIã®å©ç¹ã¯äœã§ããïŒãŸããã©ã®ã·ããªãªã§æé©ã«äœ¿çšãããŸããïŒ
Denis NeklyudovïŒéçºè ããããã®APIã«äŸåããããã«ã¢ããªã±ãŒã·ã§ã³ã«minsdk 26ãé 眮ããã«ã¯ãæ°å¹Žãçµéããããšãå¿ããªãã§ãã ããã ããããäžè¬çã«ããããã¯ç¹å®ã®ã©ã€ãã©ãªãæžã人ã«ãšã£ãŠæçšã§ãã
ã¢ãã€ã«éçºãäž»ãªè¶£å³ã§ããã詳现ãå³ããããå Žåã¯ã 2017幎 11æã®Mobius 2017ã¢ã¹ã¯ã¯äŒè°ã§ãããã®ã¬ããŒãããã²æ°ã«å ¥ã£ãŠãã ããã
- ã¯ã©ãã·ã¥Android NDKã¬ããŒã ïŒIvan PonomarevãAkvelonïŒ
- ã¢ããªã±ãŒã·ã§ã³ãµã€ãºã®æé©å ïŒDmitry KurkinãMail.RuïŒ
- Javaã«åªããKotlinã³ãŒãã®äœæ ïŒSergey Ryabovãç¬ç«ïŒ
- 空ã®éºç£ïŒãããžã§ã¯ãã®æ ¹æ¬çãªæ¹åã®ããã®æŠç¥ ïŒãŠã©ãžããŒã«ã»ã€ã¯ãããEPAM SystemsïŒ