《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容 。本期推荐的是一个阿里开源基于 Flutter 进行渲染的高性能引擎——Kraken(北海) 。
文章插图
Kraken 是一款采用基于 Flutter 而实现的自绘渲染引擎 。它使用 W3C 标准的 html,css,JAVAScript,并支持通过 JavaScript 实现对画面的实时交互 。
Kraken 基于 Flutter Rendering 层的实现进行了深度定制,在保留兼容 RenderObject API 的情况下,扩展出了兼容 W3C 标准的布局能力,并在此基础之上添加了 DOM,CSS 的解析处理,并对接 JavaScript 引擎,实现了一个类浏览器的技术架构 。
特性
- Web 标准开发:Kraken 依据 W3C 标准提供渲染能力,提供浏览器中常见的标签、CSS 能力、API,让你使用前端生态构建原生应用 。
- 跨平台一致:基于 Flutter 的自绘渲染技术,不再受到平台能力制约,提供跨平台完全一致的 UI,同时支持桌面端 (macOS、linux、windows) 和移动端 (IOS、Android)等
- 原生性能:使用 AOT 构建技术将 Kraken 编译成机器码,提供更接近原生的性能;同步光栅化,支持无限列表流畅滚动且没有白屏 。
基础使用Kraken 中实现了 W3C 标准的 HTML 标签与 CSS 样式,因此可以完全使用 Web 开发的方式来书写页面结构与样式 。
搭建页面结构:
Kraken 支持大部分常用的标准 HTML 标签,使用这些标签可以帮我们搭建出页面的基本结构 。以下例子演示了如何使用原生 HTML 标签写一个简单的博客文章结构:
<div><div>Kraken 入门教程</div><div>2021-1-1</div><div><img src=https://www.isolves.com/it/cxkf/ky/else/2022-11-03/"https://img.alicdn.com/imgextra/i4/O1CN01GIxaZ01V0isGFLuJQ_!!6000000002591-2-tps-400-339.png" />
Kraken 是一款基于 W3C 标准的高性能渲染引擎 。Kraken 底层基于 Flutter进行渲染,通过其自绘渲染的特性,保证多端一致性 。上层基于 W3C标准实现,拥有非常庞大的前端开发者生态 。