iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >前端MV*框架的意义是什么
  • 370
分享到

前端MV*框架的意义是什么

2024-04-02 19:04:59 370人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关前端MV*框架的意义是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。经常有人质疑,在前端搞MV*有什么意义?也有人提出这样的

这篇文章将为大家详细讲解有关前端MV*框架的意义是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

经常有人质疑,在前端搞MV*有什么意义?也有人提出这样的疑问:以angularjs,Knockout,BackBone为代表的MV*框架,它跟Jquery这样的框架有什么区别?我jQuery用得好好的,有什么必要再引入这种框架?

回答这些问题之前,先要理清一些历史,前端从什么时候开始有框架的?

早期前端都是比较简单,基本以页面为工作单元,内容以浏览型为主,也偶尔有简单的表单操作,这个时期每个界面上只有很少的javascript逻 辑,基本不太需要框架。随着ajax的出现,WEB2.0的兴起,人们可以在页面上可以做比较复杂的事情了,然后前端框架才真正出现了,以jQuery为 代表,针对界面上常见的DOM操作,远程请求,数据处理等作了封装,也有专注于处理数据的Underscore,严格来说,这些都不能算框架,而是算库。

库和框架是有一些区别的:库是一种工具,我提供了,你可以不用,即使你用了,也没影响你自己的代码结构。框架则是面向一个领域,提供一套解决方案, 如果你用我,就得按照我的方式办事。按照这个定义,jQuery和Underscore都只能算是库,ExtJS和dojo算框架。

MV*框架又是为什么兴起的呢?它的出现,伴随着一些Web产品逐渐往应用方向发展,遇到了在C/S领域相同的问题:由于前端功能的增强、代码的膨胀,导致不得不做“前端的架构”这个事情了。

很多做后端开发的人对前端架构很不屑,认为前端只是很薄的一层东西,做架构干什么?什么,不但要搞架构,还要搞mvc?Java  Struts的MVC中,整个前端都只能算是View而已,你还要在这个View里面划分模型和控制器等其他东西?他们中的多数对这个很不屑,但Web前 端随着复杂度的增加,很多地方跟客户端已经没有本质区别了。

jQuery的思维方式是:以DOM操作为中心
MV*框架的思维方式是:以模型为中心,DOM操作只是附加

所以回到那个问题上,jQuery满足了你的业务需要,你还有什么必要引入MV*框架?

这个是要看产品类型的,如果是页面型产品,多数确实不太需要它,因为页面中的JavaScript代码,处理交互的绝对远远超过处理模型的,但是如果是应用软件类产品,这就太需要了。

长期做某个行业软件的公司,一般都会沉淀下来一些业务组件,主要体现在数据模型、业务规则和业务流程,这些组件基本都存在于后端,在前端很少有相应 的组织。在以往的经验里,他们是有做MVC的,也尝试做了一些界面组件,但做法比较过时,比如说使用JSF或者GWT这样的方式。

JSF的问题是什么?它的问题并不在于界面跟逻辑混合,所谓的纵向切分组件,Polymer这种纯前端框架也是这么切分的,它问题在于组件的生成和 渲染不在同一个地方。所以,逻辑代码的位置很尴尬,如果这个界面简单还好说,复杂起来就很麻烦了,就是很多明明是前端逻辑代码,却需要通过后端去生成。

GWT这种方式相对要好一些,它的问题是留给UI调节的余地太小了,比较缺乏灵活性。

这类基于某种服务端技术的组件化方式有一些局限性,比如它较大程度限制了前端的发挥,在早一些的时候,这种方式可能还不错,但是现在随着时代发展, 用户对前端用户体验要求越来越高,需要我们把很大一部分精力继续放回前端来。JSF等方案的另外一个问题是绑定了某种服务端环境,很难切换到另外一种后端 上,如果碰上要用Hybird方式开发,想复用一些前端逻辑,几乎毫无可能。

那么,我们看看纯前端的框架,看看都是怎么解决这些问题的。以Google为例,它推出了两个框架,Polymer和Angular,而且处于并行发展的阶段,这两者理念还有不小的差别,给不少人带来了困惑。

Polymer切分组件的方式有点类似JSF,它跟HTML5标准中的Shadow  DOM和Element有很大联系,这种切分组件的方式非常直观,每个组件都是端到端的,包含UI和逻辑,直接放置到某个界面上就能用,这种方式很容易被 业务开发人员接受,但里面的时序比较难处理。

