随着技术的发展,前端开发的复杂度也越来越高,传统开发模式总是存在着开发效率低,维护成本高等的弊端。系统随着业务的增长或者变更,复杂度会呈现指数级的增长,一个小小的改动或者功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。

针对此弊端,其实业界早就有了一些探索,我们希望一个大且复杂的场景能够被分解成几个小的部分,这些小的部分彼此之间互不干扰,可以单独开发,单独维护,而且他们之间可以随意的进行组合。这种化繁为简的思想在前端开发中的体现就是组件化。

44.jpg

一、什么是Web组件

Web组件是将页面某一部分功能的结构、样式和逻辑封装成为一个整体,使其高内聚、低耦合,达到分治与复用的目的。

33.jpg

二、组件化的目的

Web 组件提供了封装完整的Web 表现层组件,使开发人员真正能够做到Web 应用表现层的快速开发,极大提高了开发速度,同时大大缩短了开发周期,大幅降低了软件开发成本。快速应对业务的不稳定性、不确定性、复杂性、模糊性。从宏观角度来看,组件化改造是从"一体化组织"到"积木型组织"的变革之路。

pexels-cottonbro-5082238.jpg

三、Web组件的构成 

Web组件由四大部分组成,可单独或组合使用。

自定义元素:定义新HTML元素的API;

影子DOM:封装的DOM和样式,配以组合化;

HTML导入:将HTML文档导入其他文档的声明方法;

HTML模板:<template>元素,允许文档包含惰性的DOM块。

55.jpg

四、Web组件的特性

1.高内聚

将相关的一些功能组织在一起,把一切封装起来。高内聚将让组件更容易维护,组件的可靠性也将提高。同时,它也能让组件的功能明确,增大组件重用的可能性。

2.可复用

功能明确,实现清晰,API易于理解,自然就能促进组件复用。通过构建可重用组件,我们不仅保持了 DRY(不要重复造轮子)原则,还得到了相应的好处。

3.可互换

一个功能明确好组件的API能让人轻易地更改其内部的功能实现。要是程序内部的组件是松耦合的,那事实上可以用一个组件轻易地替换另一个组件,只要遵循相同的 API/接口/约定。

4.可组合

基于组件的架构让组件组合成新组件更加容易。这样的设计让组件更加专注,也让其他组件中构建和暴露的功能更好利用。不论是给程序添加功能,还是用来制作完整的程序,更加复杂的功能也能如法炮制。

11.jpg

五、传统和组件开发对比

1.组件开发效率优于传统开发模式

对比项目

传统方式

Web组件方式

开发时间

至少1/

不超过0.5小时/

学习时间

很长(36个月)

5

维护时间

代码量大,难以维护

代码量极小,易于维护

页面效果

标准化

非常标准

2.组件降低对开发人员的技术要求

技术

普通功能

包括数据存储,符合查询

复杂功能

包括页面流转,业务逻辑

核心功能

包括业务核心,框架整合

JSP

DataBace/Sql

Web Server

DHTML

JavaScript

Java

XML

MVC

六、总结

近年来随着前端开发的迅速发展和工程化转变,Web组件化开发的思想也得到了进一步的发展和实践。企业需要在软件系统的每个应用层上实现规范化和标准化,在长年累积的项目和经验中,逐步形成自己的标准化组件库。

远齐科技的"云开发平台" 是基于SOA架构的快速应用开发平台。基于最佳业务实践开发出丰富的软件功能模块、业务系统, 不追求最复杂,强调最实用。本着80%标准化,20%定制化的开发理念,为企业提供高效的定制化开发服务。

上一篇:关于响应式布局,你了解多少? 下一篇:无代码/低代码快速开发平台