web前端发展简史

合集下载

WEB前端开发简史.

WEB前端开发简史.

WEB前端开发简史WEB前端开发现在非常火爆,下面首先我们大家跟随小编来了解一下前端开发的时间线。

1997 IE4.0发布,第一次互联网大战,蚕食Netscape市场,也是动态化的开端。

原始时期,JS不入流。

2002 Yahoo, 163, 早期Blog站泉涌, Web排版逐渐成熟,CSS2.0进入黄金期.2004 Gmail横空出世,紧接着GMap,Javascript威力初显,同年Firefox发布。

基于JS的复杂架构开始成为需求,类MVC框架为主流。

同时,基础框架涌现,网格库出现,JEE进入黄金期,B/C进入企业开发环境。

2006 Twitter及jQuery发布。

同年,Firebug早期版本发布,前端开始有像样的调试工具。

2007 iPhone发布,响应式开发成为需求,手机端页面不支持Flash。

移动互联网开始发展,SPA(Single Page App)模式开始酝酿。

2008 Android发布,手机网页进入HTML5时代;同年Github启动。

2009 Nodejs发布,PhoneGap获用户选择奖。

JS成为普适性开发语言,并且在移动终端上也占有一席之地(混合式APP)。

源代码教育更名为源码时代,是一家专注web前端培训、java培训、PHP 培训、UI设计培训的IT教育培训机构。

2010 iPad发布,iPhone4伴随retina屏幕发布,同年Requirejs发布,JS成为github最热语言。

2011 Twitter发布Bootstrap界面库,影响深远; Grunt项目启动2012 chrome首次全球份额第一。

世界范围内W3C标准已经成为跨平台展示及交互的最优解决方案,逐渐摆脱IE阴影;Angular 1.0.0 发布;2013 催生一大批国内抢票浏览器,IE份额进一步下降;Facebook的React 正式对外发布.2014 W3C正式发布HTML5推荐标准.2015 React Native发布总的来说一个产品从发布到有一定影响力需要大概三年时间,而且这个周期正在不断缩短。

Web前端技术发展简史

Web前端技术发展简史

Web前端技术发展简史1、静态页⾯阶段那是1990年的12⽉25⽇,恰是西⽅的圣诞节,Tim Berners-Lee在他的NeXT电脑上部署了第⼀套“主机-⽹站-浏览器”构成的Web系统,这标志BS架构的⽹站应⽤软件的开端,也是前端⼯程的开端。

1993年4⽉Mosaic浏览器作为第⼀款正式的浏览器发布。

1994年11⽉,⿍⿍⼤名的Navigator浏览器发布发布了,到年底W3C在Berners-Lee的主持下成⽴,标志着万维⽹进⼊了标准化发展的阶段。

这个阶段的⽹页还⾮常的原始,主要以HTML为主,是纯静态的只读⽹页。

2、Javascript诞⽣及第⼀次浏览器战争1995年,NetScape公司的⼯程师Brendan Eich设计了javascript脚本语⾔,并集成到了navigator2.0版本中。

随后微软也意识到了javascript 的潜⼒,并模仿开发VBScript和JScript应⽤到了IE中,这直接开启了NetScape和微软的浏览器竞争。

由于微软的IE集成在windows操作系统上的优势,NetScape的navigator很快在浏览器市场上落于下风。

于是他们把javascript提交到了ECMA,推动制订了ECMAScript标准,成功实现了javascript的标准国际化。

虽然第⼀次浏览器战争最后IE⼤胜Navigator,但是NetScape 的javascript主导了W3C的官⽅标准。

3、动态页⾯的发展Javascript的诞⽣之初,就给⽹页带来了⼀些跑马灯、浮动⼴告之类的特效和应⽤,让⽹页动了起来。

但是⽹页真正开始向动态交互发展的开端,却是PHP、JSP和ASP为代表的后端动态页⾯技术的出现。

