百科问答小站 logo
百科问答小站 font logo



Kotlin 作为 Android 开发语言相比传统 Java 有什么优势? 第1页

  

user avatar   pansz 网友的相关建议: 
      

其实,由于 google 基因中存在某种「浅尝辄止,见到不好就收」的特性,所以在当初,谁也不知道会如何,也无法预料该如何。

不过现在,大概情况已经清晰了,Kotlin 在 Android 平台被扶正,将作为Android开发第一语言。

一种语言,是与其提供的编程框架,运行库,高度绑定的。Google大力发展基于kotlin的androidx库,jetpack库,compose库,很多新特性其实都是为kotlin优化的,可以说,如果不跟进kotlin,将很难跟进今后android开发领域标准库的发展步伐。

那么使用Kotlin相比Java有什么好处呢?

首先,是将语言特性的发展与jvm虚拟机脱钩

java语言设计得太早,一部分近年来兴起的新特性不那么容易加上,虽然java也在不断迭代,但java的迭代是与java虚拟机绑定的,要想使用新版本的java语言,就必须升级到新版本的java虚拟机。而java虚拟机的升级对很多项目来说都比较困难。

Kotlin基于jvm,但不依赖高版本jvm,在工业界依然还是jvm1.8天下的情况下,升级jvm某种程度上是奢望。而kotlin可以在保持jvm1.8前提下不断迭代新的语言特性,跟进现代的编程语言发展之步伐。

其次,是新语言可以避免背上历史包袱。kotlin语言的应用范围并不广泛。但正因为它的应用范围不广泛,所以kotlin语言的发展不会有过多的历史包袱,我们知道Java跟C++增加任何特性都需要考虑与旧版本的兼容性。而他们已经存在了二三十年,需要兼容的特性越来越多,历史包袱越来越多就会导致进步越来越困难。

反观苹果的Swift就可以不断迭代12345很多个版本,因为没有历史包袱。kotlin目前也来到了第5个大的修订版本,这个走的路线基本是跟swift类似的。

最后,是kotlin提供了一些新的库,比如kotlin协程,比如给现存具体类直接外挂新成员函数的机制,这些都是java不具备的,考虑到android的一些新编程框架大多在kotlin下有更好的表现。在有条件的情况下完全可以开始考虑将新的开发任务切换到kotlin了。


user avatar   wei-wei-dao-lai-52 网友的相关建议: 
      

之前回答过相关问题(如何评价摩拜单车获得超六亿美元的e轮融资,共享单车未来在谁手中,是否胜负已定? - 知乎),针对摩拜完成E轮融资做了如下猜测,其中OFO马上完成新一轮以及国际化等地域拓展的部分,和OFO今天放出的信息基本一致。不过,竞争还很残酷,发言中提到的盈利部分可信度堪忧。这个阶段,那么多投资人完成了各类共享单车的投资项目,不要考虑盈利,还会先考虑如何整合上规模吧。


…更多文章请到数据冰山 - 知乎专栏

…更多回答请看何明科




  

相关话题

  win7笔记本,外接扩展显示器,如何在不缩小外接显示器像素的同时去除外接显示器的桌面背景黑边? 
  为什么鸿蒙可以不显示powered by android ? 
  大龄门外汉如何进入软件开发行业? 
  为什么 Google Play 提示「小米视频」是有害应用并建议卸载? 
  如果当时 Sun 没有起诉微软,而微软继续保持对 Java 的热情的话,Java 的现状会是怎样? 
  江湖上流传着哪些关于R大RednaxelaFX的黑暗传说? 
  面向对象编程中, 接口既然不能直接描述方法, 要他有何用? 
  Android手机图形解锁错误5次后会冻结30秒,这样设计的原理和作用是什么? 
  一个Java的对象大小等于序列化的大小吗? 
  两年嵌入式C语言编程经验,如果有机会做和 Android 相关的 C++、JAVA,还有 Javascript 脚本开发工作,转过去好吗? 

前一个讨论
中国发现地球近十万年来最大规模「陨石撞击坑」,该成果有哪些科研意义?
下一个讨论
为什么团建之后离职的人变得更多了?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利