使用 Kotlin 来开发 Android ,这些优缺点要考虑 - 开源中国社区
使用 Kotlin 来开发 Android ,这些优缺点要考虑
王练 2017年08月16日

使用 Kotlin 来开发 Android ,这些优缺点要考虑

王练 王练 发布于2017年08月16日 收藏 8

有免费的MySQL,为什么还要买? >>>  

Kotlin 语言说来也不是很新:是在 2011 年推出的,但火起来大家都知道是因为前几个月谷歌在 I / O 2017 上宣布它成为 Android 官方支持开发语言。自此之后,现在,Kotlin 开始出现在各个语言榜单之上,而且由于 JetBrains 和 Google 的企业支持基础,正迅速得到应用。

据 Kotlin 官方网站的信息,包括 Atlassian、Pivotal 、Uber、Pinterest、Evernote 等知名技术公司正在积极地将 Kotlin 用于 Android 应用开发。

如果你也正在考虑加入 Kotlin 的阵容,请确保已了解该技术的好处以及可能存在的陷阱。这里有一些关于 Kotlin 编程语言的见解,可供参考。

与已经发布 22 年的 Java 相比,Kotlin 有一些明显的改进:

提高团队的生产力

基于 Java 的 Kotlin 消除了其前身的过时和繁琐。语言紧凑、清晰、高效,语法简洁直观。因此,Kotlin 可以显着提高团队效率:编写和部署新代码所需的时间较少。这也有助于提高代码可维护性。

据 Keepsafe 的 Android 开发人员 A. J. Alt 所表示,将 “App Lock” 应用从 Java 转换为 Kotlin ,总代码量减少了 30% 。

与现有代码兼容

Kotlin 的优点之一是其 100% 的 Java 互操作性。该语言适用于 Java 本身,及所有相关工具和框架,提供了丰富的生态系统。这也使得可以选择逐渐迁移到 Kotlin ,或者在同一个项目中同时使用这两种语言。

可维护性

由 JetBrains 构建并支持,Kotlin 为许多 IDE(包括 Android Studio)提供了良好的支持。

更少的错误

通过更紧凑和更清晰的代码库,Kotlin 允许在生产中减少错误,生成更稳定的代码。编译器在编译时检测所有可能的错误,而不是运行时。这使得 Kotlin 成为比 Java 更安全的替代品。

可靠

不同于 Swift ,Kotlin 是一种更成熟的语言。在 2011 年推出后,在最终的 1.0 版本发布之前,经历了多个 Alfa 和 Beta 阶段。最新版本也与以前的版本反向兼容。

然而,在生产过程中使用 Kotlin 之前,仍需要考虑几个“陷阱”

  • Kotlin 虽然非常接近 Java ,但在许多方面依然不同。因此,想要切换语言的开发者仍然面临着一定的学习曲线。因此,如果你决定将 Android 开发团队迁移到 Kotlin ,则需要对培训和时间进行额外的投资。

  • 一些使用过 Kotlin 的开发者反映编译速度较慢,这是 Kotlin 的主要缺点之一。不过,在不同的测试环境下结果有所不同:在某些情况下,Kotlin 以编译速度击败 Java ,但有时它又比 Java 慢得多。

  • 虽然 Kotlin 正在迅速成长为 Android 开发的首要语言,但目前仍然只有一个小型的开发者社区。这意味着用于学习该语言的资源有限,并且找出在应用开发过程中可能出现的问题的答案会比较困难。例如,在 StackOverflow 上搜索 Kotlin 仅有 3600 个左右的帖子,而 Java 有超过 1,000,000 个。

  • 由于 Kotlin 对大多数开发者来说仍然比较新,可能很难找到有经验的专业人士。

Kotlin VS Java:是时候切换语言了吗?

正如前面所说,这个问题很难回答。虽然 Kotlin 在某些方面显然优于 Java ,但仍远未完美。 如果你想尝试 Kotlin ,建议雇用一个专门的开发者,或让你的部分团队成员去尝试这种语言。即使它不会对你的应用的性能或其 UI 带来实际的结果,但也不会对其造成任何伤害。

编译自:Dzone

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:使用 Kotlin 来开发 Android ,这些优缺点要考虑
分享
评论(20)
精彩评论
7
缺点呢?我相信Kotlin是很优秀,但是不至于完美到一点缺点都没有,这波吹得有点过了。:confused:
7
罗列的“陷阱”是任何成长期中的语言普遍存在的,但这并不妨碍它们逐渐成为伟大的语言
5
学习曲线?一个周末足够掌握了。编译比JAVA慢?那个bug已经解决了。资料少?大部分JAVA资料同样适用于kotlin。招不到资深?每一个资深JAVA,花一个周末就可以成为资深kotlin。

kotlin开发和JAVA开发,95%以上的经验和知识是完全一样的,可以互换。
2
:joy: Kotlin实际上还是要转换成java再执行的。。。然而java每年都在更新。。。这就很有趣了。。
2
是真的慢,工程师天天抱怨。
最新评论
0

引用来自“chiangyo”的评论

:joy: Kotlin实际上还是要转换成java再执行的。。。然而java每年都在更新。。。这就很有趣了。。
转换成JVM字节码,而不是转换成java。你这么说JVM上那么多语言都是没用的了。
0
缺点呢???????????????????????????????????????????????????????????????????
0

引用来自“chiangyo”的评论

:joy: Kotlin实际上还是要转换成java再执行的。。。然而java每年都在更新。。。这就很有趣了。。
想多了吧,不是编译成java运行,而是跑在jvm上
2
:joy: Kotlin实际上还是要转换成java再执行的。。。然而java每年都在更新。。。这就很有趣了。。
0

引用来自“傅易”的评论

是真的慢,工程师天天抱怨。
scala:呵呵
0
至少这篇文章里的“陷阱”不应该称之为陷阱,kotlin现在缺生态呀,聚人气最重要
0
scala 开发安卓试试?
0
低端已经饱和了,没人要
0
标题党啊
0
@orpherus 不那么资深的不管了?
0
这语言真心不错
2
是真的慢,工程师天天抱怨。
2
每一种语言出来都会被吹一段时间,谁能活下来,还需要时间
0
"经历了多个 Alfa 和 Beta 阶段" <- "Alpha"
5
学习曲线?一个周末足够掌握了。编译比JAVA慢?那个bug已经解决了。资料少?大部分JAVA资料同样适用于kotlin。招不到资深?每一个资深JAVA,花一个周末就可以成为资深kotlin。

kotlin开发和JAVA开发,95%以上的经验和知识是完全一样的,可以互换。
0
完全是标题党-
7
缺点呢?我相信Kotlin是很优秀,但是不至于完美到一点缺点都没有,这波吹得有点过了。:confused:
0
代码量能减少30%就是提高了开发效率
7
罗列的“陷阱”是任何成长期中的语言普遍存在的,但这并不妨碍它们逐渐成为伟大的语言
0
不考虑不考虑,横竖Kotlin都比Java在Android开发上要好。
顶部