我对前端工程化的理解

因为接触前端的时间比较晚,所以许多朋友也有与我相似的经历。

在我的个人经历中,以前的课程项目并没有很好的去考虑可能影响维护成本和维护效率的因素。

在我寒假第一次团队合作期间,体会到了前端工程化思想的重要性。

在近期结业项目的分工合作中,由于技术栈是react+ts的原因,我负责给项目修ui。其中,一个团队大佬负责canvas轮子的搭建,另外几位是负责ui的主力队员。而我们团队成员提出频率最高的词就是熟悉项目结构。对于我,没有多少项目经验,以前在学校里的项目都是单核状态,所以并没有什么熟悉不熟悉项目结构的情况,也并没有考虑到安全,并发,多端,适配等多个场景下的问题。结合这段和蓝色空间大佬合作的经历,以下总结了我对前端工程化的理解:

什么是前端工程化

在我的理解上,前端工程化是一种工程化的思想,而并不是一种技术手段。前端工程化的目标就是让前端项目,更利于团队的协作,解耦团队的分工,提高团队的开发效率。对于后期,更利于前端项目的维护。

对于解藕团队的分工,可以用"低耦合,高内聚"来形容,我觉得这句短语并不只是狭隘的适用于代码结构,还适用于团队的分工与协作。在我的合作过程中,体会最深的一点就是,当造轮子的那个同学将已造好的库接入项目后,整个项目就充满了“活力”,什么是活力?在此我解释说明一下,因为我们的项目是数据结构与可视化平台,因此,在接入库函数即在能调用接口之前,我们的项目前端页面是静态的ui页面。接入之后,就各种“活力”。我觉得,这在一定程度上,体现了“低耦合,高内聚”的特点,团队成员造轮子这块和其他方面是相对独立的。但当在做接入任务的时候,这又体现了高内聚的特点。

而对于前端项目的维护,我的理解是,项目的结构需要清晰,利于团队的理解,语义应该要明确,因为并不是给个人看的。如何写出健壮的代码也是维护的一个因素。同时,项目应当配有文档,便于使用者理解以及团队的后期维护。

什么是模块化和组件化

对于这一方面,我的理解是,模块化和组件化开发只是前端工程化思想下的具体方法论。

模块化

这里以我使用过的commonjs为例,在我的印象里,一个js文件就是一个模块,这个模块定义了一个具体业务的处理逻辑的多组方法。每个方法实现一个具体的操作,将这些操作组合起来实现一个具体的业务功能。众所周知,commonjs是运行时加载,输出的只是值的拷贝,因此,内部的变化影响不到外部。那么,模块与模块之间的耦合度就得到了降低。

组件化

由于接触vue的时间比较短,这里谈谈我目前对vue组件化开发的理解。

一个页面中可与用户交互的区域或可视区域可以看成是一个组件。组件与组件之间是相互独立的。而页面只是组件的一个容器。vue为什么要有组件这样一个概念,那么,现在设想有这么一个场景,当你隔了很久的一段时间发现了你的项目中出现了bug,而且知道是哪一个可视区域出的交互bug,那么,如果你不是基于组件化开发的话,会怎么快速的去找出错误位置呢。我认为,使用组件化开发有两个好处,第一个好处是复用,一个组件可以在多个方面复用,脱离多次ctrl+c,ctrl+v。第二个好处是分而治之的思想,基于组件化的开发方式,你可以针对某一视区进行特定的开发,视区与视区之间在布局上是相对独立的,且在开发上也是相对独立的。

