10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

谷歌推出 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:019366
用户头像

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

关注

评论

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

Partisia Blockchain 生态首个zk跨链DEX现已上线

加密眼界

交易履约之产品中心实践| 京东云技术团队

京东科技开发者

如何全面规避医疗数据安全风险?“一中心三大管控域”打开新思路!

BinTools图尔兹

数据库 数据安全 脱敏 电子病历 医疗信息化

OpenTiny Vue 3.15.0 正式发布,推出全新的 Charts 图表组件底座,功能更强、图表更丰富!

OpenTiny社区

Vue Web 前端开发 开源组件库

从0到1:商场导览小程序开发笔记一

CC同学

NFTScan | 04.29~05.04 NFT 市场热点汇总

NFT Research

NFT NFTScan

人工智能ChatGPT带你领略晋级之路

测吧(北京)科技有限公司

测试

低代码优于无代码?

禅道项目管理

软件开发 低代码 知识分享 无代码 开发人员

淘宝搜索API返回值解析与关键字搜索背后的数据逻辑

技术冰糖葫芦

API Explorer API boy API】 pinduoduo API

Python文本统计与分析从基础到进阶

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟

人工智能ChatGPT带你领略晋级之路

测试人

软件测试

降本增效,火山引擎ByteHouse助力短剧广告投放效率提升5倍

字节跳动数据平台

大数据 数据仓库 云原生 解决方案 短剧

即时通讯安全篇(十四):网络端口的安全防护技术实践

JackJiang

即时通讯;IM;网络编程

如何更好地导入Scrum?

敏捷开发

Scrum 敏捷开发 企业管理 软件研发 敏捷转型

百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队

京东科技开发者

NineData亮相2024中国移动算力网络大会

NineData

数据库 中国移动 移动云 算力网络 NineData

ChatGPT4 Turbo 如何升级体验?官网如何使用最新版GPT-4 Turbo?

蓉蓉

GPT-4 Turbo

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