Kotlin: åããŠã®ã¢ããªéçºè ã®ããã®ã¹ããããã€ã¹ããã ã¬ã€ã
Kotlin ã䜿çšããã¢ããªéçºãå§ãã: ãã®ã¬ã€ãã§ã¯ãã»ããã¢ããããã³ãŒãã£ã³ã°ããããã€ãŸã§ãåããŠã®éçºè ãšããŠç¥ã£ãŠããã¹ãããšããã¹ãŠèª¬æããŸãã

Kotlin ã®äžçãžãããããKotlin ã¯ãç¹ã« Android ã¢ã㪠éçºã®åéã§äžçäžã®éçºè ã®å¿ãæããŠããææ°ã®ããã°ã©ãã³ã°èšèªã§ãã JetBrains ãéçºãã Kotlin ã¯ã2011 幎ã®ãªãªãŒã¹ä»¥æ¥ãæ¥éã«äººæ°ãé«ãŸã£ãŠããŸãã 2017 幎ãGoogle 㯠Android ã§ã® Kotlin ã®ç¬¬äžçŽãµããŒããçºè¡šãããã以æ¥ãæ¯ãè¿ãããšã¯ã§ããŸããã
åããŠã®ã¢ããªéçºè ã¯ããªã Kotlin ãããã»ã©æ³šç®ãéããŠããã®ãããããŠä»ã®ã¢ããªãšæ¯ã¹ãŠã©ã®ããã«éç«ã£ãŠããã®ãçåã«æããããããŸãããçãã¯å€é¢çã§ãããŸããKotlin 㯠Java ãšçžäºéçšå¯èœã§ããã€ãŸããKotlin ã¢ããªã±ãŒã·ã§ã³ã§æ¢åã® Android ã©ã€ãã©ãªããã¹ãŠäœ¿çšã§ããŸãããã®ã·ãŒã ã¬ã¹ãªçžäºéçšæ§ã«ãããJava ãããç°¡æœã§è¡šçŸåè±ããªæ§æã远å ãããã³ãŒããããã¯ãªãŒã³ã§ä¿å®ãããããªããŸãã Kotlin ã¯æ§æçã«åªããŠããã ãã§ã¯ãããŸããããŸããåºæã® null å®å šæ§ã«ãããnull ãã€ã³ã¿ãŒäŸå€ãªã©ã®äžè¬çãªããã°ã©ãã³ã° ãšã©ãŒã®é²æ¢ã«åœ¹ç«ã€ããã€ãã®èšèªæ©èœãå°å ¥ãããŠããŸãã
Kotlin ã¯å®å šæ§ãè¶ ããŠãéçºè ã®å¹žçŠã远æ±ããŠèšèšãããŠããŸãããã®èšèªã䜿ãããããšèãæãããæ©èœã«éç¹ã眮ããŠããã®ã¯ããã®å æ¬çãªããŒã«ã®ãµããŒããéããŠèŒããæŸã¡ãŸãã JetBrains㯠Kotlin ãšæã人æ°ã®ããçµ±åéçºç°å¢ (IDE) IntelliJ IDEA ã®äž¡æ¹ãæ¯ããé è³ã§ãããããäžæµã®éçºãšã¯ã¹ããªãšã³ã¹ãæåŸ ã§ããŸããããŸãã«ãAndroid éçºçšã«å ¬åŒã«æšå¥šãããŠãã IDE ã§ããAndroid Studio ãKotlin ã® Android éçºæ©èœãããã«åŒ·åãã IntelliJ äžã«æ§ç¯ãããŠããŸãã
ã¢ããªéçºã«ææŠãã人ã«ãšã£ãŠãKotlin ã¯ã¢ã¯ã»ã¹ããããå®çšçãªãšã³ã㪠ãã€ã³ããæäŸããŸãã AppMaster ã®ãããªããŒã«ã䜿çšãããšã no-codeãã©ãããã©ãŒã ãéããŠã¢ããªéçºããã»ã¹ãamplifying ãããã¯ãšã³ãã API ãªã© ã®æ©èœã®çµ±åãšéçºãè¿ éãã€ç°¡åã«ãªããŸãã Kotlin ãæ¡çšããããšã§éçºã®æ ã匟ã¿ãã¢ããªã±ãŒã·ã§ã³æ§ç¯ãžã®æåã®åãçµã¿ãšããŠãšããµã€ãã£ã³ã°ãªéžæè¢ãšãªãå¯èœæ§ããããŸãã
éçºç°å¢ã®ã»ããã¢ãã
Kotlin éçºè ãšããŠã®æ ãå§ããã«ã¯ãé©åãªããŒã«ãšç°å¢ãã»ããã¢ããããããšããå§ãŸããŸããã¢ãã€ã« ã¢ããªããµãŒããŒãµã€ã ã¢ããªã±ãŒã·ã§ã³ãããã«ã¯ Kotlin ã䜿çšãã Web ãããžã§ã¯ãã®äœæãç®çãšããå Žåã§ããé©åã«æ§æãããéçºç°å¢ã¯çç£æ§ãšåŠç¿ã«ãšã£ãŠéåžžã«éèŠã§ãã Kotlin éçºçšã«éçºç°å¢ãæºåããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
é©åãªçµ±åéçºç°å¢ (IDE) ã®éžæ
Kotlin ã®å Žåãæšå¥šããã IDE 㯠JetBrains IntelliJ IDEA ãšAndroid Studioã§ãã©ã¡ãã Kotlin ãšé©åã«çµ±åãããŠããŸãã Android ã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåã¯Android Studioãäžå¯æ¬ ã§ãããIntelliJ IDEA ã¯ä»ã®ã¿ã€ãã® Kotlin éçºã«ãšã£ãŠåŒ·åãªããŒã«ã§ãããããã® IDE ãã€ã³ã¹ããŒã«ããæé ã¯æ¬¡ã®ãšããã§ãã
- Android ã¢ããªéçºã®ããã«Android StudioãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸããã¢ããªããã¹ãããããã®ãšãã¥ã¬ãŒã¿ãŒãªã©ãAndroid ã«åãããç¹æ®ãªããŒã« ã»ãããä»å±ããŠããŸãã
- Kotlin ã䜿çšãã Android 以å€ã®éçºã®å Žåã¯ãJetBrains IntelliJ IDEA ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã Community (ç¡æ) ããŒãžã§ã³ãš Ultimate (ææ) ããŒãžã§ã³ã®äž¡æ¹ã Kotlin ããµããŒãããŠããŸãã

ç»åãœãŒã¹: JetBrains
Kotlin ãã©ã°ã€ã³ã®ã€ã³ã¹ããŒã«
Android Studioã¯ããã« Kotlin ãµããŒããä»å±ããŠããŸãããIntelliJ IDEA ãŠãŒã¶ãŒã¯ Kotlin ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããããããïŒ
- IntelliJ IDEA ãéããŸãã
- èšå®ãŸãã¯ç°å¢èšå®ã»ã¯ã·ã§ã³ã«ç§»åããŸãã
- ãã©ã°ã€ã³ãªãã·ã§ã³ãèŠã€ããŸãã
- ããŒã±ãããã¬ã€ã¹ã§ãKotlinããæ€çŽ¢ããã€ã³ã¹ããŒã«ããŸãã
- ãã©ã°ã€ã³ãæå¹ã«ããããã«å¿ èŠã«å¿ã㊠IDE ãåèµ·åããŸãã
Kotlin ã³ã³ãã€ã©ãŒã®æ§æ
ã€ã³ã¹ããŒã«åŸãKotlin ã³ã³ãã€ã©ãŒãæ£ããæ§æãããŠããããšã確èªããŸãã
- IDE ã® Kotlin æ§æã»ã¯ã·ã§ã³ã«ç§»åããŸãã
- æé©ãªããã©ãŒãã³ã¹ãšææ°ã®æ©èœãžã®ã¢ã¯ã»ã¹ãå®çŸããã«ã¯ãã³ã³ãã€ã©ãŒãææ°ã®å®å®ããŒãžã§ã³ã«èšå®ãããŠããããšã確èªããŠãã ããã
ãããžã§ã¯ãæ§é ã®æ¢çŽ¢
IDE ã®ãããžã§ã¯ãæ§é ãçè§£ãããšãã³ãŒããæŽçããŠç®¡çããã®ã«åœ¹ç«ã¡ãŸããæ°ãããããžã§ã¯ãã®äœæãæ°ãã Kotlin ãã¡ã€ã«ã®è¿œå ããã«ãæ§æã®èšå®ã«ã€ããŠçè§£ããŠãã ãããåºæ¬çãªæŠèŠã¯æ¬¡ã®ãšããã§ãã
- IDE å ã«æ°ãã Kotlin ãããžã§ã¯ããäœæããŸãã
- ãã£ã¬ã¯ããªã®ã¬ã€ã¢ãŠãã調ã¹ãŠããœãŒã¹ ãã¡ã€ã«ããªãœãŒã¹ãäŸåé¢ä¿ãä¿åãããŠããå ŽæãèŠã€ããŸãã
- ãã«ãæ§æã確èªããŠãã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ããŠå®è¡ããæ¹æ³ã確èªããŠãã ããã
ããŒãžã§ã³ç®¡çã®èšå®
ããŒãžã§ã³ç®¡çã¯ãéçºè ã倿Žå±¥æŽãç¶æããä»ã®ãŠãŒã¶ãŒãšååããããã«äžå¯æ¬ ã§ãã GitHubãGitLabãBitbucket ãªã©ã®äœ¿ãæ £ãããã¹ãã§ããŒãžã§ã³ç®¡çã« Git ã䜿çšã§ããŸããèšå®æ¹æ³ã¯æ¬¡ã®ãšããã§ãã
- git-scm.com ãã Git ãã€ã³ã¹ããŒã«ããŸãã
- ãŠãŒã¶ãŒæ å ±ã䜿çšã㊠Git ãæ§æããŸãã
- IDE ãããŒãžã§ã³ç®¡çãªããžããªã«æ¥ç¶ããŠã倿Žãããã·ã¥ããã«ãã³ãããããŸãã
- git initãgit addãgit commitãgit Push ãªã©ã®åºæ¬ç㪠Git ã³ãã³ãã詊ããŠãããŒãžã§ã³ç®¡çã®ã³ããæŽãã§ãã ããã
ãšãã¥ã¬ãŒã¿ãšå®ããã€ã¹ã®ãã¹ãã«ã€ããŠ
Android éçºã®å Žåããšãã¥ã¬ãŒã¿ãŸãã¯å®éã®ããã€ã¹ã§ã®ãã¹ãã¯ããã»ã¹ã®éèŠãªéšåã§ãã
- Android Studioã® Android ä»®æ³ããã€ã¹ (AVD) ãããŒãžã£ãŒã䜿çšããŠãä»®æ³ããã€ã¹ãäœæããã³ç®¡çããŸãã
- ããŸããŸãªç»é¢ãµã€ãºãš Android ããŒãžã§ã³ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããŸãã
- å®éã®ããã€ã¹ããã¹ãããã«ã¯ãAndroid ããã€ã¹ã§ USB ãããã°ãæå¹ã«ããéçºãã·ã³ã«æ¥ç¶ããŸãã
ããŒããŒãã·ã§ãŒãã«ããã®åŠç¿
æåŸã«ãéžæãã IDE å ã®ããŒããŒã ã·ã§ãŒãã«ããã«æ £ããŠãã ããããããã¯ããã°ã©ãã³ã° ã¿ã¹ã¯ãå€§å¹ ã«ã¹ããŒãã¢ããããéçºã¯ãŒã¯ãããŒãããå¹ççã«ç®¡çããã®ã«åœ¹ç«ã¡ãŸããéåžžãIDE ã¯ã·ã§ãŒãã«ããã«é¢ãã詳现ãªããã¥ã¡ã³ããšããŒãã·ãŒããæäŸããŸãã
ãããã®ããŒã«ãšæ§æãé©åã«é 眮ãããšãKotlin ã³ãŒãã®äœæãéå§ã§ããããã«ãªããŸããéçºç°å¢ã«æ £ããã°æ £ããã»ã©ãèšèªã®åŠç¿ãšã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«éäžãããããªããŸãã
åããŠã® Kotlin ã¢ããªã±ãŒã·ã§ã³
åã㊠Kotlin ã䜿çšããã¢ããªéçºã®äžçã«è¶³ãèžã¿å ¥ããå Žåã¯ãè³¢æãªéžæãããŠããããšã«ãªããŸãã Kotlin 㯠Java ããã芪ãã¿ããããç°¡æœã«ãªãããã«èšèšãããŠãããGoogle 㯠Android éçºåãã« Kotlin ãå®å šã«ãµããŒãããŠããŸããã¹ããããã€ã¹ãããã®ã¬ã€ãã§ã¯ããŒãããæåã® Kotlin ã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸãã
ã¹ããã 1: IDE ã®ã»ããã¢ãã
ãŸãæåã«ãKotlin ããµããŒãããçµ±åéçºç°å¢ (IDE) ãå¿ èŠã§ããæãäžè¬çãªéžæè¢ã¯JetBrains IntelliJ IDEA ã§ããç¡æã® Community Edition ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ãããã远å ã® Web éçºæ©èœãå¿ èŠãªå Žå㯠Ultimate Edition ãéžæããŠãã ããã JetBrains Web ãµã€ãããçŽæ¥å ¥æã§ããŸãã
ã¹ããã 2: æ°ãã Kotlin ãããžã§ã¯ããäœæãã
IntelliJ IDEA ãéãããæ°ãããããžã§ã¯ãã®äœæããéžæããŸãããããžã§ã¯ã ãŠã£ã¶ãŒãã§ãå·ŠåŽã®èšèªãªã¹ããã Kotlin ãéžæããJVM | ãéžæããŸãã IDEAããã®ãã³ãã¬ãŒãã¯ãåçŽãª Kotlin ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªãã®ããã¹ãŠèšå®ããŸãã ãæ¬¡ãžããã¯ãªãã¯ããŠç¶è¡ããŸãã
ã¹ããã 3: ãããžã§ã¯ãã®æ§æ
ãããžã§ã¯ãã«ååãä»ããã³ã³ãã¥ãŒã¿äžã®é©åãªå ŽæãéžæããŠä¿åãããããžã§ã¯ã JDK ãæ£ããèšå®ãããŠããããšã確èªããŸããéåžžãIntelliJ IDEA ã JDK ã»ããã¢ãããåŠçããŸãããã ããJDK ããªãå Žåã¯ããã€ã¢ãã°ããçŽæ¥ã€ã³ã¹ããŒã«ã§ããŸãã ãå®äºããã¯ãªãã¯ããIDE ããããžã§ã¯ãæ§é ãåæåãããŸã§åŸ ã¡ãŸãã
ã¹ããã 4: ãããžã§ã¯ãæ§é ã調ã¹ã
æ°ãã Kotlin ãããžã§ã¯ãã«ã¯ãããã€ãã®éèŠãªãã©ã«ããŒããããŸãã
- src â Kotlin ãœãŒã¹ ãã¡ã€ã« (.kt) ãååšããå Žæã
- out â ã³ã³ãã€ã«ãããã³ãŒãããã³ãã®ä»ã®ãã«ã ã¢ãŒãã£ãã¡ã¯ãã®åºåãã£ã¬ã¯ããªã
src ãã£ã¬ã¯ããªå ã« Main.kt ãšãããã¡ã€ã«ãããã¯ãã§ããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã©ã«ãã®ãšã³ã㪠ãã€ã³ãã§ãã
ã¹ããã 5: æåã® Kotlin ã³ãŒããäœæãã
Main.kt ãããã«ã¯ãªãã¯ããŠãšãã£ã¿ã§éããŸãã Kotlin ã¢ããªã±ãŒã·ã§ã³ã®éå§ç¹ãšãªã fun main() 颿°ã衚瀺ãããŸãããã®é¢æ°å
ã«ãKotlin ã³ãŒãã®æåã®è¡ãèšè¿°ããŸãã
println("Hello, Kotlin World!")
ãã®ã³ãŒãè¡ã«ãããã¢ããªã±ãŒã·ã§ã³ã¯ãHello, Kotlin World!ããšåºåããŸããå®è¡æã«ã³ã³ãœãŒã«ã«è¡šç€ºãããŸãã
ã¹ããã 6: ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãã
ä»åºŠã¯ãã¢ããªã±ãŒã·ã§ã³ãå®éã«åäœããã®ãèŠãŠã¿ãŸãããããšãã£ã¿ãŒã§éããŠãã Main.kt ãã¡ã€ã«ãå³ã¯ãªãã¯ãããRun 'MainKt'ããéžæããŸãããããã¯ãããŒã«ããŒã®ç·è²ã®åçãã¿ã³ãã¯ãªãã¯ããããšãã§ããŸãã IntelliJ IDEA ãã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ããŠå®è¡ãããšããHello, Kotlin World!ããšããã¡ãã»ãŒãžã衚瀺ãããã¯ãã§ãã IDE ã®äžéšã«ããå®è¡ããŒã« ãŠã£ã³ããŠã«ã¡ãã»ãŒãžãåºåãããŸãã
ã¹ããã 7: å®éšãšæ¢çŽ¢
ãœãããŠã§ã¢ãæžããšããããšã¯å®éšããã¹ãŠã§ãã println() 颿°ã®ã¡ãã»ãŒãžã倿Žããã¢ããªã±ãŒã·ã§ã³ãåå®è¡ããŠå€æŽã確èªããŠãã ããããã®å³æãã£ãŒããã㯠ã«ãŒãã¯ææ°ã® IDE ã®åŒ·åãªæ©èœã§ãããã³ãŒã倿Žã®åœ±é¿ãè¿
éã«åŠç¿ããŠçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
ã¹ããã 8: 次ã®ã¹ããã
Main.kt ãã¡ã€ã«ã«ããã«ã³ãŒãã远å ããŠã¿ãŠãã ããã倿°ãäœæããæäœãå®è¡ãã if ã when ãããã³ã«ãŒããªã©ã®å¶åŸ¡ãã㌠ã¹ããŒãã¡ã³ãã®äœ¿ç𿹿³ãåŠç¿ããŸãã Kotlin ã®ç°¡æœãªæ§æãšåŒ·åãªæšè«ã«ãããããè€éãªããã°ã©ã ã®äœæã楜ããå§ããããŸãã
ã·ã³ãã«ãªã³ã³ãœãŒã« ã¢ããªã±ãŒã·ã§ã³ããå§ããã®ã¯ãKotlin èšèªã®æè§Šãã€ããã®ã«æé©ãªæ¹æ³ã§ããæ £ããŠãããšãã¯ã©ã¹ããªããžã§ã¯ããç¶æ¿ãªã©ã® Kotlin ã®è±å¯ãªæ©èœãæ¢çŽ¢ããããªãã§ãããããã ãä»ã¯ãKotlin ã䜿çšããŠæåã®ã¢ããªãäœæããããšãç¥ããŸãããã
Kotlin ã®å ¬åŒããã¥ã¡ã³ããªã©ã®ãªãœãŒã¹ãå©çšãããã質åãããé²æç¶æ³ãå ±æãããã§ãããªã³ã©ã€ã³ ã³ãã¥ããã£ã«åå ããããšãå¿ããªãã§ãã ããããŸããKotlin ã®åãçµã¿ãããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãåããæ¬æ Œçãªã¢ããªã«å€æãããå Žåã¯ã AppMasterã®ãã㪠ããŒã³ãŒã ãã©ãããã©ãŒã ãæ€èšããŠãã ãããããã«ãããå€§èŠæš¡ãªã³ãŒããèšè¿°ããã«ã¢ããªã®å¿ èŠãªéšåãçæã§ããŸãããã®éããå¿ èŠã«å¿ããŠã«ã¹ã¿ã Kotlin ã¢ãžã¥ãŒã«ãçµ±åã§ããŸãã
ãã®æç¹ã§ãããªãã¯çŽ æŽãããã¹ã¿ãŒããåããŠããŸããæ¬¡ã«éžæããæ¹åã¯ãKotlin æ§æãããã«æ·±ãæãäžããããæ°ãããããžã§ã¯ããéå§ããããçŸåšã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããã«ããããããçç·Žãã Kotlin éçºè ã«ãªãããšã«ã€ãªãããŸãã
Kotlin ã®æ§æãšã³ãã³ããçè§£ãã
Kotlin èšèªã䜿çšããã¢ããªéçºãå§ããã«ã¯ããã®æ§æãšã³ãã³ãã«æ £ããããšãå¿ èŠã§ãã Kotlin ã®æ§æã¯ãã®æç¢ºããšç°¡æœããç¹åŸŽã§ãã³ãŒããããå¹ççã«äœæããã®ã«åœ¹ç«ã€ã ãã§ãªããå°æ¥ã®èªåãéçºè 仲éãªã©ã誰ãèªãã§ãçè§£ã§ããããã«ãªããŸãã
Kotlin ã¯ç°¡æœã§ãããããèšè¿°ããå¿ èŠãããå®åã³ãŒãã®éãå€§å¹ ã«åæžãããŸããããšãã°ãKotlin ã®åæšè«æ©èœã®ãããã§ãã³ã³ãã€ã©ãŒã«ãã£ãŠæšè«ã§ãã倿°ã®åãæå®ããå¿ èŠã¯ãããŸããã
var greeting = "Hello, World!" // The compiler infers the type String
Kotlin ã®é¢æ°ã¯ã fun ããŒã¯ãŒãã䜿çšããŠå®£èšãããŸãã以äžã¯ãååãååŸããŠã«ã¹ã¿ãã€ãºãããæšæ¶ãåºåããåçŽãªé¢æ°ã®äŸã§ãã
fun greet(name: String) { println("Hello, $name!")}
æååãã³ãã¬ãŒã ( $name ) ã䜿çšããŠå€æ°ãæååå
ã«çŽæ¥åãèŸŒãæ¹æ³ã«æ³šç®ããŠãã ãããæååãã³ãã¬ãŒãã¯ãç°¡åãã€çŽæçã«æååãæäœã§ãã䟿å©ãªæ©èœã§ãã
å¶åŸ¡ãããŒã«ã€ããŠèª¬æããå ŽåãKotlin ã® if åŒã¯å€ãè¿ãããšãã§ãããããããæ©èœçãªã¹ã¿ã€ã«ã§äœ¿çšã§ããŸããåŸæ¥ã® for ã«ãŒãã¯ä»ã®èšèªã®ã«ãŒããšäŒŒãŠããŸããã for 䜿çšããŠãæ°å€ç¯å²ãªã©ã®ã€ãã¬ãŒã¿ãæäŸãããã®ãå埩åŠçããããšãã§ããŸãã
for (i in 1..5) { println(i)}
ããã«ãKotlin ã«ã¯ãJava ã® switch-case ã¹ããŒãã¡ã³ãã®æ¡åŒµåœ¢åŒã§ãã匷å㪠when åŒããããŸãã
when (choice) { 1 -> println("Chosen 1") 2 -> println("Chosen 2") else -> println("Any other number")}
ããã«ãKotlin 㯠null ã®å®å šæ§ãéèŠããŸããããã¯ãããã©ã«ãã§ã¯å€æ°ã« null å€ãä¿æã§ããªãããšãæå³ããŸãã null ãèš±å¯ããå¿ èŠãããå Žåã¯ãåã®åŸã«çå笊ãä»ããããšã§ã倿°ã null 蚱容ãšããŠå®£èšã§ããŸãã
var name: String? = null // Allowedvar greeting: String = null // Compilation error
ææãã¹ããã 1 ã€ã®æ§ææ©èœã¯ãKotlin ã®æ¡åŒµé¢æ°ã®äœ¿çšã§ããããã«ãããã¯ã©ã¹ãç¶æ¿ããã«ãæ°ããæ©èœã§ã¯ã©ã¹ãæ¡åŒµã§ããŸããããšãã°ã次ã®ããã« String ã¯ã©ã¹ã«æ°ããã¡ãœããã远å ã§ããŸãã
fun String.addExclamation(): String { return this + "!"}val excitedGreeting = "Hello, World".addExclamation() // Results in "Hello, World!"
Kotlin ã®ãªããžã§ã¯ãæåæ©èœããã¯ã©ã¹ãããããã£ãã¡ãœããã宣èšããããã®ç°¡æœãªæ§æãåããŠãããããçè§£ãããããªã£ãŠããŸãã Kotlin ã¯ãããŒã¿ ã¯ã©ã¹ã§å®£èšãããããããã£ã«åºã¥ããŠã equals() ã hashCode() ã toString() ãããã³ãã®ä»ã®ãŠãŒãã£ãªãã£é¢æ°ãèªåçã«æäŸããããŒã¿ ã¯ã©ã¹ãªã©ã®æ©èœããµããŒãããŸãã
data class User(val name: String, val age: Int)
Kotlin ã¯ã©ã ãåŒãšé«é颿°ããµããŒãããŠããããã颿°åããã°ã©ãã³ã°ã«äœ¿ããããèšèªã§ããããšã泚ç®ã«å€ããŸããã©ã ããåãåãé«é颿°ã®äŸã次ã«ç€ºããŸãã
fun withGreeting(name: String, operation: (String) -> String): String { return operation(name)}val result = withGreeting("Kotlin Developer") { "Greetings, $it!" }println(result) // Prints "Greetings, Kotlin Developer!"
äžã®äŸã§ã¯ãã©ã ãå
ã®åäžãã©ã¡ãŒã¿ã®æé»çãªåå it ã
åå¿è ãšããŠãKotlin ã®æ§æãšã³ãã³ãããã¹ã¿ãŒãããšããã®èšèªã®åãè§£æŸããã广çã§èªã¿ããããä¿å®ããããã³ãŒããäœæã§ããããã«ãªããŸãã Android ã¢ããªãéçºããŠããå Žåã§ãããµãŒããŒãµã€ã ãããžã§ã¯ãã§äœæ¥ããŠããå Žåã§ãããã«ããã©ãããã©ãŒã éçºã«åãçµãã§ããå Žåã§ããKotlin ã®èšèªæ©èœã¯ããããæ®µéã§ãµããŒãããŸããæåã®ã¢ããªã±ãŒã·ã§ã³ã®ãããã°ããã¹ãããããã€ãªã©ãããè€éãªãããã¯ã«é²ãåã«ããããã®åºæ¬ãçè§£ããŠããããšãéèŠã§ãã
ã¹ãã«ãåäžããç¶ãããšã AppMasterãªã©ã®ããŒã«ã䜿çšããŠå埩çãªã¿ã¹ã¯ãèªååããããšã§éçºããã»ã¹ãããã«åçåããèªä¿¡ãæã£ãŠ Kotlin ã¢ããªã®ç¬èªã®æ©èœã®äœæã«éäžã§ããããã«ãªããŸãã

