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文件或转换一段代码片段。很稳!
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 官方支持开发语言