比如说,有两个组件,里面各包含一个下拉框,有数据的联动关系,因为它们处在两个不同的组件里,联动的处理代码就很难写,考虑到组件的特点,要尽量 隐藏自己的内部实现,所以从外部获取组件内部的某个元素要绕一层,而组件不能依赖其他外部的东西,所以到***只有通过事件去实现,这个联动代码写好了应当 放在哪里,也是个大问题。我们的例子仅仅是这么简单,就要绕这么个大圈子才能保证时序,如果场景比较复杂,非常难以控制。

如果同样的组件在某个界面被复用多次,数据的一致性也很难保证,设想一下某个界面存在两个一样的下拉框,分别处于不同组件中,两者的数据都需要分别 去加载,这个过程是有浪费的,更严重的是,如果这个下拉框对应的数据有更新,很难把每个实例都更新一遍,这个处理过程是非常麻烦的。

Angular框架处理问题的方式跟它有所不同,它是水平分层,所有这些数据访问逻辑都跟UI彻底分离,所以可以很轻松地把这个逻辑代码写出来,这么一来,前面所述端到端的组件就彻底退化,变成只有界面展现了。

看看刚才碰到的两个问题,***个,模型代码按照业务领域进行划分,获取的数据放在两个不同的数组,然后通过双向绑定跟UI产生关联,如果UI上一个 下拉框选中项发生变更,只需要监控这个取值项,然后更新另一个下拉框的取值列表即可,完全不需要绕弯子。即使这两个处于不同模型中,也可以用类似后端的方 式,采用事件总线等机制去完成通信。

第二个更简单了,复用的组件其实只有UI,也就是说,只有UI是多实例的,模型其实只有一份,比如说一个地区的树形结构,即使一个界面上同时有维护 和使用两种功能,都可以共享同一份模型,当维护这边对数据进行了更新,就实时反馈到模型中,然后由双向绑定再把这个模型同步到界面上的使用方去,整个过程 清晰可控。

从协作关系上讲,很多前端开发团队每个成员的职责不是很清晰,有了前端的MV*框架,这个状况会大有改观。MV*框架的理念是把前端按照职责分层,每一层都相对比较独立,有自己的价值,也有各自发挥的余地。

为什么多数做互联网前端开发的同学们感受不到MV*框架的重要性呢,因为在这个协作体系里,Model的这一块不够复杂,在传统软件领 域,Model的部分是代码最多的,View的相对少一些,而互联网领域里,基本是相反的,所以Model这块沦为附加,如果主要在操作View和 Controller,那当然jQuery这类框架比较好用了。

所以,经常看到有互联网产品的同学们讲前端MVC,但举例的时候,都比较牵强,很多时候,他们举出来的那个Model,其实都不能算真正的Model,而是在操作View的过程中一些辅助的模型,真正的Model是贯穿前后端的。

归根结底,前端MV*框架带来的是一整套工作流程的变更,后端工程师也可以编写前端的模型代码,把它跟后端彻底打通,交互工程师处理UI跟模型的互 动关系,UI工作人员可以专注、无障碍地处理html源码,把它们以界面模版的形式提供给交互工程师。这一整套协作机制能够大大提高B/S架构系统的开发 效率,如果再有外围的管控平台,生产效率将真正踏进工业化的阶段。

到这个阶段,前端开发人员的出路是什么呢?我认为有两种。拿服装行业来对比,如果你要的是普通的,就使用工业手段批量生产,使用MV*框架,做好架 构和组件重用,做得快,细节不是很讲究。如果你想要更好的,有特色的,就需要名家设计,手工打造,非常精巧,高端大气上档次。所以,这也就代表着前端开发 的两种发展方向。

关于前端MV*框架的意义是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 前端MV*框架的意义是什么