Kotlin ã¢ããªã®ãããã°ãšãã¹ã
æåã® Kotlin ã¢ããªã±ãŒã·ã§ã³ãäœæãããããããã°ãšãã¹ãã®éèŠãªæ®µéã«å ¥ããŸãããããã®æé ã¯ãã¢ããªãæ£ããæ©èœããã¹ã ãŒãºãªãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãæäŸããããã«äžå¯æ¬ ã§ãã Kotlin ã®ææ°ã®éçºããŒã«ã䜿çšãããšããããã°ãšãã¹ãããããŸã§ä»¥äžã«ç®¡çãããããªããŸããåé¡ã广çã«èŠã€ããŠä¿®æ£ããKotlin ã¢ããªã±ãŒã·ã§ã³ããã¹ãããæ¹æ³ã詳ããèŠãŠã¿ãŸãããã
Kotlin ã®ãããã° ããŒã«ãçè§£ãã
IntelliJ IDEA ãAndroid Studioãªã©ã®çµ±åéçºç°å¢ (IDE) ã«ã¯ãKotlin ããã³ Android ã¢ããªéçºå°çšã«èšèšããã匷åãªãããã° ããŒã«ãè£ åãããŠããŸãã IDE ã®ãã¬ãŒã¯ãã€ã³ãããŠã©ãããã€ã³ããããã³ãããã¬ãŒ ãã¥ãŒãçè§£ãããšãåé¡ãå¹ççã«åãåããŠè§£æ±ºã§ããããã«ãªããŸãã
- ãã¬ãŒã¯ãã€ã³ã: ãã¬ãŒã¯ãã€ã³ããèšå®ãããšãã³ãŒãå ã®ç¹å®ã®æç¹ã§å®è¡ãäžæåæ¢ããããã« IDE ã«æç€ºãã倿°å€ããã®æç¹ã®ã³ãŒã« ã¹ã¿ãã¯ãå«ãã¢ããªã®çŸåšã®ç¶æ ãæ€æ»ã§ããããã«ãªããŸãã
- ãŠã©ãããã€ã³ã: ãããã¯ãç¹å®ã®ãã£ãŒã«ãã®å€ã倿Žããããšãã«å®è¡ã忢ããç¹å¥ãªãã¬ãŒã¯ãã€ã³ãã§ãããããã¯ã倿°ã®æå³ããªã倿Žã远跡ããã®ã«éåžžã«å¹æçã§ãã
- ãããã¬ãŒ ãã¥ãŒ: IDE ã®ãããã¬ãŒ ãã¥ãŒã§ã¯ãã¹ã¿ã㯠ãã¬ãŒã¹ã倿°ããŠã©ãããã³ã³ãœãŒã«åºåããã¹ãŠ 1 ãæã«è¡šç€ºããããšã§ãã¢ããªã®çŸåšã®ç¶æ ãå æ¬çã«ç¢ºèªã§ããŸãã
ãããã°ã«ã¯ãã³ãŒãã 1 è¡ãã€ããŸãã¯é¢æ°ããšã«å®è¡ãããšãã«å¿ èŠãªç²åºŠã®ã¬ãã«ãå¶åŸ¡ãããã¹ããã ãªãŒããŒãããã¹ããã ã€ã³ãããã¹ããã ã¢ãŠãããªã©ã®æ©èœãå«ãŸããŠããŸãã
Kotlin ã¢ããªã®ãã¹ã ã±ãŒã¹ãäœæãã
ãã¹ãã¯å€é¢çãªããã»ã¹ã§ãããKotlin ã§ã¯ãããžãã¯ã®åäœãã¹ããšãAndroid ãã¬ãŒã ã¯ãŒã¯ãšå¯Ÿè©±ããã³ã³ããŒãã³ãã®ã€ã³ã¹ãã«ã¡ã³ãåããããã¹ããäœæã§ããŸãã JUnit ã Espresso ãªã©ã® Kotlin ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ãããã«å¯Ÿããå æ¬çãªæ©èœãæäŸããŸãã
- JUnit: Kotlin ãšã·ãŒã ã¬ã¹ã«é£æºãã人æ°ã® Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã颿°ãã¯ã©ã¹ã®ãã¹ã ã±ãŒã¹ãäœæããŠãã¢ã㪠ããžãã¯ã®åéšåãæåŸ ã©ããã«åäœããããšãä¿èšŒããŸãã
- Espresso: Espresso ã¯ãAndroid UI ãã¹ãçšã® Google ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ãããŠãŒã¶ãŒæäœãèªååããã¢ããªã±ãŒã·ã§ã³ã® UI ãæ£ããèŠçŽ ã衚瀺ããç»é¢éãæ£ããé·ç§»ãããã©ããããã§ãã¯ããŸãã
ãã¹ã ã±ãŒã¹ã®äœæã«ã¯ãã³ãŒãã®äºæ³ãããåäœã«ã€ããŠèããããšãå«ãŸããŸããå žåçãªãŠãŒã¹ã±ãŒã¹ãšãšããžã±ãŒã¹ã®äž¡æ¹ãã«ããŒãããã¹ããäœæããŸãããããã®ãã¹ããèªååãããšããã°ãæ©æã«çºèŠããé·æã«ããã£ãŠã³ãŒãã®å質ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
èªåãã¹ããšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³
ããæŽç·Žããããã¹ãæŠç¥ã«ã€ããŠã¯ã倿Žãããã·ã¥ãããã³ã«ã³ãŒããèªåçã«æ§ç¯ããŠãã¹ãããããã«ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ãèšå®ããããšãæ€èšããŠãã ããã JenkinsãTravis CIãCircleCI ãªã©ã®ããŒã«ã¯ Kotlin ãããžã§ã¯ããšäºææ§ããããããèªåãã¹ããã¯ãŒã¯ãããŒã«ç°¡åã«çµ±åã§ããŸãã
ãã°ã¹ããŒãã¡ã³ãã®äœ¿çš
å Žåã«ãã£ãŠã¯ãåŸæ¥ã®ãããã°ã ãã§ã¯ååã§ã¯ãªãããã°èšé²ã«é Œãå¿ èŠãããå ŽåããããŸãã Kotlin ã¯ãJava éçºè ã«ãšã£ãŠéŠŽæã¿ã®ãããã®ã³ã° ã¡ã«ããºã ãæäŸããŸãã
Log.d("MyAppTag", "Current value of myVar: $myVar")
Android Studioã® logcat ãã¥ãŒã§ç°¡åã«ãã£ã«ã¿ãªã³ã°ã§ããããã«ããã° ã¹ããŒãã¡ã³ãã«äžè²«ããã¿ã°ãšæå³ã®ããã¡ãã»ãŒãžãã¿ã°ä»ãããããšããå§ãããŸãã
Android Studioã§ã®ã¢ããªã®ãããã¡ã€ãªã³ã°
ããã©ãŒãã³ã¹ ãããã¡ã€ãªã³ã°ã¯ãã³ãŒãå ã®éå¹çæ§ãæµ®ã圫ãã«ãããã¹ãã®ãã 1 ã€ã®å±€ã§ãã Android Studioã®çµã¿èŸŒã¿ãããã¡ã€ã©ãŒã¯ãã¢ããªã® CPUãã¡ã¢ãªããããã¯ãŒã¯äœ¿çšéã«é¢ãããªã¢ã«ã¿ã€ã ã®çµ±èšãæäŸããã¢ããªããªãªãŒã¹ããåã«ããã©ãŒãã³ã¹ãæé©åããã®ã«åœ¹ç«ã¡ãŸãã
ãšãã¥ã¬ãŒã¿ãšå®ããã€ã¹ã䜿çšãããã¹ã
ãšãã¥ã¬ãŒã¿ã¯ã»ãšãã©ã®ã·ããªãªã®ãã¹ãã«æé©ã§ãããå®éã®ããã€ã¹ã§ã®ãã¹ããäžå¯æ¬ ã§ããããã«ãããç»é¢ãµã€ãºãè§£å床ãããŒããŠã§ã¢æ©èœãç°ãªãããŸããŸãª Android ããã€ã¹éã§ã¢ããªãé©åã«åäœããããšãä¿èšŒãããŸãã
ãããã°ãšãã¹ãã¯æéããããããã«æããŸãããã¢ããªã±ãŒã·ã§ã³ã®å質ãžã®æè³ã§ãããããã®å®è·µãåãå ¥ããããšã§ãã¢ããªãããŸãæ©èœããæ¥œãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãæäŸã§ããããã«ãªããŸããããã«ã AppMasterã®ãããªãã©ãããã©ãŒã ã¯ãKotlin ã¢ããªã±ãŒã·ã§ã³ã®ããŒãºããµããŒããã匷åãªããã¯ãšã³ããæäŸããããšã§æ¯æŽããããã¯ãšã³ãé¢é£ã®åé¡ããããã°ããã¹ãã®åãçµã¿ã劚ããªãããã«ããããšãã§ããŸãã
Kotlin ã¢ããªã培åºçã«ãããã°ããŠãã¹ãããããšã§ãå質ä¿èšŒãå³ããæ€æ»ãããŠããããšãããããã¢ããªã±ãŒã·ã§ã³ã Google Play ã¹ãã¢ã«ãããã€ããŠãŠãŒã¶ãŒã®æã«æž¡ãã®ã«å¿ èŠãªèªä¿¡ãåŸãããšãã§ããŸãã
Kotlin ã¢ããªã±ãŒã·ã§ã³ã®ãããã€
Kotlin ã®æ§æããã¹ã¿ãŒããã¢ããªã®ã¢ãŒããã¯ãã£ãäœæãããã¹ãŠã®æ©èœãæåŸ ã©ããã«åäœããããšã確èªããããKotlin ã¢ããªã±ãŒã·ã§ã³ããããã€ããŸãããããã€ã¡ã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒãå©çšã§ããããã«ãªãéèŠãªãã§ãŒãºã§ããããã»ã¹ã段éçã«èŠãŠã¿ãŸãããã
ãªãªãŒã¹ã®æºåäž
ã¢ããªã±ãŒã·ã§ã³ããããã€ããåã«ããªãªãŒã¹ã®æºåãããå¿
èŠããããŸããããã«ã¯ãã¢ããªã®ã³ãŒããã¢ã»ããããªãœãŒã¹ã®å®æãå«ãŸããŸãããŸããã¢ããªã®ã¡ã³ããã³ã¹ãšæŽæ°ã«éèŠãªããŒãžã§ã³ç®¡çã«ã€ããŠãèæ
®ããå¿
èŠããããŸããã¢ããªã® build.gradle ãã¡ã€ã«å
ã®ããŒãžã§ã³çªå·ãå¢å ããŠããããšã確èªããŠãã ããã
ã¢ããªã«çœ²åãã
Android ã§ã¯ããã¹ãŠã® APK ãã€ã³ã¹ããŒã«ããåã«èšŒææžã§ããžã¿ã«çœ²åããå¿ èŠããããŸããã¢ããªã«çœ²åãããšãéçºè ãšããŠã®èº«å ãæ€èšŒããã¢ããªãæ¹ãããããŠããªãããšãä¿èšŒããã»ãã¥ãªãã£å±€ã远å ãããŸããã¢ããªã±ãŒã·ã§ã³ã«çœ²åããã«ã¯ãJava Development Kit (JDK) ã«ãã£ãŠæäŸããã keytool ã䜿çšããŠçœ²åããŒãçæãã Android Studioã®çµã¿èŸŒã¿çœ²åæ©èœã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã«çœ²åããŸãã
ãªãªãŒã¹ APK ãŸãã¯ã¢ã㪠ãã³ãã«ã®æ§ç¯
次ã«ãAPK ãŸã㯠Android App Bundle ã®ãªãªãŒã¹ ããŒãžã§ã³ãæ§ç¯ããå¿ èŠããããŸãã Android Studioã§ã¯ããããè¡ãã«ã¯ã[Build] > [Generate Signed Bundle / APK] ãéžæããŸããæ°ããããŒã¹ãã¢ãäœæãããæ¢åã®ããŒã¹ãã¢ã䜿çšããããæç€ºãããããŒãšãã®ãã¹ã¯ãŒããæå®ããŠçœ²åä»ã APK ãŸã㯠App Bundle ãçæããŸãã
ãªãªãŒã¹ããŒãžã§ã³ã®ãã¹ã
éçºäžã«ã¢ããªããã¹ããããšããŠãã眲åããããªãªãŒã¹ ããŒãžã§ã³ãããŸããŸãªããã€ã¹ã§ãã¹ãããããšãéèŠã§ããããã«ããããªãªãŒã¹çšã«èšå®ããæé©åãšæ§æã«åŸã£ãŠã¢ããªãæ£ããåäœããããšãä¿èšŒãããŸãã
Google Play ã¹ãã¢ãžã®å±é
ã¢ããªã®çœ²åãšãã¹ããå®äºãããšããŠãŒã¶ãŒã«é åžããæºåãæŽããŸãã Android ã¢ããªãé åžãããã©ãããã©ãŒã ã¯è€æ°ãããŸãããæãäžè¬çãªã®ã¯ Google Play ã¹ãã¢ã§ãã Play ã¹ãã¢ã§ã¢ããªãå ¬éããã«ã¯ãéçºè ã¢ã«ãŠã³ããäœæãã1 åéãã®ç»é²æéãæ¯æããGoogle ã®éçºè ããªã·ãŒã«æºæ ããå¿ èŠããããŸãã
Play ã¹ãã¢ã®ãªã¹ã
ãŠãŒã¶ãŒãã¢ããªãããŠã³ããŒãããåã«ãé åç㪠Play ã¹ãã¢ã®ãªã¹ããäœæããå¿ èŠããããŸããããã«ã¯ãããããããã¿ã€ãã«ãšè©³çްãªèª¬æã®äœæãã¢ããªã®ã¹ã¯ãªãŒã³ã·ã§ãããšãããªã®ã¢ããããŒããé©åãªåé¡ãšã¿ã°ã®èšå®ãå«ãŸããŸãã
ãªãªãŒã¹ã®å±é
Google Play ã¹ãã¢ã«ã¯ãéãããå²åã®ãŠãŒã¶ãŒã«ã¢ããªããªãªãŒã¹ã§ããæ®µéçãªããŒã«ã¢ãŠããå®è¡ããæ©èœãçšæãããŠããŸãããã®å埩çãªã¢ãããŒãã«ãããå®å šãªãªãŒã¹åã«ãã£ãŒãããã¯ãç£èŠããåé¡ã«å¯ŸåŠããããšãã§ããŸããããŒã«ã¢ãŠãã«æºè¶³ããããã¢ããªããã¹ãŠã®ãŠãŒã¶ãŒã«ããã·ã¥ã§ããŸãã
ç£èŠãšæŽæ°
ã¢ããªããããã€ããåŸã¯ããã®ããã©ãŒãã³ã¹ãç£èŠããããšãäžå¯æ¬ ã§ãã Google Play Console ã䜿çšãããšãã€ã³ã¹ããŒã«ãè©äŸ¡ããŠãŒã¶ãŒç¶æçãã¯ã©ãã·ã¥ ã¬ããŒãã远跡ã§ããŸãããã®ãã£ãŒãããã¯ã«åºã¥ããŠãPlay ã¹ãã¢ãéããŠã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããæ°ããããŒãžã§ã³ããããã€ã§ããŸãã
AppMasterã®ãããã€ã¡ã³ãæ©èœã®å©çš
AppMaster Kotlin ã³ãŒããçŽæ¥çæããŸããããç¹ã«ããã¯ãšã³ã ã¬ãã«ã§ Kotlin ã¢ããªã±ãŒã·ã§ã³ãšã·ãŒã ã¬ã¹ã«çµ±åããŸãã Kotlin ã¢ããªã察話ããå¯èœæ§ã®ããããã¯ãšã³ã ãµãŒãã¹ããããã€ããå Žåã AppMasteréåžžã«åœ¹ç«ã¡ãŸãã AppMasterã䜿çšãããšãAPI endpointçæãªã©ã®ãããã€ã¡ã³ã ããã»ã¹ãèªååãããããã€ã¡ã³ã ãããŒãããé«éãã€å¹ççã«è¡ãããšãã§ããŸãã
Kotlin ã¢ããªã®ãããã€ã¯ãéçºããã»ã¹ã®é倧æã§ãããã¢ããªã®åžå Žã§ã®ç掻ã®å§ãŸãã§ãããããã®æé ã«åŸãããšã§ãã¢ããªã±ãŒã·ã§ã³ãéçºããçŸå®äžçã«ã¹ã ãŒãºã«ç§»è¡ãããŠãŒã¶ãŒãäžçäžã§æ¥œãããããã«ãªããŸãã
API ããã³ã©ã€ãã©ãªãšã®çµ±å
ã¢ããªéçºã®éçšã§ã¯ãAPI ããã³ã©ã€ãã©ãªãšçµ±åããããšã§ãKotlin ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãšå¯èœæ§ãå€§å¹ ã«åŒ·åã§ããŸãã API (ã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã³ã° ã€ã³ã¿ãŒãã§ã€ã¹) ã䜿çšãããšãã¢ããªãä»ã®ãœãããŠã§ã¢ ãµãŒãã¹ãã³ã³ããŒãã³ããšå¯Ÿè©±ã§ããããã«ãªããŸããäžæ¹ãã©ã€ãã©ãªã¯ãéçºè ãæåããã³ãŒããäœæããªããŠããæ°ããæ©èœã远å ããããã«äœ¿çšã§ãããäºåã«äœæãããã³ãŒãã®ã³ã¬ã¯ã·ã§ã³ã§ãã
API çµ±åã«ã€ããŠ
API çµ±åã«ã¯ãKotlin ã¢ããªãããŸããŸãªæ©èœãæäŸãã Web ãµãŒãã¹ã«æ¥ç¶ããããšãå«ãŸããŸããããšãã°ãæ°è±¡æ å ±ãæ¯æãã²ãŒããŠã§ã€ããŸãã¯ãœãŒã·ã£ã« ã¡ãã£ã¢å ±æãã¢ããªå ã«çµã¿èŸŒãããšãã§ããŸãã Kotlin ã§ã¯ã Retrofit ã Ktor ã OkHttpãªã©ã® HTTP ã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã䜿çšããããšã§ãç°¡å㪠API çµ±åãå¯èœã«ãªããŸãã
以äžã¯ã Retrofit䜿çšã㊠API åŒã³åºããå®è¡ããæ¹æ³ã®ç°¡åãªäŸã§ãã
interface ApiService { @GET("weather") fun getCurrentWeather(@Query("q") cityName: String): Call<WeatherResponse>}val retrofit = Retrofit.Builder() .baseUrl("https://api.weatherapi.com/") .addConverterFactory(GsonConverterFactory.create()) .build()val service = retrofit.create(ApiService::class.java)val weatherResponse = service.getCurrentWeather("London")
ãã®ã¢ãããŒãã§ã¯ã Retrofit HTTP ãªã¯ãšã¹ããè¡ãããã«äœ¿çšã§ããã¢ãããŒã·ã§ã³ãåãããµãŒãã¹ ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããŸãããããã§ããŠãŒã¶ãŒã«å€©æ°ã衚瀺ãããªã©ãKotlin ã¢ããªå ã§åŠçã§ããå¿çãåŸãããããã«ãªããŸãã
Kotlin ãã©ã€ãã©ãªã§äœ¿çšãã
åæ§ã«ãKotlin ã®ãšã³ã·ã¹ãã ã¯ãã¢ããªéçºãå¹çåã§ããå€ãã®ã©ã€ãã©ãªãæäŸããŸããç»åã®èªã¿èŸŒã¿ã®åŠçãè€éãªãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹èšèšã®å®è£
ããŸãã¯ããŒã¿ããŒã¹ ãã©ã³ã¶ã¯ã·ã§ã³ã®ç®¡çãæ€èšããŠããå Žåã§ãã圹ç«ã€ã©ã€ãã©ãªããã£ãšããã§ãããã Kotlin ãããžã§ã¯ãã«ã©ã€ãã©ãªãå«ããã«ã¯ãéåžžããããžã§ã¯ãã® build.gradle ãã¡ã€ã«ã«äŸåé¢ä¿ã远å ããã ãã§ãã
ããšãã°ãã¢ããªã§éåæã¿ã¹ã¯ãããå¹ççã«åŠçããããšããŸããæ¬¡ã®è¡ãäŸåé¢ä¿ã«è¿œå ããããšã§ãKotlin ã®ã³ã«ãŒãã³ãçµ±åã§ããŸãã
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2"
ãããžã§ã¯ãã Gradle ãã¡ã€ã«ãšåæããåŸãã³ã«ãŒãã³ã䜿çšããŠããã¯ã°ã©ãŠã³ã ã¿ã¹ã¯ã管çããããã¹ã ãŒãºãªãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãå®çŸã§ããããã«ãªããŸãã
API ãšã©ã€ãã©ãªã®çµ±åã®ãã¹ã ãã©ã¯ãã£ã¹
- ããã¥ã¡ã³ããèªã: API ãŸãã¯ã©ã€ãã©ãªã«ãã£ãŠæäŸãããããã¥ã¡ã³ããèªãã§ããã®æ©èœãé©åã«å©çšããæ¹æ³ãçè§£ããããšããå§ããŠãã ããã
- API å¿çãé©åã«åŠçãã: API ã¯å€±æããããäºæããªãçµæãè¿ãããããããšããããŸããæåããšã©ãŒãèªã¿èŸŒã¿ç¶æ ãªã©ãèãããããã¹ãŠã®ã±ãŒã¹ãåŠçããŸãã
- ã©ã€ã»ã³ã¹ã®äºææ§ã確èªãã: ã©ã€ãã©ãªãŸã㯠API ã®ã©ã€ã»ã³ã¹ãæ€èšŒããŠãã¢ããªã®ã©ã€ã»ã³ã¹ããã³äœ¿çšæ³ãšäºææ§ãããããšã確èªããŸãã
- ã¢ããªã®ããã©ãŒãã³ã¹ãç£èŠãã: å€ãã®ã©ã€ãã©ãªãŸã㯠API åŒã³åºããçµ±åãããšãã¢ããªã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããã¢ããªãç£èŠããå¿ èŠã«å¿ããŠæé©åããŸãã
- ææ°ã®ç¶æ ã«ä¿ã€: ã©ã€ãã©ãªãš API å®è£ ã«ã¯éèŠãªã»ãã¥ãªã㣠ããããããã©ãŒãã³ã¹ã®åäžãå«ãŸããããšãå€ããããåžžã«ææ°ããŒãžã§ã³ã«æŽæ°ããŠãã ããã
Kotlin 㯠API ãšã©ã€ãã©ãªã®çµ±åã¡ã«ããºã ãæäŸããŸããã AppMasterã®ãããªãã©ãããã©ãŒã ã¯ãããã¯ãšã³ãã®çµ±åãš API 管çã容æã«ããããžã¥ã¢ã« ããã°ã©ãã³ã° ããŒã«ãæäŸããããšã§äŸ¡å€ãä»å ã§ããŸãã Kotlin ã䜿çšããŠã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãäœæããå Žåã§ããWeb ã¢ããªã±ãŒã·ã§ã³ãäœæããå Žåã§ãã AppMasterã§çæãããendpointsãçµ±åãããšãããã¯ãšã³ãéçºããã»ã¹ãç°¡çŽ åãããã¢ããªã±ãŒã·ã§ã³ã®åºæã®åŽé¢ã«éäžã§ããããã«ãªããŸãã
API ãšçµ±åããã©ã€ãã©ãªã䜿çšãããšãè»èŒªã®åçºæãè¡ããã«æ©èœãæ¡åŒµã§ãããããKotlin ã¢ããªãå€§å¹ ã«æ¹åã§ããŸããçµéšè±å¯ãªéçºè ã§ãã£ãŠããåå¿è ã§ãã£ãŠãããããã®ãªãœãŒã¹ãå¹ççã«æŽ»çšããããšã§ãã¢ããªéçºããã»ã¹ããã广çã§æ¥œãããã®ã«ãªããŸãã
å¹çç㪠Kotlin éçºã®ããã®ãã³ã
Android ã¢ããªéçºã®ããã°ã©ãã³ã°èšèªãšã㊠Kotlin ãæ¡çšããããšã¯ãã³ãŒãã£ã³ã°ã®åãçµã¿ã«ãããŠãšããµã€ãã£ã³ã°ãªã¹ããããšãªãå¯èœæ§ããããŸãã Kotlin ã®è¡šçŸåè±ããªæ§æãšå®å šæ©èœã«ãããéçºããã»ã¹ã楜ããçç£çã«ãªããŸããããã§ã¯ãKotlin ã¢ããªã®éçºå¹çãããã«é«ããããã®éèŠãªãã³ããããã€ã玹ä»ããŸãã
Kotlin ã®èšèªæ©èœãçè§£ããŠæŽ»çšãã
Kotlin ã¯ãå€ãã®äžè¬çãªããã°ã©ãã³ã° ã¿ã¹ã¯ãç°¡çŽ åã§ãããç°¡æœã§è¡šçŸåè±ããªèšèªæ©èœã§ç¥ãããŠããŸãã䜿ãç¿æ £ãã€ããŸããã:
- Null ã»ãŒã: Kotlin ã® null ã»ãŒãåãæ¡çšããŠãnull ãã€ã³ã¿ãŒäŸå€ãé²ããããå®å šãªã³ãŒããèšè¿°ããŸãã
- æ¡åŒµé¢æ°: æ¡åŒµé¢æ°ã䜿çšããŠãæ¢åã®ã¯ã©ã¹ãç¶æ¿ããã«æ©èœã远å ããŸãã
- ã³ã«ãŒãã³: éåæããã°ã©ãã³ã°ã«ã³ã«ãŒãã³ã掻çšããŠãããã¯ãªãŒã³ã§ç°¡åãªåæå®è¡ã³ãŒããäœæããŸãã
Kotlin æšæºã©ã€ãã©ãªã掻çšãã
Kotlin æšæºã©ã€ãã©ãªã«ã¯ãäœæããã³ãŒãã®éãåæžãã䟿å©ãªé¢æ°ãæºèŒãããŠããŸããããšãã°ã filter ã map ã forEach ãªã©ã®ã³ã¬ã¯ã·ã§ã³åŠç颿°ã¯ãããŒã¿ãç°¡åã«æäœã§ãã匷åãªããŒã«ã§ãããããã®ã©ã€ãã©ãªé¢æ°ãããçè§£ãããšãã³ãŒãã£ã³ã° ããã»ã¹ã倧å¹
ã«å¹çåãããŸãã
IDE ã®ãã¯ãŒã掻çšãã
IntelliJ IDEA ãšAndroid Studio JetBrains 補åã§ãããKotlin ã«åªãããµããŒããæäŸããŸãããããã®çµ±åéçºç°å¢ (IDE) ã¯ãKotlin éçºã«ç¹åããã³ãŒãè£å®ãã€ã³ã¹ãã¯ã·ã§ã³ããªãã¡ã¯ã¿ãªã³ã° ããŒã«ãªã©ã®æ©èœãæäŸããŸãã IDE å ã§ã¢ã¯ã·ã§ã³ãããéãå®è¡ããã«ã¯ãããŒããŒã ã·ã§ãŒãã«ããã䜿çšããããšããããããªãã§ãã ããã
ã³ãŒããèªã¿ãããããããã® DSL ã®äœ¿çš
Kotlin ã®ãã¡ã€ã³åºæèšèª (DSL) ã䜿çšãããšãå¯èªæ§ãšä¿å®æ§ã®é«ãã³ãŒããäœæã§ããŸãããããã¯ãã¯ãªãŒã³ãª API ã®äœæãè€éãªã·ã¹ãã ã®æ§æã«ç¹ã«åœ¹ç«ã¡ãŸãã DSL ã䜿çšãããšãã³ãŒã ããŒã¹ãã©ã®ããã«çè§£ãããæäœãããããªããã調æ»ããŠãã ããã
Kotlin ãšã³ã·ã¹ãã ãæŽ»çšãã
Kotlin ãšã³ã·ã¹ãã ã«ã¯ãæéãšåŽåãç¯çŽã§ããã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ãè±å¯ã«ãããŸãã Ktor ã®ãããªãããã¯ãŒã¯ ã©ã€ãã©ãªãå¿ èŠãªå Žåã§ããRxKotlin ã®ãããªéåæããã°ã©ãã³ã° ããŒã«ãå¿ èŠãªå Žåã§ããKoin ã®ãããªäŸåé¢ä¿æ³šå ¥ãã¬ãŒã ã¯ãŒã¯ãå¿ èŠãªå Žåã§ããKotlin ã³ãã¥ããã£ã察å¿ããŠãããå¯èœæ§ãé«ããªããŸããææ°ãã€æé«ã® Kotlin ããŒã«ã«ã€ããŠã¯ãGitHub ãªããžããªãš Kotlin ãã£ã¹ã«ãã·ã§ã³ ãã©ãŒã©ã ã«æ³šç®ããŠãã ããã
åäœãã¹ãã®äœæ
Kotlin ã®æ§æã¯ããç°¡æœã§ããããã¹ãã®å¿ èŠæ§ããªããªãããã§ã¯ãããŸããã Kotlin ã³ãŒãã®åäœãã¹ããäœæãããšãKotlin ã³ãŒããæåŸ ã©ããã«åäœããããšãä¿èšŒãããå°æ¥ã®ãªã°ã¬ãã·ã§ã³ããä¿è·ããã®ã«åœ¹ç«ã¡ãŸãã Kotlin 㯠JUnit ãšå®å šãªäºææ§ããããSpek ãšåŒã°ããå¿«é©ãªãã¹ã ãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãããã確å®ãªã³ãŒããåŸãããã«ããã¹ãã宿çãªéçºãµã€ã¯ã«ã®äžéšã«çµã¿èŸŒã¿ãŸãã
ç¶ç¶çãªåŠç¿ãšã³ãã¥ããã£ãžã®åå
ä»ã®ãã¯ãããžãŒãšåæ§ãKotlin ãé²åãç¶ããŠããŸããææ³çãªãŒããŒããã©ããŒããããKotlin ãŠãŒã¶ãŒ ã°ã«ãŒãã«åå ããããå ¬åŒããã°ãèªãã ãããŠãææ°ã®ãªãªãŒã¹ãèšèªæ©èœããã¹ã ãã©ã¯ãã£ã¹ãåžžã«ææ°ã®ç¶æ ã«ä¿ã£ãŠãã ãããè¡ãè©°ãŸã£ãå ŽåããŸãã¯ãã¹ã ãã©ã¯ãã£ã¹ãæ¢ããŠããå Žåãã³ãã¥ããã£ã¯éåžžã«è²Žéã§ãã
AppMasterã®No-Codeãã©ãããã©ãŒã ã®å®çšå
Kotlin ã¹ãã«ã磚ããªããã AppMasterã®ãããªno-codeãã©ãããã©ãŒã ãéçºããã»ã¹ãã©ã®ããã«è£å®ã§ããããæ€èšããããšã¯æçã§ãã AppMasterã䜿çšããŠã¢ããªã®ããã¯ãšã³ã ãµãŒãã¹ã®ãããã¿ã€ããäœæããããAPI ãèšèšãããããŠãããã Kotlin ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ãããšãçç£æ§ãåäžããã«ã¹ã¿ã ã³ãŒãã£ã³ã°ãå¿ èŠãªç¬èªã®æ©èœã«éäžã§ããããã«ãªããŸãã
ãããã®æŠç¥ãé©çšãããšãKotlin éçºãããå¹ççã«ãªãã ãã§ãªããããæ¥œãããªããŸãã Kotlin ã®æ©èœãæå€§éã«æŽ»çšããèªç±ã«äœ¿ããããŒã«ã掻çšããã³ãã¥ããã£ãšäº€æµããããšã§ãé«å質ã®ã¢ããªã±ãŒã·ã§ã³ã®äœæã«åããŠé 調ã«é²ãããšãã§ããŸãã
çµè«: Kotlin ã®æ ã®æ¬¡ã®ã¹ããã
Kotlin ã®ç޹ä»ã¯ãã¢ããªéçºã«ããããšããµã€ãã£ã³ã°ãªæ ã®å§ãŸãã«ãããŸããããŠãŒã¶ãŒãã¬ã³ããªãŒãªæ§æãJava ãšã®çžäºéçšæ§ã匷åãªæ©èœãåãã Kotlin ã¯ãåå¿è ãšçµéšè±å¯ãªéçºè ã®äž¡æ¹ã«ãšã£ãŠåªããèšèªãšããŠéç«ã£ãŠããŸãã Kotlin ã®åºæ¬ã«æ £ããŠããããå°éç¥èãæ·±ããéçºã®èŠéãåºããããã«æ¬¡ã®æé ãæ€èšããŠãã ããã
- é«åºŠãªãããã¯ãããã«æ·±ãæãäžãã: Kotlin ã«ã¯ãä»ã®èšèªãšåæ§ã«ãã³ãŒãã£ã³ã° ã¹ãã«ã次ã®ã¬ãã«ã«åŒãäžããããšãã§ããé«åºŠãªãããã¯ããããŸããéåæããã°ã©ãã³ã°ã®ããã®ã³ã«ãŒãã³ãã¿ã€ãã»ãŒããªãã«ããŒãæ§ç¯ããããã® DSL (ãã¡ã€ã³åºæèšèª)ãiOS ã Android ãªã©ã®ç°ãªããã©ãããã©ãŒã éã§ã³ãŒããå ±æããããã®ãã«ããã©ãããã©ãŒã éçºãªã©ã®æŠå¿µã調ã¹ãŸãã
- Kotlin ã³ãã¥ããã£ã«åå ãã: ä»ã® Kotlin éçºè ãšäº€æµããããšã§ãåŠç¿ãå€§å¹ ã«å éãããŸãããã©ãŒã©ã ã«åå ããããããŒãã¢ããã«åå ãããããªãŒãã³ãœãŒã¹ Kotlin ãããžã§ã¯ãã«è²¢ç®ãããã§ããŸãã Kotlin ã³ãã¥ããã£ã¯éåžžã«æŽ»çºã§ãåå¿è ãæè¿ããŸãã
- æ§ç¯ãç¶ããŠãã ãã! åŠã¶ããã®æè¯ã®æ¹æ³ã¯å®è·µããããšã§ãã Kotlin ã䜿çšããŠããŸããŸãè€éã«ãªãæ°ããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãç¶ããŸããææŠãšééãã¯ããªãã®æå€§ã®æåž«ã«ãªããŸããå®éšããããšãæããããã¥ãŒããªã¢ã«ãè¶ ããŠæªç¥ã®ã³ãŒãã£ã³ã°é åã«é²åºããŠãã ããã
- AppMasterãæ¢çŽ¢ãã : AppMaster ãKotlin ã®ã¢ã€ãã¢ãå®çšçãªã¢ããªã±ãŒã·ã§ã³ã«è¿ éã«å€æããã®ã«åœ¹ç«ã€no-codeãã©ãããã©ãŒã ã§ãã AppMasterã®no-codeæ©èœã掻çšãããšãç¹ã«ãããã¿ã€ãã³ã°äžããããžã§ã¯ãã®ã³ã¢ä»¥å€ã®éšåã§æéãšåŽåãç¯çŽã§ããKotlin éçºã«éäžã§ããŸãã
- ç¶ç¶çãªåŠç¿: ãã¯ãããžãŒæ¥çã¯æ¥éã«é²åããŠãããKotlin ã®ã¢ããããŒããªã©ãææ°ã®ãã¬ã³ãããã¯ãããžãŒãåžžã«ææ°ã®ç¶æ ã«ä¿ã€ããšãéèŠã§ãã Kotlin ããã°ã GitHub ã® Kotlin ãªãªãŒã¹ãªã©ã®ãªãœãŒã¹ã䜿çšããŠãææ°æ å ±ãå ¥æããŠãã ããã
- æ©è¿ã: Kotlin ã®ç¿ç床ãäžå®ã¬ãã«ã«éããããä»ã®äººã®åŠç¿éçšãæ¯æŽããããšãæ€èšããŠãã ãããã¡ã³ã¿ãªã³ã°ãããã°ã®å·çãã€ãã³ãã§ã®è¬æŒãæè²ã³ã³ãã³ãã®å¶äœã¯ãã³ãã¥ããã£ã«è²¢ç®ããç¥èã匷åããŸãã
Kotlin ã®å¯èœæ§ã¯ç¡é倧ã§ãã Android ã¢ããªããµãŒããŒãµã€ã ã·ã¹ãã ãããã«ã¯ Kotlin/JS ã䜿çšããããã³ããšã³ã Web ã¢ããªã±ãŒã·ã§ã³ã®éçºã«è³ããŸã§ããã®èšèªã¯ããããã¬ãã«ã®éçºè ã«å€ãã®æ©äŒãæäŸããŸããåŠç¿ããã»ã¹ã¯ç¶ç¶çã§ãããã³ãŒããèšè¿°ãããã³ã«æè¡ã匷åãããããšã«æ³šæããŠãã ããã
Kotlin ã®åãçµã¿ã§æŠèŠã説æããååãšå®è·µãåãå ¥ããããšã§ãçç·Žãã Kotlin éçºè ãšãªããåçã§å¹ççãªã¢ããªã±ãŒã·ã§ã³ãäœæããæè¡ãç¿åŸã§ããããã«ãªããŸãããããŠã AppMasterã®ãããªãã©ãããã©ãŒã ãããªãããµããŒããã no-codeéçºã®å©ç¹ãšçŸä»£ã®ã¢ããªäœæã«æ±ããããæè»æ§ãæäŸããããšãå¿ããªãã§ãã ããã Kotlin ã®ç¥èãæŽ»çšãã匷åãªããŒã«ãšçµã¿åãããŠã仿¥ããæªæ¥ã®æ§ç¯ãå§ããŸãããã
ãããã質å
Kotlin ã¯äž»ã« Android ã¢ããªã®éçºã«äœ¿çšãããŸããããã¯ããã€ãã£ã Android ã¢ããªã±ãŒã·ã§ã³ã®äœæã«äœ¿çšã§ããéçåä»ãããã°ã©ãã³ã°èšèªã§ãããWeb éçºçšã® JavaScript ããµãŒããŒãµã€ã ã¢ããªã±ãŒã·ã§ã³çšã® JVM ãã€ãã³ãŒãã«ã³ã³ãã€ã«ããããšãã§ããŸãã
ããããKotlin ãåŠã¶ããã« Java ãç¥ãå¿ èŠã¯ãããŸããã Kotlin 㯠Java ãšçžäºéçšå¯èœã§ãããJVM äžã§å®è¡ãããŸãããç¬èªã®æ§æãšæ©èœãåããã¹ã¿ã³ãã¢ãã³èšèªã§ããããç°¡æœãã€è¡šçŸåè±ãã«ãªãããã«èšèšãããŠãããåå¿è ã«ãçµéšè±å¯ãªéçºè ã«ãåæ§ã«æé©ã§ãã
Kotlin ã®éçºç°å¢ãã»ããã¢ããããã«ã¯ãKotlin ããµããŒããã JetBrains IntelliJ IDEA IDE ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããããã«ãAndroid ã¢ããªãéçºããŠããå Žåã¯ã Android Studioãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
Kotlin ã¯ãç°¡æœãªæ§æãnull å®å šæ§ãæ¡åŒµé¢æ°ãé«é颿°ãJava ãšã®çžäºéçšæ§ãªã©ãåããŠã®ã¢ããªéçºè ã«ãšã£ãŠæçãªæ©èœãããã€ãæäŸããŸãããããã®æ©èœã«ãããã³ãŒãã®äœæãèªã¿åããä¿å®ã容æã«ãªããŸãã
Kotlin ã¢ããªã±ãŒã·ã§ã³ã®ãããã°ã«ã¯ãIntelliJ IDEA ãAndroid Studioãªã©ãIDE ã§å©çšå¯èœãªãããã° ããŒã«ã®äœ¿çšãå«ãŸããŸãããããã®ããŒã«ã䜿çšãããšããã¬ãŒã¯ãã€ã³ãã®èšå®ãã³ãŒãã®ã¹ãããå®è¡ã倿°ã®æ€æ»ãããã³å®è¡æã®åŒã®è©äŸ¡ãå¯èœã«ãªããŸãã
ã¯ããKotlin ã¯ä»ã®ãã©ãããã©ãŒã çšã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã«ã䜿çšã§ããŸãã Web éçºçšã« JavaScript ã«ã³ã³ãã€ã«ã§ããJVM äžã§å®è¡ããããµãŒããŒåŽã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸããããã«ãKotlin/Native ã§ã¯ãiOSãmacOSãWindows ãªã©ã®ãã©ãããã©ãŒã ãã¿ãŒã²ããã«ããããšãã§ããŸãã
Kotlin ã®åŠç¿ã«åœ¹ç«ã€ãªãœãŒã¹ã«ã¯ãKotlin ã®å ¬åŒããã¥ã¡ã³ãããªã³ã©ã€ã³ ãã¥ãŒããªã¢ã«ããã㪠ã³ãŒã¹ãã€ã³ã¿ã©ã¯ãã£ããªåŠç¿ãã©ãããã©ãŒã ãªã©ããããŸãã Kotlinlang.org ãªã©ã® Web ãµã€ãã§ã¯ãåå¿è åãã«è±å¯ãªæ å ±ãšæŒç¿ãæäŸããŠããŸãã
Kotlin ã®åŠç¿ã«ãããæéã¯ããããŸã§ã®ããã°ã©ãã³ã°çµéšãšåŠç¿ã«ã©ãã ãã®æéãè²»ããããã«ãã£ãŠç°ãªããŸããå®å šãªåå¿è ãåºæ¬ã«æ £ãããŸã§ã«æ°é±éãçç·ŽãããŸã§ã«æ°ãæãããå ŽåããããŸãã
Kotlin ã¯ãç¹ã« Kotlin ãã«ããã©ãããã©ãŒã ã§ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªãæ§ç¯ããããã®å€çšéã®éžæè¢ã§ãããã®æ©èœã«ããããã€ãã£ã ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãæ§ç¯ããªãããã©ãããã©ãŒã éã§ããžãã¯ãå ±æã§ãããããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®éçºãåçåãããŸãã
AppMaster Kotlin ããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãå«ãã¢ããªéçºãå éããno-codeãã©ãããã©ãŒã ã§ããããã«ãããããžã¥ã¢ã« ããã°ã©ãã³ã°ãå¯èœã«ãªããå€ãã®éçºã¿ã¹ã¯ãèªååãããéçºè ãç¬èªã®æ©èœã®äœæã«éäžã§ããããã«ãªããŸãã
ã¯ããKotlin ãAppMasterã§äœ¿çšã§ããŸãã AppMaster Go (golang)ã§ããã¯ãšã³ã ã³ãŒããçæããŸãããããžã¥ã¢ã« ããžãã¹ ããã»ã¹ (BP) ãã¶ã€ããŒãš API ãšã³ããã€ã³ãçæãå©çšããŠãKotlin ã¢ãã€ã« ã¢ããªãAppMasterã§äœæãããããã¯ãšã³ã ãµãŒãã¹ãšçµ±åã§ããŸãã
Kotlin ã«ã¯ãJava ã§é »ç¹ã«çºçããäžè¬ç㪠null ãã€ã³ã¿ãŒäŸå€ã鲿¢ãã null å®å šæ©èœãå«ãŸããŠããŸãã Kotlin ã®å€æ°ã¯ããã©ã«ãã§ã¯ null å€ãä¿æã§ããªãããã倿°ã null 蚱容ãšããŠæç€ºçã«å®£èšããå¿ èŠããããŸããããã¯ãnull éåç §ã«ããã¯ã©ãã·ã¥ã®æžå°ã«ã€ãªãããããéèŠã§ãã