这些服务器端的动态页⾯技术使得⽹页可以获取服务器的数据信息并保持更新,推动了Google为代表的搜索引擎和各种论坛的出现,万维⽹开始快速发展。

服务器端⽹页动态交互功能的不断丰富,伴随的是后端逻辑的复杂度快速上升,代码越来越复杂。

前端的发展历程

前端的发展历程

前端的发展历程由于前端技术的不断发展和更新,前端的发展历程可以大致分为以下几个阶段:1. 静态网页时代:在互联网刚刚兴起的初期,前端主要是进行静态网页的编写和设计。

通过HTML和CSS语言来创建基本的网页结构和页面样式,实现简单的页面效果。

2. 动态网页时代:随着互联网的发展和用户需求的提升,前端开始引入JavaScript语言来实现动态效果。

动态网页技术主要包括DOM 操作、事件驱动、表单交互等,使得网页具备更强的交互性和用户体验。

3. Web 2.0时代:Web 2.0时代的前端发展更加注重用户体验和用户参与。

Ajax技术的应用使得前端能够实现异步加载和局部刷新,提升网页的响应速度和性能。

同时,前端开始关注用户界面的设计和交互设计,提供更优秀的用户体验。

4. 响应式网页设计:随着移动互联网的兴起,前端需要适应不同终端设备的展示需求。

响应式网页设计成为了一个重要的发展方向,通过媒体查询和自适应布局来实现在不同屏幕尺寸下的适配和展示。

5. SPA和前端框架时代:单页面应用(SPA)的兴起和前端框架的发展使得前端开发变得更加高效和灵活。

前端框架如React、Vue等能够帮助开发者快速构建复杂的前端应用,并提供了大量的组件和工具库来加速开发进程。

6. 前端工程化:随着前端项目的规模越来越大,前端工程化成为了一个重要的发展方向。

前端工程化包括代码规范、模块化开发、构建工具、自动化测试等,可以提高代码的可维护性和开发效率。

7. PWA和WebAssembly:渐进式Web应用(PWA)的出现使得前端应用具备了更接近原生应用的功能和性能。

同时,WebAssembly的引入使得前端能够运行更底层的代码,提供了更高的运行效率和扩展能力。

综上所述,前端的发展历程经历了从静态网页到动态网页,再到Web 2.0时代的用户体验和响应式设计,以及SPA和前端框架的发展。

同时,前端工程化和新技术的应用也成为了前端发展的重要趋势。

Web前端技术的发展与应用

Web前端技术的发展与应用

Web前端技术的发展与应用一、Web前端技术概述Web前端技术在互联网的发展过程中,扮演着重要的角色。

它主要包括HTML、CSS和JavaScript三个方面的技术。

这些技术通过浏览器运行,实现了网页的呈现与交互,对于今天的互联网行业发展有着至关重要的作用。

二、Web前端技术的历史演变1991年,Tim Berners-Lee发明了第一个Web服务器和浏览器,这标志着Web技术的诞生。

早期的Web仅仅是几个简单的HTML 标签组成,页面内容和样式非常单一,无法满足人们对Web的高度期望。

随着CSS和JavaScript的出现,Web开始变得越来越丰富和多样化。

在Web 2.0的时代,Web前端技术更是得到了广泛发展。

这个时期,各种Web应用如雨后春笋般涌现,如Twitter、Facebook、Youtube等,它们成功的为我们提供了更加优秀的网页应用体验。

而移动互联网的出现更是让Web前端技术得到了进一步发展和应用。

三、Web前端技术的应用1. 网页设计:Web前端技术在网页设计方面占据着举足轻重的地位。

通过布局,样式和颜色等设置可以将网页设计的美观并富有视觉感受,实现对用户更好的吸引力。

2. 动态效果:JavaScript技术可以实现各种交互效果,在网页中实现动态效果。

例如菜单下拉效果、轮播图、拖拽等。

3. Web应用:JavaScript技术已经被广泛应用于Web应用的开发。

例如阿里云、百度云等均使用JavaScript技术开发了一些前端框架,如Vue、React等。

