谷歌宣布 Kotlin 成安卓开发一级语言,我们如何来学习它

15,940 阅读3分钟


    5月18日谷歌在今日举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。


  谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。JetBrains在2010年首次推出Kotlin编程语言,并在次年将之开源。下一版的Android Studio(3.0)也将提供支持。


  值得一提的是,发布会上,Kotlin将作为安卓一级语言消息的宣布获得台下最热烈的欢呼声。

       那问题就来了,很多Android开发人员,又不得不学习这样一个新语言,Google做事,向来言出必行,之前放弃用Eclipse,推行Android Studio,现在基本都已经普及了。相信Kotlin也不例外。哈哈,培训机构又有活干了,这可是下一个风口。笔者根据多年编程经验,编程语言都应该在思想上互通的,如果,没有想到这一点。学习之路苦不堪言。今天分享下,当拿到一个新语言时,如何来学习。




1

Kotlin是什么?


Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。

Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。



2

Kotlin的特性


  • Kotlin是一种兼容Java的语言;

  • Kotlin比Java更安全,能够静态检测常见的陷阱。如:引用空指针;

  • Kotlin比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现;

  • Kotlin可与Java语言无缝通信。这意味着我们可以在Kotlin代码中使用任何已有的Java库;同样的Kotlin代码还可以为Java代码所用;

  • Kotlin在代码中很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或是函数返回值的类型。这样就能获得两个好处:简洁与安全;



3

如何学习Kotlin



  • 官网:kotlinlang.org/:无疑是最正规的,二手知识,有好有坏,不过最好看官网文档:http://kotlinlang.org/docs/reference/android-overview.html

  • 国内中文文档:https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/

  • 国内中文文档2:http://www.liying-cn.net/kotlin/docs/reference/




4

Android Studio使用Kotlin


Kotlin-github地址 

https://github.com/JetBrains/kotlin


使用Android Studio下载Kotlin相关插件

执行 Settings -> plugins -> BrowseRepositories中搜索“Kotlin


安装Kotlin


使用Kotlin创建Kotlin File/Class或者是Kotlin Activity

Kotlin插件安装成功后,执行new操作,会发现弹窗多出了两个Kotlin相关选项:



1)“KotlinFile/Class”:一般Kotlin类


/**
* Created by hejunlin on 2017/5/18.
* blog: http://blog.csdn.net/hejjunlin
*/
import com.squareup.okhttp.OkHttpClient

object OkClient{
   private val client = OkHttpClient()
   fun instance() = client
}


2)“Kotlin Activity”:Activity类


/**
* Created by hejunlin on 2017/5/18.
* blog: http://blog.csdn.net/hejjunlin
*/
import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class Main2Activity : AppCompatActivity() {

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main2)
   }
}



5

撸一个项目


学习一个语言最快方式:动手实践一个项目

一个用Kotlin写的简单漫画APP:github.com/wuapnjie/Po…


             

第一时间获得 不止个人原创 android/音视频技术干货,问题深度总结,FrameWork源码解析,插件化研究,FFmpeg研究,直播技术,最新开源项目推荐,还有更多职场思考 ,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码