如何评价Google推出的基于dart的sky?

 我来答
北京上水石
2016-08-08 · TA获得超过414个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:88.3万
展开全部
Sky 不是一个新语言,而是一套新的 Android App 开发模式,它包括两个部分:
Sky 引擎(C++ 写的,负责渲染)

Sky 框架(Dart 写的,提供应用开发的基本组件,包括全套 Material Design 组件)。

底层通过一个跨语言通信层 Mojo(Chrome 里也有用到)和 Android OS 原生 API 通信。

重点来了,这套系统,无论是从架构还是开发 API 上来看,都和 React Native 极为相似。不同的只是语言换成了 Dart,并且(目前)似乎没有跨平台的计划。

我们来看看相似的地方:

Functional Reactive 的界面开发模式。看看这个示例代码:sky_sdk/stock_app.dart at master · domokit/sky_sdk · GitHub 和不用 JSX 的 React 如出一辙。在 build() 函数内返回类似 virtual dom 一样的描述界面结构的组件树,通过 setState() 触发更新,然后异步在渲染进程中进行渲染。
相似的架构。和 React Native 一样,两者都强调在主进程通过轻量的数据结构描述界面的状态,但将实际渲染和其他昂贵的操作放到专门的进程中异步进行,从而解放珍贵的主进程资源。
布局方案同样借用 CSS / Flexbox。Sky 直接用的就是 Chrome 的 layout 系统。两者都是通过直接创建内联的 Style 对象来进行样式设置。Sky 的门面人物 Eric Seidel 之前担任 Chrome/Blink 的主力工程师多年,对这一块的经验应该比负责 React Native 布局系统的 Vjeux 更强一些。
相似的类 Web 开发优势:更快的保存 -> reload -> 调试周期,绕过 app store 发布流程进行更新等等...

总的来说,我觉得 Sky 还是为 Dart 这个语言提供了一个很有意思的想象空间。React Native 有着跨平台的优势,但在专门针对 Android 开发时,Sky 可能会提供更好的整合度,因为毕竟是亲儿子 + 有 Chrome 的现成资源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式