本文链接: https://www.lsjlt.com/news/86314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 前端MV*框架的意义是什么
    这篇文章将为大家详细讲解有关前端MV*框架的意义是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。经常有人质疑,在前端搞MV*有什么意义?也有人提出这样的...
    99+
    2022-10-19
  • 前端三大框架是什么
    本篇内容介绍了“前端三大框架是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • web前端的主流框架是什么
    今天小编给大家分享一下web前端的主流框架是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2022-10-19
  • vue框架是前端还是后端的
    vue框架是属于前端的,现在vue一般都是指vue.js,vue-router,vuex的统称,它是一套构建web用户界面的渐进式框架,能够让基于网页的前端应用程序开发起来更加方便,可以对数据进行双向绑定,并且使用vue编写出来的界面效果都...
    99+
    2022-10-06
  • linux mv的含义是什么
    今天小编给大家分享一下linux mv的含义是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-04-19
    linux
  • 前端css框架包括什么
    前端CSS框架是一组预定义的CSS样式和布局规则,旨在帮助开发人员构建具有一致外观和响应式设计的网页。以下是一些常见的前端CSS框架内容:网格系统:网格系统是前端CSS框架的核心组成部分之一。它提供了一种简单的方式来创建网页布局,通过将页面...
    99+
    2023-10-21
    css
  • Bootstrap前端框架有什么用
    小编给大家分享一下Bootstrap前端框架有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:什么是Bootstrap?...
    99+
    2022-10-19
  • React前端框架实现原理是什么
    这篇文章主要介绍“React前端框架实现原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React前端框架实现原理是什么”文章能帮助大家解决问题。vdomreact 和 vue 都是基于 v...
    99+
    2023-07-02
  • web前端框架有什么作用
    本篇内容主要讲解“web前端框架有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前端框架有什么作用”吧!一、前端框架是什么意思顾名思义,前端框架是用来简化网页设计的框架,它帮助开发...
    99+
    2023-06-27
  • web前端是什么意思
    Web前端,简而言之,就是网站的“外衣”和“大脑”。它负责展现给用户的Web页面的设计和交互,并与后台服务器进行数据通信和交互处理。Web前端技术一直处于高速发展之中,可以说是网站开发中不可或缺的部分。Web前端技术主要包括三个方面:HTM...
    99+
    2023-05-14
  • JS中有什么前端开发框架
    这篇文章将为大家详细讲解有关JS中有什么前端开发框架,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、 Foundation框架Foundation框架比Bootstra...
    99+
    2022-10-19
  • web前端架构指的是什么
    这篇文章主要讲解了“web前端架构指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端架构指的是什么”吧!web前端架构是一系列工具和流程的集合,旨在提升前端代码的质量,并实现...
    99+
    2023-07-05
  • web前端SEO是什么意思
    这篇文章主要介绍了web前端SEO是什么意思的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇web前端SEO是什么意思文章都会有所收获,下面我们一起来看看吧。SEO简介全称:Search English Opti...
    99+
    2023-06-27
  • php做前端是什么意思
    在Web开发中,通常需要使用不同的技术来实现不同的功能。其中,前端技术用于实现用户界面和交互逻辑,而后端技术用于处理数据和业务逻辑。前端通常使用HTML、CSS和JavaScript等技术,而后端通常使用PHP、Java、Python和Ru...
    99+
    2023-05-24
  • web前端架构师是什么
    随着互联网行业的不断发展,Web前端技术也成为了一项非常重要的技能。在Web前端领域中,Web前端架构师是一个非常关键的职位,他们是整个Web前端团队的核心人物,负责为项目提供技术架构的选择和设计。Web前端架构师是指那些拥有深度技术能力并...
    99+
    2023-05-20
  • php框架指的是什么意思
    小编给大家分享一下php框架指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!推荐操作系统:windows7系统、PHP5.6、DELL G3电脑1、概...
    99+
    2023-06-14
  • web前端切图是什么意思
    Web前端切图指的是将设计师提供的UI设计稿(通常为PSD文件)转换成网页上可显示的HTML、CSS和图像文件的过程。切图的目的是将...
    99+
    2023-09-22
    web前端
  • 前端工程化是什么意思
    本篇内容主要讲解“前端工程化是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“前端工程化是什么意思”吧!工程及工程化一个工程其实就是一个项目,比如一个网站...
    99+
    2022-10-19
  • 微前端框架导入加载子应用的方法是什么
    本篇内容主要讲解“微前端框架导入加载子应用的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微前端框架导入加载子应用的方法是什么”吧!下面代码,我指定的...
    99+
    2022-10-19
  • 在编程中前端和后端是什么意思
    小编给大家分享一下在编程中前端和后端是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在编程...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作