关于这两年前端工作的一些总结

222 阅读4分钟

一、大型项目开发流程

需求分析:目标定位 用户群体 竞争者分析 业务流程 和 功能 以及页面架构 原型图设计 数据库设计 CMS开发 接口设计 前台网站开发 接口调试 数据库修改 功能流程测试

二、MVC和MVVM架构的概念和区别

MVC : model+view+control,即模型+视图+控制它们各自处理自己的任务 MVC是一种常用的后台开发模式

模型 数据保存

视图 用户界面

控制器 接收视图的请求并交给相应的模型来处理 业务逻辑

优点

(1) 实现了显示模块与功能模块的分离,在开发界面显示部分时,你仅仅需要考虑的是如何布局一个好的用户界面;开发模型时,你仅仅要考虑的是业务逻辑和数据维护

(2) 一个模型提供不同的多个视图表现形式,也能够为一个模型创建新的视图而无须重写模型。一旦模型的数据发生变化,模型将通知有关的视图,每个视图相应地刷新自己

(3) 模型的可移植性,因为模型是独立于视图的,所以可以吧一个模型独立地移植到新的平台工作,需要的只是在新平台上对视图和控制器进行新的修改。 (PS第三条是网上看到的)

缺点:

MVVM:view + view—model + model

MVC和MVVM区别

MVVM它采用双向绑定 view的改变 自动反映在view-model中 反之一样。

MVC通信都是单向的 1.View 传送指令到 Controller 2.Controller 完成业务逻辑后,要求 Model 改变状态 3. Model 将新的数据发送到 View,用户得到反馈

三、前端开发的模块化和组件化的定义,以及两者的关系 组件化:将一整块业务或者系统,按照其功能的独立性,而拆分成各个独立的功能模块的过程;这些独立的功能模块就是组件。 模块化:模块化中的模块一般指的是 Javascript 模块,比如一个用来格式化时间的模块

组件则包含了 template、style 和 script,而它的 Script 可以由各种模块组成。比如一个显示时间的组件会调用上面的那个格式化时间的模块。

用一张图来简单表达它们的关系

四、传统开发模式和前后端分离模式的区别

传统开发: 即以后端MVC为主的开发模式,前端人员仅仅提供静态html页面,其余工作皆由后端开发人员完成。

前后端分离模式:在前后端分离模式中要负责项目的view+controller部分,即除了静态页面,还需要负责页面的所有交互代码、以及nodejs与视图层以及后端API的交互工作;

前后端分离模式的弊端:前后端分离后,无论是API接口的对接还是测试工作,都涉及到前后端人员的沟通,很多公司采用前后端分离后,前后端协作模式配合力度底,互相等待,开发效率低下,反而不如传统的开发模式。例如:当后端 API 没有编写完成时,前端无法进行调试,这就导致了前端会被后端阻塞的情况。

五、关于VUE2.0中加入的virtual DOM 的理解

在许多单页面应用开发中,DOM节点数量是非常庞大的, 大量的DOM操作会严重影响页面性能,很少因为JS影响页面性能,而MVVM使用数据视图双向绑定,这使得我们更新了状态视图会自动刷新,更新了视图数据状态也会刷新,然而大量的事件绑定使得复杂情境下的执行性能也堪忧,而虚拟DOM,则是通过JS对象来表示DOM节点,包括标签、属性和子节点,

那我们可以通过JS对象来模拟DOM结构,先通过对JS对象表示的虚拟DOM计算出实际DOM需要做出的最小变动,然后再实际操作真实的DOM 。