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

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

时间: 2024-11-09 00:11:02

使用Kotlin来开发Android,这些优缺点要考虑的相关文章

[Android]使用Kotlin+Anko开发Android(一)

以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4800656.html    Kotlin是由JetBrains开发并且开源的静态类型JVM语言.比Java语言语法简洁,支持很多Java中不支持的语法特性,如高阶函数.內联函数.null安全.灵活扩展.操作符重载等等.而且它还完全兼容Java,与Scala类似,但是Scala的宗旨是"尽可能自己实现,不得已才使用Java",而Kotlin却相反:&q

用Kotlin优雅地开发Android应用

写在前面 在之前的一篇文章,我们简单的知道了Kotlin这门新语言的优势,也接触了一些常见的语法及其简单的使用,相信你会对它有浓厚的兴趣,暂且理解为对它感兴趣吧,哈哈哈.那么,我们该如何在Android中应用这门新的语言呢?今天的这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切的感受到他的美和优雅. 配置 项目gradle文件 apply plugin: 'com.android.application'    apply plugin:'kotl

[Android]使用Kotlin开发Android(二)

以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4829007.html [TOC] 使用Kotlin+OkHttp+RxJava进行网络请求 代码:https://github.com/wangjiegulu/KotlinAndroidSample 1. 需要 对Kotlin语法有基本的掌握 对OkHttp有基本的了解 对RxJava / RxAndroid有基本的了解 2. Kotlin搭建环境 见之前的文

使用Kotlin&Anko, 扔掉XML开发Android应用

尝鲜使用Kotlin写了一段时间Android.说大幅度的减少了Java代码一点不夸张.用Java的时候动不动就new一个OnClickListener()匿名类,动不动就类型转换的地方都可以省下很多.更不用说特殊的地方使用data class更是少些不知道多少代码. Jetbrains给Android带来的不仅是Kotlin,还有Anko.从Anko的官方说明来看这是一个雄心勃勃的要代替XML写Layout的新的开发方式.Anko最重要的一点是引入了DSL(Domain Specific La

使用Kotlin开发Android应用的初体验

昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之前,很多同学一定有很多疑问,Kotlin到底有啥好处,怎么和现有的项目共存呢?Java那么些特性Kotlin都有吗?嗯,让我们一一来看. Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制: 兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以

使用Kotlin开发Android应用教程

使用Kotlin开发Android应用 1.Kotlin介绍 [Kotlin](https://kotlinlang.org/) Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者.Java是世界上使用最多的编程语言之一,当其他编程语言为更加便于开发者使用而不断进化时,Java并没有像预期那样及时跟进. Java缺失的很多特性在最新的修订版中逐渐覆盖到了,但Android开发者暂时还没能够使用它们.这就使得类似Kotlin这样的语言有了用武之地了:

使用Groovy开发Android应用

作者:snowdream Email:yanghui1986527#gmail.com QQ 群: 529327615原文地址:https://snowdream.github.io/blog/2016/08/12/android-develop-with-groovy/ 目标 本文旨在引导开发者使用Groovy来开发Android应用. 简介 名词解释 Groovy Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python.Ruby和Smalltalk的许多强大的特性

移动开发-Android与iOS原生态开发与HTML5的区别

问题描述 Android与iOS原生态开发与HTML5的区别 现在想要开发个移动端的项目,有新闻,论坛和一些数据查询功能.请问用那种开发方式比较好.谢谢! 解决方案 原生的效率高,适合开发游戏等高负载的程序 原生的权限大,可以访问传感器.文件.通讯簿等等 html5的不需要安装,用户容易接受 html5的跨平台,开发简单 解决方案二: ios开发HTML5IOS ,Android + html5用HTML5开发Android笔记(下篇) 解决方案三: _其实如果您的需求功能什么不复杂的话,可以用

android开发-开发android的问题,我想实现隐藏标题的栏的功能,但是会出错

问题描述 开发android的问题,我想实现隐藏标题的栏的功能,但是会出错 我想实现隐藏标题的功能,其中一个方法是修改android:theme,但是我一修改android:theme就会出错,保留android:theme="@style/AppTheme"就不会出错. 改成这样android:theme="@android:style/Theme.NoTitleBar.Fullscreen",运行的时候就会出错;这是什么原因? 然后我使用第二个办法,添加requ