英文原文:Google’s Dart language on Android aims for Java-free, 120 FPS apps
这不是 Google 第一次抄微软后路了,当年 Windows Phone 系统发布,Google 就第一时间将 WP 的内置邮箱、浏览器都做了屏蔽,同时所有旗下应用都不予以移植。
本次微软在 Build 上宣布 Project Astoria,意欲让 Windows 10 系统兼容现有的 Android 应用,并为开发者提供相应的 Java API,Google 就在第二天放出了自己在 Android 上新的 Java-Free 应用框架。
虽然 Android 已经在 5.0 中正式引入 ART 原生运行环境,让开发者不再需要依赖 Dalvik Java 虚拟机,但目前为止 Android 平台上大多数应用依然使用 Java 编写而成,而不是 C++。而据 arstechnica 的报道,Google 正在准备一个名为 "Sky" 的新跨平台应用运行框架,它基于 Dart,意在摆脱 Java,并未应用提供 120 FPS(帧)的运行速率。
很显然,这件事是现 Android 系统主管 Sundar Pichai 的老部下 —— Chrome 团队干的。Dart 是 Google 用在 Chrome V8 引擎中的网页脚本语言,最初为高效运行、管理 Javascript 应用而设计,而基于 Dart 的 Sky 则进一步让打包的 JS 应用可以脱离浏览器运行。
若 120 帧的运行速率得以实现,那意味着两倍于现有主流“流畅”定义 60 帧的标准。这要求应用的框架每 8 毫秒就要被绘制一次,而现在的某些简单应用已经可以实现 1.2 毫秒一次的成绩。然而,流畅不仅仅取决于 UI 绘制的速度,"Sky" 团队还在尽力通过改善框架 API 来解决潜在的 UI 线程被系统阻断问题,他们将之成为 "jank-free by design"。
不过,虽然首先支持的是 Android,"Sky" 的野心还要更大。理论上,使用 "Sky" 的应用可以在现在所有已经被 Chrome 支持的平台上运行,其中就包含 iOS、Mac OS 和 Windows。
另外,"Sky" 还会带来新的应用开发和维护模式,因为应用的逻辑和代码都可以通过服务器动态面向所有用户更新。现在所有可以被用在 Dart 应用开发的工具都能被沿用到 "Sky" 上。
"Sky" 目前还处于早期阶段,不过 Google Play 上已经有一个样例应用可以体验,此外 Google 也已经在 Github 上提供了一个开源 SDK。
根据官方提供的文档,目前版本的 "Sky" 设计基本上与 Facebook 此前发布的 React 相同,另外加入部分 Chromeium 相关的代码,而 "Sky" 核心的 Engine 并未开源。
前不久我们才报道过,Google 通过提供 ARC 运行环境来让 Chrome OS 和 Chrome 浏览器在各个平台上运行 Android 应用,而如今他们却推出了另一个相反方向的解决方案。最后,Chrome 变成 Android,Android 变成 Chrome?
值得注意的是,即使 Google 真的最终在 Android 上舍弃 Java,微软也还为 C++ 编写的 Android 应用提供移植支持。另一方面,Dart 可以被编译为 Javascript,后者在 Universal App 和 Microsoft Edge 扩展的编写中都能使用。