42
回答
【开源访谈】美团点评刘自鹏:生命苦短,我用 Kotlin
极速云服务器,低至1.04元/天>>>   

这段时间,对于 Android 开发者最轰动的事件无非就是 Kotlin 上位,成为 Android 的一级开发语言。这消息使得有人欢喜有人忧,一部分人忧于要学习新语言,一部分人喜于终于可以摆脱这干涩无味的 Java 。Kotlin 相较 Java 有什么优劣势?对于 Kotlin ,Android 开发者该如何面对?本期【开源访谈】邀请到美团点评企业平台研发部、资深 Kotlin 开发者刘自鹏,和大家分享他对 Kotlin 的一些看法和认识。

【分享嘉宾】

刘自鹏,就职于美团点评企业平台研发部,Android 开发者。较早使用 Kotlin 的开发者之一,Kotlin 项目 Twobbble 的作者,对 Material Design 有多年实践,热爱交互,专注应用层开发。

【访谈实录】

1. 先简单做个自我介绍吧。

大家好,我叫刘自鹏,目前就职于美团点评企业平台研发部,主要负责 Android 应用的开发。开发之外,个人也喜欢捣鼓一些 UI 设计,是 MaterialDesign 的死忠。

2. Kotlin 应用于 Android 开发相比传统 Java 有什么优势和劣势?

我认为优势在于依赖于 Kotlin 大量的语法糖以及更简洁易表现的语法风格能够大大提高开发效率,减少代码量,降低维护成本。

目前来看最大的劣势就是普及率太低了吧!团队开发,如果你一个人用 Kotlin ,那必定会产生某些沟通问题,或者矛盾。

3. Kotlin 有哪些地方的设计和实现是您特别欣赏(或是喜爱)的?

Kotlin 的众多特性都非常酷,那要说我最喜欢的,应该是扩展函数和 Lambda 表达式这两个东西,在 Kotlin 的使用过程中,通过扩展函数和 Lambda 表达式,可以实现各种高阶函数,DSL,相当的灵活。

4. 有了谷歌的“背书”,Kotlin 有没有可能取代 Java 成为 Android 开发的官方语言?

Kotlin 这次成为了所谓的 Android 开发一级语言,其实就是被官方所支持了。我持乐观态度,Kotlin 未来一定会取代 Java 成为主要的 Android 开发语言,但现在看来还有一大段路要走,毕竟不少开发者对新技术是有一种抵挡的心理的,而且很多公司因为一些项目的历史遗留原因,可能并不是那么愿意向 Kotlin 去转换,总得来说还需要更多的推动。

5. 作为一门新兴的语言,Kotlin 是否会像 Swift 那样,每大升级一次,就像大家调侃的那样需要“重新学习”一门语言?

这个不用担心,这一点是 Kotlin 的研发团队一直致力避免的。Kotlin 发展这么多年来,还没有过类似的事情出现。并且如果是实验性特性,Kotlin 团队会告诉开发者,这个 API 未来可能改变,要谨慎使用,就像这次的协程。而据 Kotlin 的项目负责人说,Kotlin 之所以憋了那么久才出 1.0 正式版,就是为了保证 API 的向后兼容。

6. 结合您使用 Kotlin 的经历,对于 Kotlin 目前的情况(生态发展方面、应用情况、对 Kotlin 的支持等)和将来的发展有怎样的看法?

目前来看 Kotlin 业界的关注度提高非常迅速。过去你说 Kotlin ,对面都是一脸懵逼,现在你会听到别人在谈论 Kotlin 。Kotlin 因为与 Java 百分百兼容的关系,社区支持一直都不是什么问题,而现在学习资源也逐步的在增多。综合 Kotlin 的众多优秀特性来看,未来成为 Android 开发的主要语言只是时间问题。

至于很多人所担心的未来培训班培训 Android 开发越来越容易的问题,在我看来是不必担心的,Kotlin 如果真的要从零基础来学,特性众多而且语法灵活,未必比 Java 来的容易。Kotlin 将来未必能一统 JVM ,但是,在 Android 端,我认为是前途一片光明的。

7. 对于准备“入坑”使用 Kotlin 的开发者有什么建议?

我认为 Kotlin 转正是 Android 开发者的福音。建议其实没什么,Android 开发者转用 Kotlin 过渡是很平滑的。总之,生命苦短,我用 Kotlin 。

举报
王练
发帖于5个月前 42回/4K+阅
共有42个评论 最后回答: 1周前

Google在Android上扶正Kotlin.
Spring提供对Kotlin的支持.
Kotlin/Native通过LLVM编译成机器码.
Kotlin直接给Java来了个一枪爆头.
Java转Kotlin,不转不是中国人.

--- 共有 3 条评论 ---
tiantian_orz 回复 @if_ : 智商赶人 5个月前 回复
愚民日记智障 5个月前 回复
if_Java 和 Kotlin 都不是中国的啊,为嘛不转就不是中国人? 5个月前 回复

为什么这些语法糖C#早就有了,没有人提起呢?

--- 共有 9 条评论 ---
评论专用 回复 @eechen : 这次顶你,函数式特性怎么都轮不到C#装鼻祖,不否认CSharp好用,编译器也逆天,但是要说别的语言抄袭CSharp就太可笑了 5个月前 回复
eechen把函数当做变量可以赋值,可以传参,这种lambda表达式不是很常见的么?JS和PHP等等都支持,也没见人家要吹呀.CSharp最喜欢吹的语法糖不是LINQ表达式么?但人家Kotlin根本就不鸟这种不伦不类的写法. 5个月前 回复
Mwww因为这些人,选择性失明,避而不谈,哈哈 5个月前 回复
飞鸿眉敛没必要讲那么多理由,在他们看来微软就是原罪 5个月前 回复
谁来与我大战三百回合C#再顶尖,不能跨平台注定只能小众 5个月前 回复

引用来自“eechen”的评论

Google在Android上扶正Kotlin.
Spring提供对Kotlin的支持.
Kotlin/Native通过LLVM编译成机器码.
Kotlin直接给Java来了个一枪爆头.
Java转Kotlin,不转不是中国人.

哈哈哈

顶部