4. 移动应用:手机浏览器正逐渐成为主流。

Web前端技术的应用,已经可以满足人们的需求。

特别是在响应式设计的应用,设计一个网页,只需要设置一套规则,就可以在PC和移动设备上动态适配。

五、Web前端技术的发展趋势1. 移动优先:HTML5、CSS3以及响应式设计技术应运而生,以往仅仅为桌面电脑而设计的网站,现在需要在各种设备上正常浏览,而且已成为一种标配。

前端发展历史和现主流框架对比

前端发展历史和现主流框架对比

前端发展历史和现主流框架对比前端技术的发展历史可以追溯到万维网诞生之初,随着互联网的发展,页面的需求也愈发多样化和复杂化。

从最早的静态HTML页面到现在的富交互应用,前端开发经历了一个漫长而丰富多彩的历程。

本文将介绍前端发展的历史,并对目前主流的几个前端框架进行对比。

1.前端发展历史1.1 HTML/CSS/JavaScript时代(1990s)1990年代,最早的网页是由HTML(超文本标记语言)和CSS(层叠样式表)组成的。

HTML负责页面的结构、内容和链接,CSS则负责页面的样式和布局。

而当时的JavaScript仅用于一些简单的页面交互。

1.2 Web2.0时代(2000s)进入21世纪后,随着网页应用的复杂度不断提高,JavaScript也渐渐发挥了更重要的作用。

在Web 2.0时代,出现了一系列重要的前端技术和框架,如jQuery、Prototype、Dojo等。

这些工具和框架大大简化了开发人员的工作,使得网页交互更加丰富多样。

1.3前端MVC架构时代(2024s)2024年代,前端开始采用MVC(Model-View-Controller)架构,通过将数据、视图和逻辑分离来更好地管理复杂的交互。

Backbone.js、AngularJS和Ember.js等框架相继出现,引领了前端开发的潮流。

这些框架提供了强大的数据绑定和组件化开发等功能,改变了传统的开发方式。

1.4现代前端框架时代(2024s至今)近年来,前端技术发展迅速,新的框架和工具层出不穷。

React和Vue.js的出现标志着现代前端框架的兴起。

React通过虚拟DOM和组件化的思想,提供了高效且灵活的界面开发方式。

Vue.js则借鉴了AngularJS和React的优点,更加简洁明了,并且有着更高的性能。

2.主流前端框架对比2.1 AngularJSAngularJS是由Google开发的一款前端框架,它采用双向数据绑定、依赖注入和模块化等特性,使得开发人员可以更方便地构建复杂的单页应用。

web前端发展史

web前端发展史

web前端发展史Web前端发展史随着互联网的迅速发展,Web前端技术也在不断演进和壮大。

本文将带领读者回顾Web前端的发展历程,从最早的静态网页到如今的响应式设计,以及未来的发展趋势。

1. 静态网页时代Web前端的起源可以追溯到20世纪90年代中期,当时的网页主要是静态的HTML页面,内容简单、布局固定。

用户通过浏览器访问网页,服务器将静态页面传输给用户端进行展示。

这个阶段的前端技术主要是HTML和CSS,用于定义网页的结构和样式。

2. 动态网页时代随着互联网的普及,用户对于网页的需求也越来越高。

为了实现更丰富的交互和动态效果,前端技术开始向更高级的方向发展。

JavaScript的出现成为了Web前端的重要里程碑,它赋予了网页更多的交互能力。

通过JavaScript,可以实现表单验证、动态加载内容、响应用户操作等功能。

3. Web标准化随着Web前端的不断发展,各种浏览器的兼容性问题逐渐凸显。

为了解决这个问题,W3C(World Wide Web Consortium)组织推出了一系列的Web标准,如HTML5和CSS3。

这些标准的出现,使得前端开发人员能够更方便地编写代码,同时也提升了用户体验。

4. 响应式设计随着移动设备的普及,用户开始使用各种不同尺寸的屏幕访问网页。

