> 首页 > 科技 > 互联网 > Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用

Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用

来源:本站 作者:佚名 时间:03-29 手机版

10 月 29 日消息,Facebook 的母公司 meta 透露其开发 Android 应用使用的语言从 Java 迁移到了 Kotlin,这是一种更年轻的编程语言,也依赖于 Java 虚拟机(JVM)。

Kotlin 由软件工具制造商 JetBrains 创建,于 2011 年首次亮相,2016 年推出了 1.0 版本。次年,Kotlin 被谷歌采纳为安卓开发的第一类(支持)语言,并被置于自己的基金会管理之下,由 JetBrains 和谷歌资助。

在这之前,大多数安卓应用都是用 Java 编写的。2019 年 5 月,在其开发者大会上,谷歌开始鼓励安卓开发者青睐 Kotlin 而不是 Java。当年年底,谷歌表示,在排名前 1000 位的安卓应用中,有 60% 包含 Kotlin 代码。

IT之家了解到,谷歌推荐使用 Kotlin 的理由是,它更简洁、更安全,支持结构化并发,使异步代码更容易,并且可以与 Java 互操作。不过这可能也与 Java 管理人甲骨文有关,甲骨文曾花十多年时间就 Android 中使用的 Java API 向谷歌提出侵权索赔(最终失败)。

meta 似乎也对 Kotlin 感兴趣,Facebook 软件工程师 Omer Strulovich 称,他们已经在用 Kotlin 替换其几个流行的 Android 应用中的 Java 代码,这些应用包括 Facebook、Instagram、Messenger、Portal 和 Quest。

Strulovich 说:“Kotlin 被普遍认为是一种比 Java 更好的语言,在每年的 Stack Overflow 开发者调查中,Kotlin 的好评率高于 Java,”他指出,Kotlin 已经成为 Android 开发的流行语言,“因此,我们将 meta 的 Android 开发转向 Kotlin 是合理的。”

但是,除了在安卓生态系统中的受欢迎程度,Strulovich 承认,在更广泛的市场中,其流行度仍然远逊于 Java,Java 是世界第二大或第三大流行的语言。

Kotlin 相对于 Java 的优势包括:内置为空性(nullability)处理,支持内联函数和 lambda 表达式,代码更短,能定义 DSL(Domain-specific language)。缺点是需要在很长时间内面对混合代码库,更难维护,而且 Kotlin 存在的时间比 Java 短,拥有一套不太成熟的工具。

Strulovich 说:“今天,我们的 Facebook、Messenger 和 Instagram 的安卓应用都有超过 100 万行的 Kotlin 代码,而且转换率还在增加。我们的安卓代码库总共有超过 1000 万行的 Kotlin 代码。”

Strulovich 没有说 meta 是什么时候开始这种转变的,也没有说其 Android 应用代码的转换比例是多少。

Strulovich 还称:“平均而言,我们已经看到这次迁移的代码行数减少了 11%。并且没有出现性能倒退,所以至少转换后的应用程序保持了它们原有的性能。”

Strulovich 说,meta 的迁移正在进行,并在加速,但他同时表示:“Kotlin 仍然缺乏一些我们在与 Java 合作中已经习惯的工具和优化。但我们正在努力缩小这些差距。随着我们取得的进展和这些工具和库的成熟,我们也将努力把它们放回给社区。”

kotlin和java区别是什么?

kotlin能够用更短的代码实现更多的功能,这是java无法比拟的。kotlin特有的扩展属性,不再需要java工具类,对开发更加友好。

java中的bean类总是需要使用插件生成settergetter方法。

开放源码

TheIntelliJKotlin插件扩展了Java编译器使得Kotlin代码能够得以编写、编译和调试。除此之外,关于基本的Java集合,已经有编写好的帮助函数,可以更顺畅地衔接将在Java8中出现的集合扩展。有两篇文章对Kotlin与Java以及Kotlin与Scala分别进行了比较,对各自特性和异同进行了对比。

其基础编译器可以被独立出来并嵌入到Maven、Ant或Gradle工具链中。这使得在IDE中开发的代码能够利用已有的机制来构建,从而尽可能地减少了在新环境中使用所受的干预,哪怕与那些没有安装Kotlin插件的开发人员一起合作项目也没有问题。

