速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

谷歌推出 Sky 框架:使用 Dart 编写 120fps 的 Android 应用

  • 2015-05-07
  • 本文字数:1289 字

    阅读完需:约 4 分钟

通常,非游戏类的安卓应用都是由 Java 语言编写的,不过谷歌的一个团队正在尝试用内部的 Web 开发语言 Dart 以一种全新的方式编写安卓应用。这种方式的重点是完全去 Java 化,专注于速度并且与 Web 深度整合。

Dart 最初是由 Chrome 的 V8 Javascript 引擎团队成员所创建。最近该团队主办了 Dart 开发者峰会,并对外展示了名为 Sky 的 Dart on Android 项目。该项目目前已经基于 Apache 许可协议开源,源代码已经上传至 GitHub

Sky 由两个组件组成:

  • Sky 引擎。用 C++ 编写的引擎是整个系统的核心。引擎提供了许多用于构建高质量应用的基础元素,包括软实时调度程序和分层次的保留模式图形系统。
  • Sky 框架。名为 Effen 的 Sky 框架通过提供用户熟知的交互部件,如按钮、无限列表和动画,让使用 Sky 构建应用变得更加容易。这些可扩展的组件所遵循的函数式程序设计风格的灵感来自于 React

Sky 项目最大的目标是快速响应。目前,绝大多数的应用和开发人员在应用平滑度方面的标准仍然是 60FPS,而 Dart 团队计划将这一目标提升至 120FPS。这一目标乍听起来不太可能,因为目前主流的智能手机显示屏的刷新频率也只有 60Hz,根本无法有效显示 120FPS 的刷新频率。而对于安卓系统来说,绝大多数应用连 60FPS 的标准都达不到,更不要说 120FPS 了。

在 Dart 团队所展示的一个示例应用中,全部帧数渲染仅耗时1.2 毫秒。尽管这个示例相当简单,一定程度上说明Sky 仍有很大空间可以在更加复杂的应用中实现流畅的动画效果,这也表明120FPS 的目标(8 毫秒的渲染时间)并非痴人说梦。Dart 团队将Sky 称为“不会卡的设计”,API 不会妨碍用户界面主进程的执行,也就是说即使应用的速度变慢,用户界面仍会保持流畅的响应速度。

Sky 将其 Web 后端也带到了移动开发领域。Sky 不依赖于平台,其代码可以运行在 Android、iOS,或是任何包含 Dart 虚拟机的平台上。这类应用的运行类似于网站。应用的很大一部分是基于 HTTP 的,通过 HTTP 提供服务的方式可以让开发变得更加简单。无需编辑代码、编译、安装新的应用,只需要在 HTTP 服务器端编辑代码,然后关闭并再次打开应用就可以用最新的代码“刷新”应用。就像 Web 浏览器一样。Sky 框架为安卓开发提供了一整套物化设计(Material Design)的组件,开发者可以很方便地添加工具栏、触摸效果、导航栏以及安卓应用中应有的所有其他组件。

与普通的应用类似,Sky 应用可以获取到完整的安卓特权和 API 的访问权限。但这种权限与 Web 服务器自动更新相结合,可能会带来比较大的安全隐患。不过,目前为止 Sky 仍然只是一个实验性的项目,这类问题在 Sky 成为正式的安卓应用解决方案之前,务必需要得到解决。虽然目前 Sky 团队仍然在持续不断地进行项目迭代,Sky 框架和底层引擎将来也可能会有多次不兼容的变动,不过 Sky 这种专注于速度和另辟蹊径的安卓开发方法仍值得我们密切关注其后续的发展动态。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-05-07 07:018987
用户头像

发布了 75 篇内容, 共 63.2 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

典型大型互联网应用系统的技术方案和手段

极客大学架构师训练营 第四周作业 互联网应用技术方案 互联网系统架构 互联网系统特点

愿景集团与聚盛国际达成战略合作共建外汇市场新篇章

Geek_116789

「架构师训练营」第 4 周作业 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题

guoguo 👻

极客大学架构师训练营

架构师训练营第4周——学习总结

极客大学架构师训练营 互联网架构模式 互联网架构的演进

极客时间第 0 期架构师训练营第四周总结

2流程序员

架构师训练营第四周 架构分析

suke

极客大学架构师训练营

架构师训练营第4周作业

不谈

极客大学架构师训练营

架构师训练营作业 (第四周)

王海

极客大学架构师训练营

互联系统架构演化史之感

旭东(Frank)

架构 感悟 极客大学架构师训练营

架构师训练营第四周作业

张锐

第四周作业

赵龙

第四周总结

赵龙

程序员如何提升自己横向能力?

Boss.Guo

团队建设 能力提升 人才培养 个人总结

信创舆情一线--数据安全法草案提请初审

统小信uos

大数据 安全

写给大忙人看的操作系统(内附思维导图)

苹果看辽宁体育

后端 操作系统

西博泰科携手中国电信共同抢占NB-IoT新赛道

Geek_116789

「架构师训练营」第 4 周作业

旭东(Frank)

架构师训练营——第四周总结

jiangnanage

架构师训练营-第四章-学习总结

而立

极客大学架构师训练营

大型互联网应用系统常用技术(持续更新)

2流程序员

区块链技术打通信用壁垒赋能租赁业务

CECBC

去中心 区块链技术 防篡改 去信任

架构师训练营学习总结——系统架构【第四周】

王海

极客大学架构师训练营

链技术如何提升金融行业安全与互信

CECBC

百度 区块链技术 超级链 探索与实践

week04

Geek_2e7dd7

week04 总结

Geek_2e7dd7

浅谈比特币匿名的意义

CECBC

大型互联网应用系统的技术方案和手段

周冬辉

通用编程风格

顿晓

Java 学习 编程风格

架构师训练营第 04 周—— 练习

李伟

极客大学架构师训练营

互联网系统架构设计概览

dony.zhang

假想 一个进销存软件是如何发展的

不在调上

谷歌推出Sky框架:使用Dart编写120fps的Android应用_Google_丛一_InfoQ精选文章