13919049954

Web 前端开发需要使用 MVVM 框架吗

作者:金城在线 日期:2017/11/8 15:17:30 人气:312

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. 数据触发事件

大项目一定要使用框架,不然到后期要不写不下去,要么回头还是要自己写一个框架来整理代码的。

* 其他

有些人会认为,库越多,越消耗性能,但是当应用网站功能达到一个量级,你的代码开始需要以更好方式组合的时候,你又开始重构为自己网站些框架了,那么使用优秀的库和框架,反而不会减少你应用网站的性能。


            金城在线专注网站、软件、APP、微信公众平台、小程序、抖音、头条等开发推广,如果您有这方面的需求或者不同的观点,欢迎联系交流。

    官方微信

    本文网址:http://lz.net.cn/SEOyouhua/467.html
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    上一篇: NoSQL如何入门
    更多>>网友评论
    发表评论