即便Scala可能还是更为强大些,Kotlin还是尝试着提供比Java更好的函数、模式匹配、空指针预防和泛型。

Kotlin会替代java吗?

下面来讲一下Kotlin和Java相比的优势是什么?

更简洁:这是它重要的优点之一,可以比Java编写少得多的代码。

更安全:Kotlin是空安全的,它在编译期间就会处理各种为null的情况,无需像java一样添加很多的判空代码,节约很多调试空

指针异常的时间,很大程度上避免出现NullPointException。

易扩展:扩展函数意味着我们不仅可以扩展我们原有写好的类,还可以扩展系统级的类,非常灵活,另外如果在类里编写扩展函数,那么只对当前类生效。

函数式:Kotlin使用了很多函数式编程的概念,比如用到了lambda表达式来更方便地解决问题。

Kotlin Android Extensions:再也不用编写烦人的findViewById()了,如果你集成了ButterKnife,是时候删除对它的依赖了,

Kotlin支持了对于View以id形式访问。

不用写分号,就像你看到的上述代码一样,对于很多写过脚本语言的童鞋来说,不要写分号这一点真是节省了很多时间,对于一

天写几百行几千行甚至上万行代码的童鞋们来说,相当于省了多少个分号.

到这里有的同学想要说了,你说的这些好处确实不错,但是我之前的项目全是用java语言来写的,难不成让我推倒重来过?别急

,最后我要说的一个最大的优势就是

与Java语言可混合编程,也就是说我们可以继续使用原来所有用Java写的代码和库,因为两个语言之间高度互操作,想尝试的童

鞋们建议可以从新的小功能小模块入手,对这些模块使用Kotlin代码进行编写,原有的稳定模块之后再逐步重构。

对初学者友好,kotlin对java语言转用kotlin提供了很多便利,对于初学者来说免去很多不必要的烦恼。最贴心的是Kotlin插件

支持一键由Java转Kotlin,为你之后想要重构提供了很大的便利性。希望能帮到你,优“”就“”业“”野“”鸡“”希望你能明白

Android 开发有哪些新技术出现

1、开发工具

Android Studio: Google 官方放弃 Eclipse 和 Android Studio 普及。AS 虽然不算新,但是对 Android Studio 这个软件的更新速度快的惊人,有大量的新功能发布。例如支持很多注解代码提示注解、Live code template、支持自动生成 Parcelable 实现等等,作为开发者,持续关注这个更新列表 Recent Changes,一定会让写代码的生活更加美好。

2、编程“语言”

Kotlin:作为 Android 领域的 Swift,绝对如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。在 Android 开发上,使用 Kotlin 并不会付出什么代价,为什么不来试试使用Kotlin进行Android开发。

React Nativ: 跨平台一直是程序员的梦想,而且移动应用的跨平台解决方案也很多,因为 Facebook 的参与和力推,让这个解决方案带上了光环。第一个用 React Native 开发的 App 已经在 Google Play 上架 Facebook 广告管理工具,听说 Android 的 SDK 也马上会到来,React Native。

Sky:与 React Native 类似,使用 Web 开发语言来做移动平台的开发,虽然这个只是一个尝试,但是这是 Google 自身推出的,特别是在 Java 语言的使用上败诉之后,这可能会有一些作为呢,domokit/sky_sdk。

3、开发模式

Dagger 2:依赖注入并不是什么新技术,但是使用在 Android 确实一个新的尝试。Android App 越来越被当成严肃的大型项目来构建,很多在以前大型服务器开发上使用的技术都被应用到了移动开发。Android 开发分模块开发,使用 Dagger 来松耦合模块。特别值得一体的是,Dagger 2 现在由 Google 亲自接管。 Dagger ‡ A fast dependency injector for Android and Java。

MVP:因为 Android 并没有严格的业务和界面区分,项目一复杂,就很容易使代码陷入混乱。现在 Android 开发社区对 MVP 模式讨论越来越热,觉得 MVP 是非常适合 Android APP 开发。MVP for Android: how to organize the presentation layer。

RxAndroid:函数响应式编程(Functional Reactive Programming)也不是新内容,RxAndroid 把 RxJava 带到 Android 环境中。很多时候,编写 Android 程序,也可以看成是数据的处理和流动,换一种思想编程,曾经看起来很棘手的问题,瞬间就很优雅的解决了:ReactiveX/RxAndroid。

