共计 1282 个字符,预计需要花费 4 分钟才能阅读完成。
据 arstechnica 报道,谷歌推出全新 Android 开发框架 Sky,主要目的包括提高运行速度和响应速度,在大部分设备上,应用流畅的标准都是实现 60FPS 的帧率,Sky 希望实现高达 120FPS 的帧率,用户界面将保持流畅的响应速度。
目前为止,除游戏之外的 Android 应用通常使用 Java 语言来开发编写,其运行效率和速度并不理想,而谷歌内部的一个团队正在探索全新的应用开发方式。他们利用了谷歌自主的网页开发语言 Dart 来开发 Android 应用。这帮助他们专注于速度,并可以与网页进行深度整合。
Dart 由 Chrome V8 引擎的团队成员发明。该团队近期举行了 Dart 开发者峰会,展示了在 Android 项目中使用的 Dart。在 Android 项目中使用的 Dart 并未被称作“Dart on Android”,而是有了一个新名字“Sky”。目前,Sky 只是一次开源的尝试。但相对于传统的 Android 应用开发方式,Sky 有着多方面优势。
Sky 的最主要目的包括提高运行速度和响应速度。在大部分设备上,应用流畅的标准都是实现 60FPS 的帧率。不过,Dart 团队希望实现高达 120FPS 的帧率。目前在 Android 平台上,许多应用连标准的 60FPS 帧率都难以达到,更不用说 120FPS。60FPS 的帧率要求每 16 毫秒绘制一帧,当画面绘制速度达不到这一水平时,应用就会出现卡顿。
Dart 团队展示了一款演示应用,每帧的绘制速度仅为 1.2 毫秒。尽管这只是一次简单的展示,但这意味着,对于开发流畅而复杂的应用来说,Sky 有着很大的空间,这也使 120FPS 的帧率成为了可能。该团队表示,Sky 的应用程序接口 (API) 不会影响界面的主线程,这意味着即使应用运行速度变慢,用户界面仍将保持流畅的响应速度。
Sky 并不依赖于平台,其代码可以运行在 Android、iOS,以及任何集成了 Dart 虚拟机的平台上。这类应用的运行类似于网站。应用的很大一部分基于 HTTP,这意味着开发者可以进行持续的开发,并确保所有用户一直使用最新版本。这款演示应用的弱点在于无法离线运行,而启动应用则需要 1 到 2 秒钟时间,因为应用需要下载数据。不过,这两方面的问题可以通过缓存机制来解决。
基于 HTTP 的模式使开发变得很简单。开发者不必编辑代码、编译并打包,这些代码可以在 HTTP 服务器上编辑。而用户只需关闭并重新打开应用,即可完成应用的“升级”。这就像是一款网页浏览器。Android 开发者可以使用 Sky Framework,这提供了一整套 Material Design 小工具,帮助开发者方便地增加操作栏、触控效果、导航面板,以及 Android 应用中所需的一切元素。
与普通应用类似,Sky 应用可以获得 Android 的全部权限和 API,但结合来自网页服务器的自动升级功能,这将带来信息安全问题。不过目前,Sky 仅仅只是一个试验项目。在 Sky 成为一种主流的 Android 应用解决方案之前,Sky 团队需要解决这些问题。该团队的 GitHub 页面显示:“我们仍在对 Sky 进行频繁地迭代,这意味着框架和底层引擎有可能以不兼容的方式出现改变。”