Web 前端开发需要使用 MVVM 框架吗
1. 谈谈jquery + template
在来看看jquery + template 是什么?一看就主要dom操作,和UI交互。而处置数据是弱项
网络大型运用顺序主要是以下流程
1) 你要获取界面上的数据
2)后台交流数据
3)获取数据后,对界面重新停止渲染
这个进程中,你和后台数据交流怎样完成?jquery的ajax吧,假设数据交流的API假定20多个,那么$.get或许$.ajax你要写多少个才干全部包括出来?而且一切API链接都不在一个中央,管理起来相当费事。而backbone只需配置一下route就行了。
获取了数据后,你有如何管理这些数据,如何把数据渲染到界面上去?
如何管理各种事情?
jquery自身特性,也就是事情触发,很多时分,就是你在编写 触发事情->处置数据 的流程
很显然,功用一多,代码就会和面条一样,交织在一同了。然后你要么解体,要么自但是然的末尾写你自己的框架来管理代码了
总结一下:
1. 重复代码
2. 混乱代码
4. 更多精神用在UI的交流细节和渲染细节处置
5. 不宜扩大
6. 用户交互触发事情
7. 数据处置不在框架之内
小项目适宜运用。或许只是编写库,而不是系统编写(不触及数据处置),那纯用jquery还行。
2.谈谈MVC(MV*)
关于超越一定数量功用的网页运用顺序,最困难的如何高效的组织代码,假设能合理的架构出一个合理高效的运用顺序,这个是作为顺序员在思索的效果。
然 而有很多功用的一个大项目,有很多页面,也有很多代码,那么那么多代码一定会出现重复的,也一定有重复的任务流程在外面,“don‘t repeat yourself” 不要重复自己,那么假设能把一切重复的中央都笼统出来,渐渐的你会发现,你自己就在做一个自己的顺序框架。而这个框架能够就和现有的MVC相似
编程水平普通的人喜欢看代码是如何完成的,编程水平高的人普通看的的代码的笼统架构
backbone的依赖是jquery和underscore,它是树立在这两个库之上的,jquery操控界面,underscore处置数据,ajax停止前台和后台的数据交流,假设加上handlebar,可以增加对节目的代码量。
backbone自身就只是把一些重复的流程和代码笼统出来,可以你就可以不用不时重复一些不用要的任务了,(基本上一切的库都是这样)。还有一些复杂的规范,迫使你遵照规范来写。
另外编程最好的形状是集中肉体些业务逻辑,而不是一些完成的细节。优秀的库,就是应该协助顺序员愈加集中精神放在业务逻辑上,也愈加注重数据和最终的界面关系
另外MVC愈加适宜解耦,模块化,这样十分便于扩大,加个功用,加个API,模型和它的视图会容易很多。
MVC还有个觉得,就是更多的配置,更少的编程。或许说,编好各种模块后,经过配置,将他们链接起来(框架经过自己的机制去处置这些配置)。 配置益处有:1)结构化结构明晰分歧 2)一个类型的东西在一同 3)可读性高。
而事情管理下面,MVC愈加注重模型的数据改动而触发各种事情,就是将数据和事情联络起来,数据变化,界面变化。
总结一下:
1. 简化代码
2. 增加重复
3. 强迫规范
4. 集中肉体编写业务逻辑
5. 易于扩大
6. 数据触发事情
大项目一定要运用框架,不然到前期要不写不下去,要么回头还是要自己写一个框架来整理代码的。
* 其他
有些人会以为,库越多,越消耗功用,但是当运用网站功用到达一个量级,你的代码末尾需求以更好方式组合的时分,你又末尾重构为自己网站些框架了,那么运用优秀的库和框架,反而不会增加你运用网站的功用。