【开源访谈】美团点评刘自鹏:生命苦短,我用 Kotlin

王练 发布于 2017/06/26 16:41
阅读 5K+
收藏 20

这段时间,对于 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 。

加载中
1
cc_z
cc_z
人生苦短,我不写代码
1
Stop_Game
Stop_Game
material design也才出来刚刚好2年,就成了material design实践多年,我也是醉啦,这把人夸的,完全是虚的!
0
冰力
冰力
kotlin 的本来要踩的坑是 swift 踩过了?
金旭
酸葡萄话就不要说了嘛
南湖船老大
南湖船老大
先有kotlin,后有swift的
0
eechen
eechen

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

论韭菜的100种吃法
论韭菜的100种吃法
回复 @if_ : 智商赶人
愚民日记
愚民日记
智障
一枚假程序猿
一枚假程序猿
Java 和 Kotlin 都不是中国的啊,为嘛不转就不是中国人?
0
_Elvis
_Elvis

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

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

疯了,到底学那个啊?scala咋整?

0
CrazyPeter
CrazyPeter

Java就是语法糖少,有了kotlin让人耳目一新。像C++就是升级过剩的典型,语法糖太多。

0
MrD
MrD

人生苦短,我用PHP

0
OSC首席酱油党
OSC首席酱油党

人生苦短,我用Python

返回顶部
顶部