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

日期: 2011-08-31 翻译:核子可乐 来源:TechTarget中国

  Scala,这款运行于Java虚拟机之上的静态类型语言,正逐渐成为谷歌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却对诉讼没有太多意见。“我对这事真的不太感兴趣,”他说。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • Scala社区赢得人心的五大技巧

    随着十几年的发展,大型的、热情洋洋的Scala社区已经从一个外围语言转变成了一个有得的竞争者。尽管,它还在不断走向成熟,这就意味着随着它的进化,要经历一些成长的烦恼。

  • Scala十岁了:下一个十年最走向何方?

    十年之前Michel Schinz宣布了Scala编程语言的第一个实现,Scala被描述为“一种平滑地集成了面向对象编程和函数式编程的语言”,下一个十年,Scala会走向何方呢?

  • 专家坚称Java将是2014主流语言

    当你参加会议、阅读书籍或在线将遇良才时,你不可避免地会遇到一些顽固的Java粉。但对这一古老的话题,没有人会比Adam Bien更热情了。

  • Java性能优化的最差实践

    关于Java性能优化的方法已经有很多文章讨论过,其中总有一些不值得提倡甚至应该杜绝的方法,需要让开发者时刻保持警觉。