美文网首页
Flutter 系列之 Fuchisa 系统

Flutter 系列之 Fuchisa 系统

作者: Goach | 来源:发表于2019-07-27 18:02 被阅读0次

Google 年年搞事情,刚推了 Kotlin,现在又搞 Flutter 了。学不动?大厂心思你猜不透!
不过归根结底都是搬砖,kotlin 搬砖没换工地,还是 Android !
而 Flutter(弗拉特) 搬砖就要换工地了,叫 Fuchisa [feel 休]!

来到 Fuchisa 厂大门口,贴了张框架图


Fuchisa 框架图.png

瞬间回忆起了老厂类似的框架图

Android框架图.png

咋一看,满脸写着我不认识 Android,Android 和我没关系,别说是我兄弟!好了,你用 Linux 底层,我就用 Zircon (这肯)。

接着上一层就是 Garnet (尬尼特),老厂这块放的是核心库,包括 OpenGL 图形渲染库,包括SGL 2D图形引擎库。那 Fuchisa 本着不认识的原则,它采用Escher(埃舍尔) 图形渲染库,Escher 包括 Skia 2D 渲染引擎和 Blink 的文本渲染系统!

再上一层就是 Peridot (派尔达特),这块和 Android Framework这层有点类似,主要用于管理应用的生命周期,资源,UI 层次以及上下文和一些基础体验,同时支持离线数据管理,同步数据等功能。另外,多出来的就是人工智能这块布局,比如应用的Google Assistant。

然后就是 Topaz 这层。这层相当于 System Apps这层。和 Android 不同的就是,这层用 Flutter 进行开发应用程序的,而不是使用 Java 。

Flutter框架.png
  • Embedder 是一个嵌入层,主要功能为渲染 Surface,线程设置,插件等。Flutter 的平台层很低,比如 iOS 只是提供一个画布,剩余的所有渲染相关的逻辑都在 Flutter 内部,而这就是 Flutter 所宣传的可以精准控制每一个像素的原因;但不可否认,对于插件部分,还是需要特定操作系统底层的建设(比如支付、地图等)。

  • Engine 层使用 C++ 实现,这一层包含 Skia,Dart 和 Text。Skia,Flutter系统的图形渲染库。提供了适用于多种软/硬件平台的通用 API;Dart 可能包含 Dart Runtime 等(JIT(动态编译)/AOT(静态编译)),Text 则负责文字渲染部分。

  • Framework 层是框架使用者需要直接面对的,包含文本/图片/按钮等基础 Widgets、渲染、动画、手势等。

以上,就是大致整体框架模型。接下来就是来学习 Flutter 如何开发一个应用 !

相关文章

网友评论

      本文标题:Flutter 系列之 Fuchisa 系统

      本文链接:https://www.haomeiwen.com/subject/wkchlctx.html