开源框架Vandf解决什么问题

98 阅读4分钟

开源框架Vandf解决什么问题

​ Vanddf是数据驱动的开源开发框架(github网址:github.com/abbasky/van…

1.解决页面渲染效率的问题

  • 当数据发生变化后,原有element重用,减少销毁原有element和重建新的element的消耗,参照d3.js的机制。
  • dom操作的读写分离,提高执行效率,使用了fastdom来实现,可以通过fastdom的机制了解。Vandf的好处是使用者不再需要考虑自己的代码是读操作还是写操作,底层已经实现了读写分离。
  • Vandf重新渲染时,数据、样式、类型、属性等不变化的,则对应的渲染就不会重复渲染,提高渲染效率。
  • Vandf是原生javascript的开发框架,避免了虚拟dom渲染低效的问题,Vandf渲染的细粒度可以小到一个element,可以指定任意层级的element及其子element的刷新,细粒度可控,非必要不刷新的掌控力也是Vandf高效的一个重要原因。

2.实现数据驱动的编程方式

  • 现代流行框架如Vue,React,在渲染数据列表数据时,都采用了显式循环构建的方式。而Vandf会根据提供的数组自动构建组件,开发者只需关注数据和业务逻辑即可。
  • 树结构的数据在操作上往往会比较复杂,而Vandf可以通过组件的层级结构,将数据解构,每层的数据模型只需要关心本层的数据即可,简化处理的复杂度。
  • 对于会变化深度的数据渲染,只要定义好一层的组件结构即可,Vandf会根据提供数据自动构建渲染相应的层次。

3.解决其它框架建立的组件相互割裂的问题

​ 流行框架创建的组件之间存在事件、数据传递、状态管理互相割裂的问题,Vandf可以非常方便的跨组件传递数据、状态和事件,Vandf是开发组件库的极佳选择。

  • Vandf的配置可以实现层层传递,特别方便的用于传递全局共享信息。
  • Vandf的状态可以在每个组件的视图中任意组装、传递给子组件实现状态的更新和共享。
  • Vandf的分为原生事件和Node事件,Node事件也是冒泡事件,可以实现跨组件传递信息。
  • Vandf的数据模型和视图模型可以非常方便的获取配置信息和状态信息。数据模型可以根据配置、状态变化、数据变化构建特定的数据。视图模型可以根据配置、数据模型和状态变化改变视图的显示状态。

4.解决视图模型、组件定义复用和组合复用问题

  • 同一类型的组件,其操作逻辑是一致的,视图模型是可重用的,而数据和数据模型是多样的,把视图模型和数据模型绑定在一起,必定限制视图模型的重用能力。Vandf通过绑定任意多的视图模型,组件视图模型和用户视图模型可以分开定义。组件视图模型专注操作逻辑管理,用户视图模型专注业务逻辑。用户模型配合数据模型,能非常方便的实现业务逻辑及业务数据的展示。
  • 在同一个业务场景下,视图模型、组件定义的组合复用,是一般组件库都能做到的事情,但Vandf创建的组件,通过增加绑定的视图模型,可以改变新的展示要求,仍具有相当的灵活性。
  • 数据模型的和视图模型是开放性的,拥有极少的约束,给软件的开发提供充分的自由度。