我对前端工程化的理解相关推荐

  1. 谈谈对前端工程化的理解

    什么是前端工程化? 工程化是一种思想,而不是某种技术.其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间等 栗子 要盖一栋大楼,假如我们不进行工程化的考量那就是一上 ...

  2. 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...

    01前端工程化的背景 随着业务的扩展.业务需求更加复杂.项目团队的壮大以及项目的增多等.制定一套适用于团队的前端工程化方案很有必要. 02前端工程化是什么 前端工程化是一个很广泛的话题.涉及的技术与解 ...

  3. 前端工程化实践总结 | QQ音乐商业化Web团队

    蓝字关注,回复"加群"加入前端技术群 与大家一起成长 | 导语本文主要介绍在前端工程化的一些探索和实践,结合移动端的基础库重构和UI组件库开发这两个项目详细介绍工程化方案 . 随着 ...

  4. 什么是软件工程化?什么是“前端工程化“?

    软件工程是一门研究如何用系统化.规范化.数量化等工程原则和方法去进行软件的开发和维护的学科. 软件工程包括两方面内容:软件开发技术和软件项目管理. 软件开发技术包括软件开发方法学.软件工具和软件工程环 ...

  5. 【CSDN软件工程师能力认证学习精选】 什么是前端工程化?

    CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...

  6. 开篇:到底什么是前端工程化?

    前端工程化是现代前端的必备技能 Web 前端这几年进化速度之快让人咂舌.很多前端工程师都不禁吐槽"学不动了".如今已经不是 HTML.CSS.JS 前端三剑客仗剑走天下的时代了. ...

  7. 「前端工程化」该怎么理解?

    大家好,我是若川.今天分享一篇「前端工程化」的好文.非广告,请放心阅读.可点击下方卡片关注我,或者查看系列文章.今天发文比较晚,以往都是定时早上7:30发文,也不知道是不是有点早. 一.什么是前端工程 ...

  8. 对前端工程化、模块化、组件化开发的理解

    参考理解一: 提到前端往往很多人的映像就是入门简单,HTML.CSS加一起一个星期基本上就能大概上手,JS难一点但也能很快写一些简单的小效果,在网上随便一搜索各种特效代码随意用,一个新手前端也能在很短 ...

  9. 前端工程化详解——理解与实践前端工程化

    前言: 前端工程化一直是一个老生常谈的问题,不管是面试还是我们在公司做基建都会经常提到前端工程化,那么为什么经常会说到前端工程化,并没有听过后端工程化.Java工程化或者Python工程化呢?我们理解 ...

最新文章

  1. C++ dll 类型与 C#类型对应关系
  2. android导出excel文件名称,android 导出数据到excel表格文件
  3. 送一台电脑显示器,我每天办公都用它,安利!
  4. lxml 和 XPah (爬虫)
  5. python列表的嵌套_Python中关于列表嵌套列表的处理
  6. 解决RichEdit line insertion error的方法(转载)
  7. android studio 便携式wlan热点 网络名称_速存 | WLAN信号增强器
  8. vs2010设置 行号显示
  9. 计算机设置新用户名和密码怎么设置路由器,192.168.11.1路由器设置教程 | 192路由网...
  10. android开发工具 go,轻松搭建基于go1.5开发Android应用的环境 | Go语言中文网 | Golang中文社区 | Golang中国...
  11. 用PS将图片或表格中的英文变成中文
  12. Java面试题目分析
  13. CE实战:修改植物大战僵尸中阳光数值
  14. 如何打造3D立体世界?跟随图片一同探寻
  15. 【Python处理EXCEL】--pandas导入Excel文件
  16. automagica 调用windows画图以及登录qq
  17. 33、HTML高频前端面试题
  18. Flask 和 Django 的比较和选择
  19. 群体领袖简介(25)
  20. Frontline软件CPAS

热门文章

  1. 医疗CRM的应用价值有哪些?提升医院竞争力
  2. C3有哪些新增的属性
  3. 关于 access 中如何使用 vba语言 判断表是否存在的两种方法
  4. 23计算机考研, 153所大学专业/科目变动集合!
  5. tp5类的属性不存在_tp5
  6. java返回下标数组_JAVA一维数组判断大小,并返回数组下标
  7. 【CentOS】Spark 运行环境(Local、Standalone)
  8. 101种在家就能做的网上生意
  9. UI-UIColor-initWithRed:green:blue:alpha:调研
  10. 封装一个抽象类 Shape,其中包括有求形状面积的抽象方法getArea()和求 形状周长的非抽象方法getPerimeter()。