为了适应不同设备的需求,响应式设计应运而生。

响应式设计能够根据设备的屏幕尺寸和分辨率自动调整网页的布局和样式,使得用户无论在哪个设备上访问网页都能够获得良好的体验。

5. 前端框架的兴起为了提高开发效率和代码质量,前端框架开始出现。

框架的出现使得开发人员能够更好地组织和管理代码,提供了丰富的组件和工具。

常见的前端框架有React、Angular和Vue.js等,它们在Web前端开发中得到了广泛的应用。

6. 移动端应用开发随着移动互联网的快速发展,移动端应用开发成为了Web前端的一个重要方向。

通过HTML5和相关技术,前端开发人员可以开发跨平台的移动应用,使得应用能够在各种移动设备上运行。

Web前端技术的发展与趋势

Web前端技术的发展与趋势

Web前端技术的发展与趋势随着互联网日益普及,Web前端技术也在不断发展壮大。

Web前端技术,指的是网站开发中涉及到的 HTML、CSS、JavaScript 等技术,它们负责网站的页面布局、样式和交互特效。

在移动设备和互联网的影响下,Web前端技术也在不断更新换代,成为了一门拥有广泛研究价值的技术。

一、Web前端技术的历史Web前端技术的历史可以追溯到 1990 年代中期,那时出现了 HTML 的第一个版本。

随后,CSS 和 JavaScript 这两种技术也相继诞生。

此时的Web前端技术主要是为了实现文本、链接等基本功能,用户体验还比较简单,大量使用静态页面。

随着互联网的普及和即时通讯技术的发展,Web前端技术也开始快速进化。

2004 年,Ajax 技术诞生,实现了网页的异步更新,使得网页变得更加动态、交互性更强。

2008 年,HTML5 开始出现,提供了更多新的元素和 API。

2011 年,CSS3 预览版推出,让开发者实现更丰富的效果。

此后,Web前端技术还在不断发展,新的技术不断推出,如React、AngularJS、Vue.js 等框架,提供了更方便、快捷的处理方式,大大提高了开发效率。

同时,移动互联网的兴起,近年来,Web前端技术也在逐渐向移动设备过渡,比如响应式设计、移动端框架等趋势。

二、Web前端技术的趋势1. 响应式设计随着移动设备的普及,网页也需要逐渐适应不同的屏幕大小。

响应式设计可以使网页适应不同屏幕大小,并且根据不同设备的特点,有针对性地选择显示的内容和样式。

2. 移动端技术近年来,Web前端技术不仅适应 PC 端网页开发,还涉及到了移动设备的网页开发。

移动端技术包括了 iOS、Android 等操作系统的网页开发,不同设备的网页开发可以使用框架,如 React Native、Flutter 等。

3. 单页面应用单页面应用(SPA)是一种新型的网页设计思想,它将不同的页面合并在一个网页内,通过 AJAX 技术动态地加载数据,使得网页速度更快。

Web前端发展史

Web前端发展史

Web前端发展史前端到底是个啥前端其实是个很⼤的范畴。

我这⾥只针对 web 开发的前端⽽⾔(下⽂统称前端)。

简单点说,针对浏览器的开发,浏览器呈现出来的页⾯就是前端。

它的实质是前端代码在浏览器端被编译、运⾏、渲染。

前端代码主要由三个部分构成:html(超⽂本标记语⾔)、css(级联样式表)、JavaScript。

前端发展历程前端也算是经历了⼀个⽐较漫长的发展过程,⼤致历程可以分为以下⼏个阶段:上古时代:这个节点不得不说以下,世界上第⼀款浏览器 NCSAMosaic ,是⽹景公司(Netscape)在1994年开发出来的,它的初衷是为了⽅便科研⼈员查阅资料、⽂档(这个时候的⽂档⼤多是图⽚形式的)。

