应该使用Kotlin进行Android开发吗

应该使用Kotlin进行Android开发吗,第1张

Kotlin的优势

因此,您可能需要考虑切换到设计为在JVM上运行的许多现代编程语言之一。尽管编译为Java字节码的语言不乏,但有一些因素使Kotlin脱颖而出:

与Java的互换性

Kotlin作为Java的潜在替代品的最大优势之一是Java和Kotlin之间的互 *** 作性水平 - 您甚至可以在同一个项目中并行存在Java和Kotlin代码,并且所有内容仍将完美编译。下面,您可以看到由Java Activity和Kotlin Activity组成的项目示例。

事实上,一旦你的混合的Kotlin和Java项目被编译,用户将无法知道您的项目的哪些部分是用Java编写的,哪些部分是用Kotlin编写的。

由于Kotlin和Java类可以并行存在于同一个项目中,所以您可以开始使用Kotlin,而无需像Kotlin一样将整个项目转换为Kotlin,或者专门开始一个新项目,以便您可以在Kotlin尝试您的手。

由于这种互 *** 作性水平,如果您有一个您已经开始工作的项目,您可以在该项目的一小部分中试用Kotlin,而不会影响其余的代码库。而且,如果您确定要继续使用Kotlin,则可以将项目现有的Java代码一次迁移到Kotlin一个文件,也可以将项目的旧Java代码保持原样,并且只能使用Kotlin来实现新的类和功能。

由于Kotlin可以与Java完全互 *** 作,您还可以使用Kotlin项目中的大多数Java库和框架,甚至依赖于注释处理的高级框架。

简单学习曲线

Kotlin旨在加强Java,而不是完全重写,所以您在Java职业生涯中获得和磨练的许多技能仍然适用于您的Kotlin项目。

Kotlin也被设计为Java开发人员有一个温和的学习曲线。 Java开发人员应该发现,Kotlin的大部分语法都很熟悉;例如,用于在Kotlin中创建一个新类的代码与Java非常相似:

1

class

MainActivity : AppCompatActivity() {

Kotlin也被设计为直观易读,所以即使你遇到一些截然不同的代码,你仍然可以得到这个代码的作用。

结合最好的功能和程序编程

目前有一些广泛使用的编程范例,但是当涉及到“哪种方法是最好的”的时候,没有简单的答案。每个编程范例都有自己的优点和缺点,因此尽管功能编程有优势的场景不乏,但程序方法更有效的问题也很多。

那么为什么要在功能和程序之间选择呢?像许多现代编程语言一样,Kotlin旨在通过结合程序和功能编程的概念和元素,为您带来最好的两个世界。

一流的Android Studio支持

Kotlin是由JetBrains开发的,该公司是Android Studio所基于的IntelliJ-IDE的公司。那么,Android Studio对Kotlin有很好的支持并不奇怪。一旦您安装了Kotlin插件,Android Studio就可以在您的项目中配置Kotlin,就像打开几个菜单一样简单。

一旦您为Android Studio设置了Kotlin插件,您的IDE将无需理解,编译和运行Kotlin代码。 Android Studio还为Kotlin提供调试,自动完成,代码导航,单元测试和完全重构支持。

一旦您的Android Studio项目配置为支持Kotlin,您甚至可以将整个Java源文件转换为Kotlin文件,只需点击几下鼠标。

更简洁的代码

如果比较产生相同结果的Java类和Kotlin类,则写入Kotlin的类通常比使用Java编写的一样简洁和紧凑。 而且每个开发者都知道,代码减少意味着更少的错误!

有什么收获?

没有编程语言是完美的,所以虽然Kotlin有很多提供Android开发人员,但您需要注意一些缺点:

额外的运行时大小

Kotlin标准库和运行时将增加您的apk的大小。虽然这只相当于大约800KB,如果您的应用程序已经在很大的一边,那么额外的800KB可能会提示它在边缘,并让用户在下载你的应用程序之前思考两次。

代码的初始可读性

虽然Kotlin的简洁语法是语言最大的优点之一,但是最初可能会发现一些Kotlin很难解读,因为在这么少的代码中有很多事情要做。 Java可能更冗长,但是上面的一切都是明确的,这意味着不熟悉的Java代码比不熟悉的Kotlin更容易破译。

另外,如果使用不当,Kotlin的 *** 作员重载会导致难以阅读的代码。

缺乏官方支持

Kotlin可能在Android Studio中有很好的支持,但值得一提的是,Kotlin没有得到Google的正式认可。

此外,与纯Java项目相比,当您使用Kotlin时,Android Studio的自动完成和编译往往运行速度稍慢。

更小的社区和更少的可用帮助

由于Kotlin是一种相对较新的语言,所以Kotlin社区仍然相对较小,特别是与围绕更为成熟的Java语言的社区相比。如果您切换到Kotlin,那么您可能无法访问相同数量的教程,博客文章和用户文档,并且可能会在论坛和堆栈溢出等场合遇到较少的社区支持。在撰写本文时,在Stack Overflow上搜索Kotlin只返回标签为Kotlin的4,600个帖子,而包含Java标签的高达1,000,000个帖子。

registerActivityLifecycleCallbacks是Application的一个接口,注册之后应用里的所有activity的生命周期都会被监控起来,我们可以在

此接口方法里实现一些特殊的需求。比如统计用户对每个Activity使用情况,我们可以定义一个BaseActivity,在onStart()和onStop()人工插入统计方法。比如从桌面进应用的时候,检测某些状态,就可以在onActivityResumed方法里检测。

使用方法:在Application 的onCreate方法中使用registerActivityLifecycleCallbacks(callback)注册你的CallBack,如下:

registerActivityLifecycleCallbacks(object:ActivityLifecycleCallbacks{

overridefunonActivityPaused(p0: Activity) {

}

overridefunonActivityResumed(p0: Activity) {

}

overridefunonActivityStarted(p0: Activity) {

}

overridefunonActivityDestroyed(p0: Activity) {

}

overridefunonActivitySaveInstanceState(p0: Activity, p1: Bundle) {

}

overridefunonActivityStopped(p0: Activity) {

}

overridefunonActivityCreated(p0: Activity, p1: Bundle) {

}

})

官方文档:

>

以上就是关于应该使用Kotlin进行Android开发吗全部的内容,包括:应该使用Kotlin进行Android开发吗、registerActivityLifecycleCallbacks 的用途(kotlin)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9865114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存