如何评价Google推出的基于dart的sky?
1个回答
展开全部
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 的现成资源。
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 的现成资源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询