那个时代的每⼀个交互,按钮点击、表单提交,都需要等待浏览器响应很长时间,然后重新下载⼀个新页⾯给你看,⼤概是这样:同年 [php](超⽂本预处理器)[5] 脚本语⾔被开发出来,开启了数据嵌⼊模板的 MVC 模式,同时期⽐较类似的做法有以下⼏种:php 直接将数据内嵌到 html 中。

ASP 的 ASPX,在 HTML 中嵌⼊ C# 代码。

Java 的 jsP 直接将数据嵌⼊到⽹页中。

这个时期,浏览器的开发者,以后台开发⼈员居多,⼤部分前后端开发是⼀体的,⼤致开发流程是:后端收到浏览器的请求 ---> 发送静态页⾯ ---> 发送到浏览器。

即使是有专门的前端开发,也只是⽤ HTML 写写页⾯模板、css 给页⾯排个好看点的版式(要不是我堂堂程序员看不上这点活,你们这些个切图仔就得要饭去~)。

铁器时代(⼩前端时代)1995年,这是个好年份,⼜是这个搞事的⽹景公司,拜托⼀位叫布兰登·艾奇的⼤佬,希望开发出⼀个类似 Java 的脚本语⾔,⽤来提升浏览器的展⽰效果,增强动态交互能⼒。

结果⼤佬喝着啤酒抽着烟,⼗来天就把这个脚本语⾔写出来了,功能很强⼤,就是语法⼀点都不像Java。

这样就渐渐形成了前端的雏形:HTML 为⾻架,CSS 为外貌,JavaScript 为交互。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web前端发展简史有人说“前端开发”是IT界最容易被误解的岗位,这不是空穴来风。

如果你还认为前端只是从美工那里拿到切图,JS和CSS一番乱炖,难搞的功能就去网上信手拈来,CtrlC + Ctrl V的话,那就正中了这份误解的下怀。

经过十几年的发展,web前端早已脱离了原来边缘化的形态,扮演了移动互联网开发链条中最关键的角色,是应用或产品能否打动用户的踹门砖。

那么什么是前端开发,其又包含了哪些内容?前端开发的定义从狭义的定义来看,“前端开发”是指围绕HTML、JavaScript、CSS这样一套体系的开发技术,它的运行宿主是浏览器。

从广义的定义来看,其应该包括:●专门为手持终端设计的类似WML这样的类HTML语言,以及类似WMLScript的类JavaScript语言。

●VML和SVG等基于XML的描述图形的语言。

●从属于XML体系的XML,XPath,DTD等技术。

●用于支撑后端的ASP,JSP,,PHP,Nodejs等语言或者技术。

●被第三方程序打包的一种类似浏览器的宿主环境,比如Adobe AIR和使用HyBird方式的一些开发技术,如PhoneGap。

●Adobe Flash,Flex,Microsoft Silverlight,Java Applet,JavaFx等RIA开发技术。

本文主要从“web前端”,也即狭义前端的角度出发,以人类科技进步划时代的方式,将前端开发划分为几个重要的时代,带领大家领略一下前端这十几年来的发展历程。

石器时代最早期的Web界面基本都是在互联网上使用,人们浏览某些内容,填写几个表单并且提交。

当时的界面以浏览为主,基本都是HTML代码,我们来看一个最简单的HTML文件:为了执行一些动作或进行一定的业务处理,有时候会穿插一些JavaScript,如作为客户端校验这样的基础功能。

代码的组织比较简单,而且CSS的运用也是比较少的。

譬如:下面这个文档将带有一段JavaScript代码,用于拼接两个输入框中的字符串,并且弹出窗口显示。

由于静态界面不能实现保存数据等功能,出现了很多服务端技术,早期的有CGI(Common Gateway Interface,多数用C语言或者Perl实现的),ASP(使用VBScript或者JScript),JSP (使用Java),PHP等等,Python和Ruby等语言也常被用于这类用途。

有了这类技术,在HTML中就可以使用表单的post功能提交数据了,比如:在这个阶段,由于客户端和服务端的职责未作明确的划分,比如生成一个字符串,可以由前端的JavaScript做,也可以由服务端语言做。

