博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Kotlin来开发Android,这些优缺点要考虑
阅读量:6616 次
发布时间:2019-06-25

本文共 1581 字,大约阅读时间需要 5 分钟。

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 带来实际的结果,但也不会对其造成任何伤害。

作者:佚名

来源:51CTO

转载地址:http://tvrso.baihongyu.com/

你可能感兴趣的文章
分析下为什么spring 整合mybatis后为啥用不上session缓存
查看>>
BAMEasyTable
查看>>
android activity 六个主要函数以及一些调用顺序
查看>>
【干货】在docker中安装配置Greenplum集群的过程
查看>>
政府和社会资合作(ppp)概述
查看>>
p6spy介绍
查看>>
记一次mysql中浮点类型字段引起的问题
查看>>
笔记本电脑同时连接无线网络(互联网)和有线网络(内网)的方法
查看>>
eclipse离线插件
查看>>
BOM导致的Build failed in Jenkins with error MSB4025
查看>>
渣打迷你编程马拉松(Mini Code Marathon)小记
查看>>
mac 下添加mysql开机启动
查看>>
末日生存者的信条
查看>>
jquery mobile 定时器代码
查看>>
牛人整理的Django资源大全(转载)
查看>>
Android4.0 WiFi 源码解读
查看>>
反序列化坑
查看>>
dubbo源码解读系列之一dubbo项目组成
查看>>
linux中seq命令用法
查看>>
arnold resouces
查看>>