ããããã¿ã¨ããããªããã§ã
AndroidJavaããããéçåé¡
以åã®è¨äºã«ãæ¸ãããã©ãæè¿ã®é¢æ°åããã°ã©ãã³ã°ãRxJavaãªã©ã®æµãã®ä¸ã§ãã©ã ããæ¸ããªãè¨èªã§ã¯éçãæããä½ãAndroidéçºãæã£ã¦ãããéæ³ã®ã¢ã¤ãã ãæ¢ãå¿
è¦ã«è¿«ããã¦ãã¾ããã
ããã¦è¡ãçããã®ãKotlinã§ããã
Kotlinã¨ã¯
Kotlinã¯ããã°ã©ãã³ã°è¨èªã§ãã JVMè¨èªã§ãããããaltJavaã®ä¸ã¤ã§ãã
éçºããã®ã¯Android Studioã®ãã¼ã¹ã¨ãªã£ã¦ããIntelliJãéçºãã¦ããJetBrains社ã§ã2011å¹´ã«çã¾ããã°ããã®ã¨ã¦ãå¹¼ãåã§ãã
ç¹å¾´ã¯åæ¨è«ãnullå®å
¨ãé«é颿°ã坿ãååãªã©ã§ãJavaããæ¸ãããã颿°çã§ãå°ä¸ã¤Scalaã»ã©è¤éã«ã¯ãªããªãäºãç®æãã¦ããããã§ãã
æè¿ã§ã¯Swiftã«ä¼¼ã¦ããã¨è¨ãããããã§ãã
ãªãKotlinã
RetrolambdaãGroovyãScalaãªã©æ§ã
ãªé¸æè¢ã®ä¸ã§ä½æ
ããã¤ãã¼ãªKotlinãé¸ãã ã®ãã
ããã«ã¯ã¡ããã¨çç±ãããã¾ãã
1.Kotlinã®ææ³ã¯ç¾ããæ¸ãããã
åã
ããKotlinã®åå¨ã¯ä¸å¿ç¥ã£ã¦ããã®ã§ãããæ£ç´ãã¿è¨èªæ ã ã¨æã£ã¦ãã¦(ããããªãã)ããã¾ãçé¢ç®ãªé¸æè¢ã¨ãã¦åè£ã«ããã¾ããã§ããã
ããããScalaã§ã®Androidéçºã«ã¤ãã¦èª¿ã¹ã¦ããæã«ãã¾ãã¾Kotlinã®è¨èªä»æ§ãç®ã«ããã¡ããã¨èª¿ã¹ã¦ã¿ãã¨ãæ£ã«èªåãAndroidéçºã«æ¬²ããã¨æã£ã¦ãããã®ãå
¨ã¦æã£ã¦ããäºã«æ°ãã¤ããã®ã§ãã
æ¬å½ã«å¿
è¦ã ã£ããã®ã pic.twitter.com/eYLS7J44i4
— ããã¿ã (@kirimin) February 22, 2015
åºæ¬çã«ã¯Javaã®ä»æ§ãææ³ãç¶æ¿ãäºææ§ãä¿ã¡ãªããã忍è«ãvalã«ããä¸å¤å¤å®£è¨ãNullå®å
¨æ©æ§ãJava8ã®é¢æ°åã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨äºææ§ã®ããã©ã ããã³ã¬ã¯ã·ã§ã³ã¸ã®mapãfilterãªã©ã®é«é颿°æ¡å¼µãªã©ãªã©ãã¾ãã§ãµã¤ã³ã¼ã«ã¯ã¼ã«ãªJavaã®ææ°ãã¼ã¸ã§ã³ãçªç¶éã£ã¦ãããã®ãããªè¨èªã§ãã
RxAndroidãKotlinãªãã°ç¡åã¯ã©ã¹å°çã«ãªããã¹ãã¼ãã«å©ç¨ããäºãåºæ¥ã¾ãã
ãã£ã¹ãã«asã使ã£ãããä¸é
æ¼ç®åã®ä»£ããã«ifæãå¼ã¨ãã¦è¿ãããªã©å¯èªæ§åä¸ã®ããã®ç´°ãã仿§ãå°å³ã«å¬ããã
詳ããè¨èªä»æ§ãªã©ã®ç´¹ä»ã¯ãã®è¾ºããè¨äºãåèã«ããã¨è¯ãã¨æãã¾ãã
Kotlin - SwiftでAndroidアプリを作る!!? - Qiita
Kotlinでリスナーやコールバックをスッキリと書く【関数リテラルとSAM変換】 - Qiita
【Nullいことしてんじゃねぇ】声に出して読みたいKotlin #ktac2014 - Javaプログラマーのはしくれダイアリー
2.å°å ¥ãã¨ã¦ãç°¡å
éçºãJetBrains社ã¨ããäºããããAndroid Studioã§ããã°Kotlinã¯ããæå³å
¬å¼ãµãã¼ãããã¦ããå°å
¥ãé常ã«ç°¡åã§ãã
å
·ä½çã«ã¯ã.ktã¨ãããã¡ã¤ã«ãä½ãã¨ãKotlinãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ããï¼ãã¨ãããããã¢ãããåºã¦ããã®ã§ãã¤ã³ã¹ãã¼ã«ãã¦Android Studioãåèµ·åããã¨ä»åº¦ã¯ãbuild.gradleã«Kotliné¢é£ã®è¨è¿°è¿½å ããï¼ãã¨ãããããã¢ãããåºã¦ããã®ã§äºæ¿ããã¨èªåã§build.gradleãæ¸ãæãã¦ããã¦Kotlinã§Androidéçºãåºæ¥ãããã«ãªãã¾ãã
å¥éPCã«Kotlinãã¤ã³ã¹ãã¼ã«ãããããå¿
è¦ããªããretrolambdaãå°å
¥ãããããç°¡åãªããããããªãã§ããããã
3.IDEã®ãµãã¼ããã¡ããã¨å¹ã
Scalaãªã©Java以å¤ã®è¨èªã§Androidéçºãããæã«ããã¯ã¨ãªãã®ã¯IDEã®ãµãã¼ãã§ã¯ãªãã§ããããã
Kotlinã¯IntelliJã®JetBrains社ãéçºãã¦ããäºããããç¾ç¶Kotlinãã©ã°ã¤ã³ã«ãã£ã¦ããªãæåãIDEã®ãµãã¼ããåãããã¾ãã
Javaã§ã®éçºã«æ¯ã¹ãã¨ãã¾ã ä¸é¨æ©è½ãå°ãªãã£ããããé¨åãããã¾ãããåºæ¬çã«ã¯ã³ã¼ãè£å®ãåç
§ã¸ã£ã³ããªã©ã¯ãã£ããå¹ãã¦ãã¦ãã³ã¼ãã£ã³ã°ä½æ¥ã¯ã»ã¼éåæãªãè¡ãã¾ãã
ã¾ãããã©ã°ã¤ã³ãå
¬å¼ãªã®ã§ä»å¾ã©ãã©ãæ©è½æ¡å¼µããã¦ããäºãæå¾
ã§ããããããªããã¨æã£ã¦ãã¾ãã
4.ååããããã
坿ã...å¹¼ã...大æ£ç¾©...
å®éã«Kotlinã§Androidã¢ããªãæ¸ãã¦ã¿ã¦
Kotlinã®è©¦ãæ¸ãã§æ¸ãã¦ãã³ã¼ãã§ãã
WhoOnGitHub/UserInfoActivity.kt at master · kirimin/WhoOnGitHub · GitHub
Kotlinãæ¸ãã®ã¯åãã¦ã§è¨èªä»æ§ãªã©ã調ã¹ãªãããªã®ã§ãå¤åãã¾ãè¯ãæ¸ãæ¹ã¯åºæ¥ã¦ããªãã¨æãã¾ãããããã§ãã¹ã©ã¹ã©ã¨ã¨ã¦ãæ°æã¡ããæ¸ãäºãåºæ¥ã¾ããã
æ¸ãã¦ãã¦æ¬å½ã«æããã®ã¯æ¸ããããæ¥½ããã¨ããäºã§ããæ¸ãã°æ¸ãã»ã©Kotlinãã©ãã©ã坿ãæãã¦ãã¾ãã
2015å¹´ã®Andoirdéçºã鏿è¢ã®ä¸ã¤ã¨ãã¦Kotlinã¯ããªãã¢ãªãªããããªãã§ããããã
ã¾ã¨ã
ã¢ãã¡è¦³ããªãdã¢ãã¡ã¹ãã¢ãã¢ã³ããã¤ããããªãKotlinã£ã¦ã¯ã±ã