Kotlin 能取代 Java 吗?

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | Paresh Sagar

译者 | 安翔

责编 | 伍杏玲

出品 | CSDN(ID:CSDNNews)

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

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

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


640?wx_fmt=png

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 应用数量有限。


640?wx_fmt=png

Java


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

Java 相比 Kotlin 的优势

可移植性

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

庞大的社区

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

跨平台

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

丰富的资源

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

Java 的短板

运行速度缓慢

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

笨重

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


640?wx_fmt=png

Java 与 Kotlin 对比


Java

Kotlin

静态成员

字符串模板

非类的原始类型

单例

非私有域

空安全

通配符类型

扩展函数

检查异常

智能 Casts

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

原文

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

本文为 CSDN 翻译,如需转载,请注明来源出处。

【完】


640?wx_fmt=jpeg

 热 文 推 荐 

 吃亏的程序员,如何拿到 9 个月的年终奖?

 CTO职场解惑指南系列(二)春节篇

 人类再次彻底败给 AI!

☞ 不要在爬虫犯罪的边缘疯狂试探!

区块链,会越来越无聊!

女程序员:我负责赚钱养家,老公负责貌美如花

任正非:人工智能就是计算机和统计学

K8S的SDN容器网络解决方案【机制篇】

☞ 心疼!能为程序员男友做些什么吗?

 
  

print_r('点个赞吧!');
var_dump('点个赞吧!');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧! ");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!");
Response.Write("点个赞吧!");
alert("点个赞吧!")
echo "点个赞吧!"

640?wx_fmt=gif点击“阅读原文”,打开 CSDN App 阅读更贴心!

640?wx_fmt=png 喜欢就点击“好看”吧!

猜你喜欢

转载自blog.csdn.net/csdnnews/article/details/86662819