Hello, Boswell!

用户界面的渲染类型

  • 中断渲染:先将渲染任务进行分割fiber,数据更新后,为了不影响ui线程将渲染任务暂停,之后继续执行;
  • 同步渲染:数据更新后,立即执行渲染任务;
  • 异步渲染:数据更新后,将渲染任务放到下个任务队列中,等待当前任务栈被清空;

渲染器

  • svg
  • html
  • canvas
  • webgl
  • native

mvvm

  • Object.defineProperty()
  • 依赖收集
  • 状态变更,视图更新

diff

  • 算法的核心在于两个vnode相同时多个子节点的比较
  • 对比算法是渲染的性能所在;[对比的次数,操作dom的次数]

组件化

  • 组件的本质没有变化模板+数据,但是组件产出=>完整html却变化了,现在组件的产出变成了vdom;
  • 一个组件最重要的是render,借助snabbdom api我们可以很容易获得vdom;

复用方式

  • mixins
  • hoc
  • render prop
  • hook:逻辑复用和组件表达进行一定程度的解耦;

性能优化

  • 给绑定v-for指令的节点的子节点添加key,使得oldVnode children在对比过程中可以复用节点;

packages

  • vue

  • vue-router

  • vuex

  • vue-template-es2015-compiler

在vue2.0模板中支持,方便的es2015特性子集
  • vue-template-compiler
用来预编译vue2.0模板到渲染函数中

components

  • vue-color
  • mint-ui
  • element
  • vue-picker

libary

  • vue-clipboard2
  • vue-cookie
  • vue-html5plus

build tool

  • vue-cli

server render

  • ream

  • conventional-changelog

从一个项目的提交信息合元数据中生成日志和发布笔记
Last Updated:
Contributors: jmz, jmz, Boswell, Boswell, mingzhuang.ji