xiaofuzi / deep-in-vue

从源码的角度看vue的成长历程。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

指令式声明的替代解决方案

xiaofuzi opened this issue · comments

指令式声明

指令式声明以其简洁、复合html语法、易于学习等特点为其带来很大的优势,但在可编程性方面却很差。

jsx/hyperscript

  • jsx
    在保留了HTML似的模板特性的基础上,增加了逻辑编程的能力,即结合了html和javascript两者的有点。
  • hypescript
    采用函数式的编程方式,完全放弃了模板特性,充分发挥逻辑编程的能力。

HTML一直在web编程中占有很大的地位,HTML这种标记类型的语言的确经受住了万维网发展的考验,在文本传输和显示上如鱼得水。但现在对网页的要求已不再是内容的展示,UI交互已成为重点,而这点上,HTML显得很乏力。

从组件化的角度来考虑,HTML也有局限,复用性和正交性比较弱,而这在组件化方案中是很受重视的。

函数式编程**逐渐得到大众认可,其优点也逐渐凸显,基于函数式的UI生成方式也成为一种不错的选择.

函数指令解决方案

  • 一组标签原子API,类似于hyperscript
  • 函数指令API,如 vfor, vif等

采用函数生成dom而不是解析dom的形式,这样可以避免dom解析遍历资源浪费的问题,因为dom是通过相应的函数指令生成的,所以viewModel可以精确的追踪view中的相关节点。

待更新。。。