欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  什么叫组件化开发?回答这个问题之前,我们先来科普何为组件化? 这个问题伴随着HTML5技术的发展,一直都没有一个官方的定义。那么我认为的组件化就是: 组件化就是跟你的业务逻辑封装一段可重用可复用的代码。这些代码包含HTML代码,更重要的是包含高度复用的逻辑。记住,组件化的本质就是封装。
 
  纵观当前前端比较流行的几大框架,他们的核心思想都离不开组件化,因为我们前端程序必须实现组件化,只有这样,才能大大的提高我们的项目开发速度,才能让我们的项目变得可轻松的维护,可任选的迭代。Vue 框架也是实现组件化,通过Vue.component来实现组件化开发,一个组件就是一个微型的vm实例对象,react更不用说,就是高度组件复用和组件内聚,同样,现在用typescript编写的angular4.0框架,也是如此,angular4.0可谓是组件化开发的核心代表。这些趋势,都表面组件化开发是未来前端开发的发展趋势,我们前端程序员必定都在实现组件 高耦合低内聚的 的路上奋斗着。
 
  组件化开发,我们都已经明白了,就是开发包含template(模板),style,script等组合起来的代码块。我们可以通过一张图来完美解释一下:
 
  这张图就可以清楚的给大家解释,基本的组件的构成。我们在进行前端app 的开发时候,可以把任何的一个html 代码封装成一个组件,当然,你这么做的前提是你要实现组件的可复用性,比如说,你可以封装 具有特殊酷炫动画的 button 组件,那么你在任何页面需要有实现这样的动画的时候,你 就通过你自己定义的方式去引入你的这个button组件。
 
  同样的,我们来分析一款app,就比如分析外卖App饿了么。饿了吗是实现组件化开发的代表,它使用的是自己开发mint-ui的组件框架。我们可以饿了么看做是 很多组件组合起来的大的app,它的首页包含很多 item 组件,当然包含下拉和上滑组件,而且肯定包含很多button组件,也有对应的订单组件。下面这张图已经包含了饿了么app组件化开发的大致思想吧。
 
  那我们现在来仔细聊聊,什么是组件化开发呢?相比大家已经有自己心中的见解了吧。当你想实现封装的逻辑的时候,想提高你的工作效率的时候,这个时候你就有必要想想通过封装组件,把对应的业务逻辑绑定到视图元素里面去,来实现高度复用和低内聚的代码逻辑。
 
  组件化的实现就是 分而治之。页面逻辑过于复杂,便将页面分为很多个业务组件模块分而治之,这样的话维护人员每次只需要改动对应的模块即可,以达到最大程度的降低开发难度与维护成本的效果,所以现在比较好的框架都会对组件化作一定程度的实现。所以组件化开发更多的着眼于长远发展而使用的一种架构思想,组件一般是与展示相关,视觉变更与交互优化是一个产品最容易产生的迭代,所以多数组件相关的框架核心都是View层的实现,比如Vue与React的就认为自己仅仅是“View”,虽然展示与交互不断的在改变,但是底层展示的数据却不常变化,而View是表象,数据是根本,所以如何能更好的将数据展示到View也是各个组件需要考虑的,从而衍生出了单向数据绑定与双向数据绑定等概念,组件与组件之间的通信往往也是数据为桥梁。这里很多大型架构都有自己的管理数据的架构,比如说vuex,redux等等。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62809.shtml