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

2011-08-31 09:03 核子可乐译 51CTO.com 我要评论(0)字号: T| T

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

AD:

【8月31日 51CTO外电头条】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却对诉讼没有太多意见。“我对这事真的不太感兴趣,”他说。

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

更多相关文章

  1. Android应用启动后自动创建桌面快捷方式
  2. Android开发新手常见的10个误区
  3. Android入门进阶教程(4)-android hello world开发
  4. Android移植到PXA270开发板
  5. 我的android开发学习之路
  6. 2011年linux数据库的android在线分享
  7. Android开发周报:Android将使用OpenJDK、React Native详解
  8. Android(安卓)开发加速器 Jetpack(1)
  9. Android开发中Menu的理解

随机推荐

  1. java拷贝文件夹和android设置文件权限
  2. Android porting to ARM versatile PB
  3. android对话框的进一步使用
  4. android timepicker 设置时间间隔
  5. Android 窗口Flags详解
  6. Android中ImageButton自定义按钮的按下效
  7. android 使用Http的POST方式读取网络数据
  8. Android studio 错误集合——Error:Execu
  9. android编译
  10. Android Loader