Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对前端开发中组件、插件、控件的理解 #5

Open
GuoYongfeng opened this issue Jun 16, 2016 · 0 comments
Open

对前端开发中组件、插件、控件的理解 #5

GuoYongfeng opened this issue Jun 16, 2016 · 0 comments

Comments

@GuoYongfeng
Copy link
Member

一段时间内,大家都对这些概念含糊不清。而一般地,也很少去用一个很明确的界限来把三者分清。

这三个概念,不仅仅在前端有,在设计上、在其他开发语言中,都有对这几个概念的定义和区分。但这里我们仅限于前端开发领域。下面简单说一下我的想法。

控件

控件是对css样式的高度抽离,我对CSS控件的定义来自于UED的UI视觉设计规范,在一个大型项目中,优秀的UI规范总是能将页面的设计元素提炼出一套标准(比如颜色、字体字号、栅格等)。CSS控件化是从HTML页面结构提炼出的不可分割的最小标签单位。

例如一个icon图标(使用em标签表示)、一段文本(使用p标签)、一个标题(h标签)或者一个按钮(a标签),他们都是构成整个页面的最小结构单位,这就是控件;而控件化还需要控件是具备在整个项目中可复用性强的元素。因此在一个项目中我一般会提取如:btn.css、article.css、icon.css等这样的项目通用控件化模块文件,当然这些控件化模块还可以被分类继续拆分成更灵活的小模块。

每一个控件化模块都用SASS编写,使得属性值均可以变量化,便于UI规范修改我们前端做相应的批量修改。

插件

前端插件指由js封装的可独立提供使用的ui,实现某一类特定的功能和效果。从组成上来说,由js文件或是js和css共同构成,两种方式。

组件

组件由html、js、css、json、图片等资源组成,是页面展现中某一个独立部分,组件可以抽象也可以直接使用,组件可以嵌套组合使用。

基于组件可以封装聚合形成组件库,多个组件构成页面,组件库可以帮助快速开发页面.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant