大家好,我是染料莫,这是一个话题-《基于 Flutter 的 Web 渲染引擎「北海 Kraken」》来自GOTC,全球开源技术峰会。我将主要从技术角度分享北海巨妖的一些实现原理和关键技术特点,现在我将它们整理成文本版本与大家分享。
https://github.com/openkraken/kraken北海巨妖吉图布
肯官网:https://openkraken.com/
00-1010说到北海的技术背景,就不得不提跨终端技术的演变。很多同学应该对跨终端技术的历史比较熟悉,我就简单说一下。
我们知道浏览器是最成熟的自然跨平台解决方案。早在PC时代,浏览器就已经成为互联网的入口。大家以前都是通过浏览器浏览网页来获取各种信息。当时我们把这种上网方式叫做“冲浪”。然而,在移动时代,浏览器在移动设备上的表现并不抢眼。反而因为内存大、弱网络环境下白屏长、传感器能力不足(标准跟进慢)等问题而问题多多。
为了弥补上述浏览器在移动端的一些不足,混合技术出现了,它通过容器的能力实现了Web上的一些非标准超集,也通过预取、离线打包等多种技术提高了首屏的加载性能。
此后出现了类似RN的方案(React Native的典型代表)。其原理是通过JS引擎将原生控件与前端生态桥接起来,通过Web开发业务逻辑提升效率,通过向下渲染原生控件提升性能和体验。但是这种方案的缺点是不能完全抹平两端的差异,没有解决一致性的问题,最后把复杂性暴露给了开发者。
on">