所以通常在一个界面里,会有两种语言混杂在一起,用<%和%>标记的部分会在服务端执行,输出结果,甚至经常有把数据库连接的代码跟页面代码混杂在一起的情况,给维护带来了很大的问题。

青铜时代青铜时代的典型标志是出现了组件化的萌芽,着眼点主要在文件的划分上。

后端组件化比较常见的做法是,把某一类后端功能单独做成片段,然后其他需要的地方来include进来,典型的有:ASP里面数据库连接的地方,把数据源连接的部分写成conn.asp,然后其他每个需要操作数据库的asp文件包含它。

浏览器端则通常针对JavaScript脚本文件,把某一类的Javascript代码写到单独的js文件中,界面根据需要,引用不同的js文件;针对界面组件,则通常利用frameset和iframe这两个标签。

某一大块有独立功能的界面写到一个HTML文件,然后在主界面里面把它当作一个frame来载入,一般的B/S系统集成菜单的方式都是这样的。

是不是觉得很熟悉?对的,现在大多公司的内部系统正是这个时代的产物。

此外,还出现了一些基于特定浏览器的客户端组件技术,比如IE浏览器的HTC(HTMLComponent)。

这种技术最初是为了对已有的常用元素附加行为的,后来有些场合也用它来实现控件。

微软的一些版本里,使用这种技术提供了树形列表,日历,选项卡等功能。

HTC的优点是允许用户自行扩展HTML标签,可以在自己的命名空间里定义元素,然后,使用HTML,JavaScript和CSS来实现它的布局、行为和观感。

这种技术因为是微软的私有技术,所以逐渐变得不那么流行。

Firefox浏览器布其后尘,也推出过一种叫XUL的技术,也同样没有流行起来。

铁器时代这个时代的彗星是Ajax的出现以及JS基础框架的兴起。

AJAXAJAX其实是一系列已有技术的组合,早在这个名词出现之前,这些技术的使用就已经比较广泛了,GMail因为恰当地应用了这些技术,获得了很好的用户体验。

由于Ajax的出现,规模更大,效果更好的Web程序逐渐出现,在这些程序中,JavaScript代码的数量迅速增加。

出于代码组织的需要,“JavaScript框架”这个概念逐步形成,当时的主流是Prototype和Mootools,两者各有千秋,提供了各自方式的面向对象组织思路。

JavaScript基础框架Prototype框架主要是为JavaScript代码提供了一种组织方式,对一些原生的JavaScript类型提供了一些扩展,比如数组、字符串,又额外提供了一些实用的数据结构,如:枚举,Hash 等,除此之外,还对dom操作,事件,表单和Ajax做了一些封装。

Mootools框架的思路跟Prototype很接近,它对JavaScript类型扩展的方式别具一格,所以在这类框架中,经常被称作“最优雅的”对象扩展体系。

从这两个框架的所提供的功能来看,它们的定位是核心库,在使用的时候一般需要配合一些外围的库来完成。

倚天不出,谁与争锋?除以上两者以外,还有YUI,jQuery等,JavaScript基础框架在这个时代算得上是百花齐放,但是时间已经证明,真正的王者是jQuery。

jQuery与其他的基础框架都有所不同,它着眼于简化DOM相关的代码。

例如:●DOM的选取jQuery提供了一系列选择器用于选取界面元素,在其他一些框架中也有类似功能,但一般没有它简洁而强大。

●链式表达式在jQuery中,可以使用链式表达式来连续操作DOM,如果不使用链式表达式,可能需要这么写:但是有了链式表达式,一行代码就可以搞定:除此之外,jQuery还提供了一些动画方面的特效代码,也有大量的外围库,比如jQuery UI 这样的控件库,jQuery mobile这样的移动开发库等。

农业时代这个时代的标志性事件是模块加载规范(AMD以及CMD)的出现。

铁器时代出现的基础框架提供了代码的组织能力,但是未能提供代码的动态加载能力。

