Scala:未受重视却潜力巨大的Android编程语言

译文
新闻 Android
静态类型Java语言以JRuby及Groovy的后备队的身份,在移动Android应用程序开发领域整装待发。但是被称为下一代Java的JVM语言Scala却未受Android开发者重视。

【8月31日 51CTO外电头条】Scala,这款运行于Java虚拟机之上的静态类型语言,正逐渐成为谷歌Android应用程序开发领域的新选择。

Scala:未受重视却潜力巨大的Android编程语言

尽管开发人员对Java及C++语言在Android上的使用已经非常熟悉,但他们仍然可以选择采用其它JVM语言,因为Android一直在大力推动Java兼容虚拟机Dalvik,开发人员Mike Burns推断道。他工作于一家名为Thoughtbot的网页及移动应用程序开发公司。“Scala如今也具备了正在蓬勃发展的[开发人员]社区,”他如是说。

举例来说,来自波士顿Android开发组的成员们已经开始利用Scala进行Android开发,Burns说道,他正是该工作组的负责人:“Scala能够让大家更快地完成编码及分享的工作,尤其是与采用Java进行开发的过程相比。”Burns即将出席今年10月于旧金山举行的Android开放式会议,会上将讨论关于Scala替代Java的各项细节。

Scala的创造者Martin Odersky进一步证实了Burns的主张:“我对他的说法深表赞同:Scala是一款独具魅力的Android开发语言。另外值得一提的是,Android插件中还具备对SBT,即Scala标准创建工具的支持。”谷歌目前拒绝对Scala在Android开发领域的相关话题发表评论。但谷歌的项目托管站点上已经设有Scala – Android页面,展示通过Scala为Android创建应用程序过程中所需的各类工具。

对于移动设备上的应用程序,Scala则比JRuby及Groovy等其它JVM语言更具优势,因为静态类型语言运行速度更快、内存占用更少、优化程度也往往好于平均水平,Burns说道。他还强调说Android系统往往运行于处理器速度缓慢且内存较小的嵌入式设备上,如此一来降低配置要求就显得尤为重要。

在今年春季的一篇博文中,Burns如此宣扬Scala的编程特点:“Scala可以被看作Java的改进版。首先,大家不再需要输入大量分号。Scala带给我们的是现代抽象科学的创造之力。添加属性、固有内容、值的类型检测以及信息块——所需的每种要素如今都以实实在在的编码成品方式摆在我们面前。”

来自Forrester公司的分析师Jeffrey Hammond表示,Dalvik虚拟机使用其自身的字节码格式来执行应用程序。谷歌将Java作为媒介语言以对.dex格式的文件进行编辑,他说:“Mike似乎在寻找一种方式,旨在将Scala作为编写应用程序以及生成.dex编码类型文件的一种后备方案。”

Burns说他已经切实用Scala为Android编写了一些程序,其中包括一款以Umbrella Today为基础的天气预报软件。他向我们列举了用Scala为Android系统进行开发工作的优势,例如速度快、编程容易以及具备充满活力的相关社区等等。不过,缺点也确实是客观存在的,其中包括以实践经验相对匮乏及缺少文档资料为主的各类未知情况。

当然,Android同时也是甲骨文与谷歌之间闹得沸沸扬扬的诉讼事件的核心角色,起因是Android被指挥存在与Java专利相关的侵权行为。但Burns却对诉讼没有太多意见。“我对这事真的不太感兴趣,”他说。

了解更多请点击51CTO独家专题Android开发应用详解 Scala编程语言

【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译者!】

责任编辑:佚名 来源: 51CTO.com
相关推荐

2019-08-19 01:09:29

2021-08-18 09:38:51

人工智能AI机器学习

2011-09-10 22:12:11

编程语言排行榜

2010-09-14 13:22:17

Scala编程指南Scala

2020-11-08 13:59:03

物联网行业应用IOT

2012-06-14 08:57:53

云计算电力带宽

2009-07-08 16:25:15

Scala的特点类型推断

2009-02-06 09:08:04

Scala函数语言轻量级

2012-08-06 09:34:49

云计算编程语言

2020-12-29 06:44:18

GoScala编程语言

2009-07-08 12:43:59

Scala ServlScala语言

2010-09-14 15:34:41

Scala

2020-12-25 10:01:15

物联网智慧城市大数据

2012-07-23 09:30:23

服务器虚拟化

2020-10-31 17:33:18

Scala语言函数

2009-03-03 10:51:13

2020-02-10 10:26:37

云计算大数据技术

2009-06-28 20:57:19

云计算IT存储

2013-02-28 10:04:30

移动商务平板电脑

2018-01-11 14:15:44

iMac Pro拆解DIY
点赞
收藏

51CTO技术栈公众号