MVVM:这是因为开始官方支持 DataBinding,把 MVVM 直接带到 Android 中。数据绑定在 Windows WPF 和 Web 已经非常常见,它非常高效的开发效率,只关心数据和业务。这也对 Android 开发来说,无疑是一个非常重大的影响:android UI设计MVVM设计模式讨论?。

插件化:针对大型 Android 项目,很多 App 开始使用插件来分模块构建相对独立的功能。

Hybrid:完全使用 HTML 5 开发 App,目前还不成熟。但是折中方案在很多情况下是非常适合的,典型的就是微信,大部分信息展示都是通过 H5 来完成,同时通过 Hybird 方式,把 Web 和 Native 打通,提供给网页访问本地资源的能力。

4、UI设计

Material Design:已经红遍了大江南北,这方面的讨论实在太多了,而且各种支持库都有了,特别是 Google 官方出了一个支持库 Android Design Support Library。

Sketch 3:这是一个专为设计移动端 UI 的设计工具,作为开发者,不用懂那么复杂的 PS 使用,也可以做非常专业设计。

相关推荐:

Win7系统安装程序被360安全卫士阻止了怎么办?

Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用

Win7谷歌浏览器打开图片提示“此网页包含重定向循环”怎么办?

小米服务门店“361 服务”上线:360° 闭环服务加 1° 温度

Win7重装系统分区怎么设置?重装Win7系统重新分区的方法

百度网盘UOS版重磅更新 10大功能升级 下载更方便了

Win7系统电脑共享文件时提示输入网络密码怎么解决?

谷歌满意Tensor G2芯片表现:称AI功能比跑分更重要

标签: [db:标签]

声明:《Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用》一文由排行榜大全(佚名 )网友供稿,版权归原作者本人所有,转载请注明出处。如果您对文章有异议,可在反馈入口提交处理!

最近更新

  • 如何做一名合格的中学生

    1、认真学习。对于中学生来说,学习是非常重要的事情,这是自己人生道路上最开始的知识积累,因此要将学习放在第一位,这样才能让自己学得更多学得...

    百科 日期:2023-03-29

  • Win7系统安装程序被360安全卫士阻止了怎么办?

    大家都知道360安全卫士是一款杀毒软件,它的作用是清理系统的病毒和电脑的垃圾,保护电脑的安全,可是有Win7用户反映说自己在安装程序的时候被360...

    互联网 日期:2023-03-29

  • 冬季拱棚如何加强保温

    1、拱棚两侧设置无纺布。拱棚两侧和外界接触面积大,热量散发快,一般而言,拱棚两侧是最易发生冷害的位置,所以菜农可以在拱棚;两侧覆盖无纺布、草...

    百科 日期:2023-03-29

  • Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用

    10 月 29 日消息,Facebook 的母公司 meta 透露其开发 Android 应用使用的语言从 Java 迁移到了 Kotlin,这是一种更年轻的编程语言,也依赖于 Jav...

    互联网 日期:2023-03-29

  • 闽南歌为什么会没落

    主要原因有以下三个:1、闽南语文化流失严重:过去很长一段时间内,很多地区禁止讲闽南话,且厦门地区的闽南语文化的确流失严重。2、新元素的介入:随...

    百科 日期:2023-03-29

  • Win7谷歌浏览器打开图片提示“此网页包含重定向循环”怎么办?

    最近有Win7用户反映,为保证谷歌的顺畅访问,在chrome://net-internals/#hsts中,将www.google.com或www.google.com.hk强制通过https打开,但却导致...

    互联网 日期:2023-03-29

  • 如何做一名合格的值长

    1、带头学习技能,包括其他专业知识,拥有精湛的技术,要求自己坚持不懈的进行学习,只有这样才能起到带头模范作用。2、工作要有计划,有组织协调能力...

    百科 日期:2023-03-29

  • 农作物肥害怎么处理

    1、合理施肥。导致农作物发生肥害的最主要原因就是因为施肥不合理所导致的。我们在施肥的时候,要根据不同农作物的需肥规律以及土壤供肥特点...

    百科 日期:2023-03-29

邮箱不能为空
留下您的宝贵意见