动态加载JavaScript为什么重要呢?因为随着Ajax的普及,jQuery等辅助库的出现,Web上可以做很复杂的功能,因此,单页面应用程序(SPA,Single Page Application)也逐渐多了起来。

单个的界面想要做很多功能,需要写的代码是会比较多的,但是,并非所有的功能都需要在界面加载的时候就全部引入,如果能够在需要的时候才加载那些代码,就把加载的压力分担了,在这个背景下,出现了一些用于动态加载JavaScript的框架,也出现了一些定义这类可被动态加载代码的规范。

AMD在这些框架里,知名度最高的是RequireJS,遵循了AMD(Asynchronous Module Definition)的规范。

比如下面这段,定义了一个动态的匿名模块,它依赖math模块:假设上面的代码存放于adder.js中,当需要使用这个模块的时候,通过如下代码来引入adder:RequireJS除了提供异步加载方式,也可以使用同步方式加载模块代码。

AMD规范除了使用在前端浏览器环境中,也可以运行于NodeJS等服务端环境,但是NodeJS内置的模块机制是基于CMD规范定义的。

CMD值得一提的是,在浏览器端,除了RequireJS以外,国内的牛人淘宝玉伯开发了SeaJS异步模块加载器,其遵循CMD规范,目前已经有超过300家大型web应用或站点采用,SeaJS 同样简单易学:工业时代“这是一个最好的时代,也是一个最坏的时代。

”前端自动化和MV*框架真正让前端迎来了春天,但是这个时代框架插件众多、体系繁复,让前端新手无所适从。

在这个时代,Web 端功能日益复杂,人们不得不开始考虑这样一些问题:●如何更好地模块化开发●业务数据如何组织●界面和业务数据之间通过何种方式进行交互在这种背景下,前端MVC、MVP、MVVM框架如雨后春笋,我们暂且把这些框架都统称为MV*框架。

这些框架的出现,正是为了解决上述这些问题,具体的实现思路各有不同,主流的有Backbone,AngularJS,Ember三大剑客,本文主要选用Backbone和AngularJS来讲述以下场景。

数据模型在这些MV*框架里,定义数据模型的方式与以往有些差异,主要在于数据的get和set更加有意义了,比如说,可以把某个实体的get和set绑定到RESTful的服务上,这样,对某个实体的读写可以更新到数据库中。

另外一个特点是,它们一般都提供一个事件,用于监控数据的变化,这个机制使得数据绑定成为可能。

在一些框架中,数据模型需要在原生的JavaScript类型上做一层封装,比如Backbone的方式是这样:上述例子中,defaults方法用于提供模型的默认值,initialize方法用于做一些初始化工作,这两个都是约定的方法,toggle是自定义的,用于保存todo的选中状态。

除了对象,Backbone也支持集合类型,集合类型在定义的时候要通过model属性指定其中的元素类型。

数据模型也可以包含一些方法,比如自身的校验,或者跟后端的通讯、数据的存取等等,在上面两个例子中,也都有体现。

AngularJS的模型定义方式与Backbone不同,可以不需要经过一层封装,直接使用原生的JavaScript简单数据、对象、数组,相对来说比较简便。

控制器在Backbone中,是没有独立的控制器的,它的一些控制的职责都放在了视图里,所以其实这是一种MVP(Model View Presentation)模式,而AngularJS有很清晰的控制器层。

还是以这个todo为例,在AngularJS中,会有一些约定的注入,比如$scope,它是控制器、模型和视图之间的桥梁。

在控制器定义的时候,将$scope作为参数,然后,就可以在控制器里面为它添加模型的支持。

本例中为$scope添加了todos这个数组,addTodo,remaining和archive三个方法,然后,可以在视图中对他们进行绑定。

视图在这些主流的MV*框架中,一般都提供了定义视图的功能。

在Backbone中,是这样定义视图的:上面这个例子是一个典型的“部件”视图,它对于界面上的已有元素没有依赖。

相关文档
最新文档