Kotlin 能取代 Java 吗?

640?wx_fmt=jpeg

作者 | Paresh Sagar

译者 | 安翔

责编 | 伍杏玲

出品 | CSDN(ID:CSDNNews)

当谈到 Android 应用程序开发时,哪种编程语言会首先出现在你的脑海呢?我猜你会立即想到 Java,毕竟大多数的 Android 应用程序都是用 Java开发的。

但自从在两年前的谷歌 I/O 大会推出 Kotlin 以来,如今的 Kotlin 也在 Android 应用程序开发领域中占据一席之地。

Kotlin 是什么呢?它的前景到底如何呢?


Kotlin


Kotlin 是静态类型的开源编程语言,可以有效地运行在 Java虚拟机(JVM)上。Kotlin 由 JetBrains 开发,并得到谷歌的强力支持。

在最近的 Jexenter 调查中,Kotlin 在最热门的技术发展趋势榜单上高居第六位。App brain 最新的统计数据显示,Kotlin 语言在 2018 年的顶级应用程序中占据了25.30%的市场份额,占新应用程序安装量的40.76%。 如今Pivotal、Atlassian、Pinterest、Evernote 和 Uber 等商业巨头都在使用 Kotlin进行 Android 应用程序开发。

Kotlin 的优点

效率极高

Kotlin 语法简洁直观,编写和部署程序所需的代码量更少,时间也更短,大大提高了开发团队的开发效率。因此,开发者可以快速开发出 Android 应用。

能够调用 Java 代码

该功能不仅让开发者受益,对于拥有大量 Java 代码库的公司来说也是利好。

易于维护

Kotlin 得到多种 IDE 的有力支撑,比如 Android studio 等,这方便了开发者对代码的维护。

可靠

最新版的 Kotlin 兼容之前所有老版本,这解决了 Android 开发人员最大的痛点:需要处理多个版本。

简单易学

由于它不需要依赖太多移动应用程序开发的背景知识,开发者可以更轻松地上手学习 Kotlin。

Android Studio 支持

Android Studio 提供多种扩展工具的有力支持,开发人员可以同时使用这两种语言。

Kotlin 的缺点

编译速度缓慢

很多开发者都提到 Kotlin 代码编译速度的飘忽不定,有时候它编译得很快,有时候又很慢。

社区支持力度有限

Kotlin 开发者社区规模比较小,因此其提供的学习资源有限,开发者将面临很多疑问无法解答的局面。

开发人员稀缺

Kotlin 的开发人员数量比较少,因此用 Kotlin 开发的热门 Android 应用数量有限。


Java


Java 被认为是开发应用程序最好的编程语言之一,2018年12月的 TIOBE 指数显示 Java 在编程语言排行榜中高居第一。

Java 相比 Kotlin 的优势

可移植性

Java 几乎可以在任何系统上运行,因此Java 编写出大部分 Android 应用程序。

庞大的社区

借助 GitHub 和 Stack Overflow 等大型技术社区,开发人员差不多可以从中获得所有关于 Java 代码问题的解决方案。

跨平台

Java 不仅限于 Android 应用程序开发,也支持跨平台应用程序开发。

丰富的资源

Android 开发者可以借助 Java 丰富的库和 SDK 来提升自己的开发效率。

Java 的短板

运行速度缓慢

与其他语言相比,Java 运行需要更多的内存和速度要慢得多。

笨重

和其他语言相比,如果要实现相同的功能,Java 所需的代码量更多。这不仅耗费更多的开发时间,也更容易出现Bug。


Java 与 Kotlin 对比


Java

Kotlin

静态成员

字符串模板

非类的原始类型

单例

非私有域

空安全

通配符类型

扩展函数

检查异常

智能 Casts

毫无疑问,Java 仍然是 Android 编程的王者,但作为开发人员,你也需要了解最新的技术。

原文

https://dzone.com/articles/java-vs-kotlin-which-one-will-be-the-best-in-2019

本文为 CSDN 翻译,如需转载,请联系CSDN。

-END-

纯洁的微笑

一个有故事的程序员


640?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值