Google 如何看待 Kotlin 与 Android

Posted 开发者技术前线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google 如何看待 Kotlin 与 Android相关的知识,希望对你有一定的参考价值。

Kotlin 现在已经是android的官方语言。它富有的表现力,简洁,有力。最重要的是,它能与我们现有的Android主要开发语言Java可以运行时互操作。



现在开始学习? 点我(https://developer.android.com/kotlin/get-started.html

先进 简洁 安全。

在语法表现上,Kotlin够简洁明了。不防看看:,它包含了零默认值和不可变性的安全特性,使你的Android应用程序在默认情况下是安全的 并且性能是良好的。


代码更安全

编写更安全的代码,并在应用程序中避免 发生Nullpointerexception。

var output: String
output = null   // Compilation error

==================================

val name: String? = null    // Nullable type
println(name.length())      // Compilation error          


语法更易读和简洁


Data Classes

更加专注于表达你自己的代码创意设计,无需编写更多的样板代码。

// Create a POJO with getters, setters, equals(), hashCode(), toString(), and copy() with a single line: data class User(val name: String, val email: String)        


Lambdas语法

使用lambda来简化你的代码。

button.setOnClickListener(new View.OnClickListener(){    @Override    public void onClick(View v){        doSomething();    } });          

button.setOnClickListener { doSomething() }          


默认的命名参数

通过使用默认参数减少重载函数的数量。使用命名参数调用函数,使自己的代码更具有可读性。

fun format(str: String,           normalizeCase: Boolean = true,           upperCaseFirstLetter: Boolean = true,           divideByCamelHumps: Boolean = false,           wordSeparator: Char = ' ') {        …    } ================================== // Call function with named arguments. format(str, normalizeCase = true, upperCaseFirstLetter = true)        


和 findViewById 说再见

在你自己的代码中避免findViewById() 调用。专注于写你的逻辑,而不需要那么繁琐。

import kotlinx.android.synthetic.main.content_main.* class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        // No need to call findViewById(R.id.textView) as TextView        textView.text = "Kotlin for Android rocks!"    } }          


扩展功能, 而不是用继承

扩展函数和属性使你可以轻松地扩展类的功能,而无需继承它们。调用代码是可读和自然的。

// Extend ViewGroup class with inflate function fun ViewGroup.inflate(layoutRes: Int): View {    return LayoutInflater.from(context).inflate(layoutRes, this, false) } ================================== // Call inflate directly on the ViewGroup instance override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {    val v = parent.inflate(R.layout.view_item)    return ViewHolder(v) }


100%的和Java可互操作性

在你非常不是想用Java的情况下,尽量多地使用Kotlin。Kotlin是一种与Java完全可互操作的JVM语言。

// Calling Java code from Kotlin class KotlinClass {    fun kotlinDoSomething() {        val javaClass = JavaClass()        javaClass.javaDoSomething()        println(JavaClass().prop)    } } ================================== // Calling Kotlin code from Java public class JavaClass {    public String getProp() { return "Hello"; }    public void javaDoSomething() {        new KotlinClass().kotlinDoSomething();    } }          

强大的开发工具支持

Android Studio 3.0 提供了不错的工具来帮助你开始使用Kotlin开发。在将Java代码粘贴到Kotlin文件时,可以转换整个Java文件或转换一段代码片段。很稳!


Google 如何看待 Kotlin 与 Android

Kotlin 是开放的

与Android一样,Kotlin是Apache 2.0下的一个开源项目。Google对 Kotlin 的选择重申了Android对开发者 开放生态系统的承诺,随着 Google 的发展和 Android平台的发展,Google 希望 kotlin 语言的发展, 也很高兴看到 kotlin 语言的发展。

Tamic的一些话

Java 10 的 新特性也刚好( )迎合kotlin的某些特性一样,以后即将用var 来定义变量和类。 因此我们发现Koltin将来必定是开发者所关注的一名语言趋势,假如有一天,Google像抛弃 Eclispe,投坏Android Studio一样,放弃对Java的支持,到时候,至少你还能掌握kotlin开发,不然,你是要转行吗?


查看官方 GITHUB :https://github.com/JetBrains/kotlin


参考资料:Google开发者指南

开发者技术前线 欢迎各界读者投稿,加群请回复“加群”,

免费小密圈请点击:

开发者技术前线 汇聚开发者关心的 最新最热的

技术干货,行业资讯,职场思考, 热点思维,和一线面经!

相关推荐




以上是关于Google 如何看待 Kotlin 与 Android的主要内容,如果未能解决你的问题,请参考以下文章

11位谷歌 Android 开发专家是如何看待 Kotlin 的?

如何看待 Kotlin 成为 Android 官方支持开发语言?

如何看待 Kotlin 成为 Android 官方支持开发语言?

如何看待 Kotlin 成为 Android 官方支持开发语言

如何看待 Kotlin 成为 Android 官方支持开发语言?

如何看待 Kotlin 成为 Android 官方支持开发语言?