砥砺前行—抖音小程序前端渲染框架演进

所属专题:小程序开发实践

嘉宾 : 薛英琛 | 字节跳动前端工程师

会议室 : 二层 2号厅C

讲师介绍

专题演讲嘉宾:薛英琛

字节跳动前端工程师

抖音小程序/微信小程序渲染框架开发者,Node.js/React.js contributor,Deno core contributor,以及《A Guide to Deno Core》作者,V8/Tensorflow.js/Mobx 等开源工具中文站翻译。

议题介绍

地点:二层 2号厅C
所属专题:小程序开发实践

演讲:砥砺前行—抖音小程序前端渲染框架演进

抖音小程序是立足于抖音,辐射字节系 App 的小程序解决方案,其需要满足多场景、多宿主、高性能的渲染需求,传统的前端框架无法满足小程序这么丰富的需要,那么抖音小程序是如何做出抉择,在性能、开发体验、稳定性上满足各方需要的呢?

抖音小程序调研了市面上绝大多数前端框架,先后尝试了 JSX/Template/Reactive/Data-flow 等渲染和状态管理方案,但是发现都无法很好地满足抖音小程序的需要:一方面,小程序的模板语法限制了必须使用模板的管理方式,同时双线程的架构也使得 Reactive 机制很难跨线程使用;另外一方面,这个前端框架也需要打通开发者代码和内部的组件代码,因此需要构建一套底层打通,但是上层隔离的渲染方案。

最终,抖音小程序自研了一套渐进式的前端框架,该框架同时拥有运行和编译时,并为小程序使用场景进行了特异性优化,在编译时提供了大量的信息,加速运行时性能;同时,这套框架的运行时语法也在内部广泛使用,被用于开发各类组件,用少许性能损耗换取更自由的开发体验。这套框架不仅在传统的 Web 环境下可以使用,同时也为纯自绘渲染方案提供统一的抽象和接口,为更广泛的渲染场景提供支持。

同时,在小程序开发中,我们也会遇到不少性能瓶颈点,抖音小程序依托于这套渲染框架,提供了一系列的渲染调试器,方便开发者发现渲染热点,并作出对应的修复。

演讲提纲:

  1. 抖音小程序渲染背景介绍
    • 小程序渲染现状与问题
    • 渲染场景与目标
  2. 渲染框架设计
    • 渲染架构比较与选型
    • 数据流更新方案设计
    • 插件化渲染器设计
  3. 优化与跨端渲染
    • 小程序渲染编译优化
    • 小程序渲染运行时优化
    • 跨端渲染实现方式与效果
  4. 框架性开发工程实践与经验
    • 构造多维度的测试保障
    • 输出性能基准测试方案
  5. 小程序性能工具与调优
    • 多维度的调试工具介绍与使用方式
    • 性能调试与优化

你将获得:

  1. 可以了解前端框架的技术优缺点,为技术选型提供坚实基础
  2. 对前端渲染未来的走势有一定的把握,便于进行技术迭代
  3. 对于小程序的渲染架构有更深入的了解,便于性能调优
  4. 打通前端编译、运行时、工程化的链路,提供组织大型前端项目的经验
  • 电话咨询

    联系电话:+86 13269078023
在报名过程中如有任何问题,欢迎微信扫描二维码联系我们的票务经理