50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

计算机网络——点对点协议PPP

StackOverflow

编程 计算机网络 9月月更

Netty高性能之Reactor模型

C++后台开发

后台开发 reactor 多线程 网络io模型 C++开发

led显示屏的合理亮度很有必要

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

分布式系统中自适应统计信息收集策略

KaiwuDB

健康信息化不断建设——2022年8月互联网医疗月度观察

易观分析

医疗

AntDB数据库与鼎甲科技完成产品互认证,共筑数据安全防线

亚信AntDB数据库

AntDB AntDB数据库

双非二本程序员,年近30,5年间在大厂中横跳,工资翻了三番

程序知音

Java java面试 后端技术 秋招 Java面试八股文

一文读懂“云游戏”

Finovy Cloud

人工智能 云渲染 云游戏

易观分析对《上海市促进人工智能产业发展条例》的解读

易观分析

人工智能 上海

英特尔发力“系统级代工”,为芯片制造带来全新可能

科技之家

企业知识管理怎样做?一些解决方案分享!

Baklib

MySQL查询数据库表记录数

源字节1号

【redis】Redis cluster是AP架构还是CP架构?

非晓为骁

redis 分布式架构 redis cluster 分布式理论

边缘计算在视频直播场景的应用与实践

火山引擎边缘云

边缘计算 视频直播 火山引擎边缘计算

数据中台打造企业数据能力组件中心

元年技术洞察

数据中台 SaaS服务应用 PaaS平台化能力

计算机网络——媒体接入控制的基本概念

StackOverflow

编程 计算机网络 9月月更

SaaS时代,您的企业与团队需要知识管理工具

Baklib

javascript 高级编程 之 Array 用法总结

hellocoder2029

Vue

仅靠一文便火爆全网!开源阿里绝密800页JDK源码笔记:霸榜GitHub

Geek_0c76c3

Java 数据库 程序员 架构 开发

存储资源盘活系统,“盘活”物联网架构难题(上)

天翼云开发者社区

架构---作业1

李某人

架构实战营

数据中台与数据平台有什么区别?

雨果

数据中台 数据平台

AntDB入选《爱分析:2022数据智能厂商全景报告》

亚信AntDB数据库

AntDB AntDB数据库

千亿流量并发治理!Alibaba实战Sentinel笔记,为微服务保驾护航

Geek_0c76c3

Java 数据库 开源 程序员 架构

知识经济时代的基石:知识协同

Baklib

元年洞察|数字化转型进程中的创新技术菜谱

元年技术洞察

数据中台 数字化转型 趋势研究

Forrester发布中国数据治理生态报告,亚信科技AntDB数据库等四款数智产品入选

亚信AntDB数据库

AntDB AntDB数据库

计算机网络——媒体接入控制——静态划分信道

StackOverflow

编程 计算机网络 9月月更

AX200NGW//2×2.4GHz 2x5GHz MT7915 MT7975 //AR9582 2x 2 900M 802.11an//network card//wallys

wallys-wifi6

MT7915 AX200NGW AR9223

架构三原则学习心得

Jack

架构 #架构训练营

区块链商城dapp系统开发,代币模式定制

开发微hkkf5566

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