欢迎来到天天文库
浏览记录
ID:22228286
大小:68.00 KB
页数:6页
时间:2018-10-27
《JavaScript 客户端 MVC 框架调查》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方简介 15年前,许多人都使用Perl和ColdFusion之类的工具构建网站。我们经常编写可以在页面顶部查询数据库的脚本,对数据应用必要的转换,以及在同一个脚本底部显示数据。这类架构适合于向网站添加简单的“Contactus”表单。然而,随着应用程序变得更加复杂,这种方法无法进行相应的扩展来处理更大的复杂问题。大部分Web应用程序现在已经对模型-视图-控制器(MVC)架构进行了标准化,使用单独的代码实现业务逻辑、显示逻辑
2、和用户交互(路由)逻辑。涌现出从SpringMVC到Rails的各种框架可以帮助您快速实现基于MVC的Web应用程序。 几年前,jQuery是用于构建客户端JavaScript应用程序的主流库。然而,随着应用程序中的JavaScript的复杂性日益增加,jQuery成为一项处理复杂性的必要不充分技术。例如,用于待办事项(to-do)列表的单页面应用程序可以包含一个紧急待办事项列表、一个完整的待办事项列表、一个当日待办事项列表,以及一个过期待办事项列表。在删除某个待办事项时会怎样?如果任务很紧急但已过期,您可能需要手动编写代码来从
3、视图中的三个或四个不同位置中删除该事项。如果删除某个对象后需要您删除或更改屏幕上显示的其他相关对象,这样复杂性就会变得无法控制。 客户端MVC框架旨在解决此类问题,并且大多数框架都表现出色。但是您如何从许多JavaScript客户端MVC框架中选择合适的框架。本文将从较高的层面简要介绍其中一些最流行的框架。以及如何针对给定的用例选择合适的框架。www.thy818.comBackbone.js 在使用率方面,Backbone是目前为止最流行的客户端MVC框架。它被广泛应用于各个开发社区,Rails开发人员对它的采用率一直较高,
4、并出现了许多广受欢迎的资源,比如thoughtbot(一家备受尊敬的Rails咨询公司)推出了BackboneonRails。Backbone.js的优势在于它与具象状态传输Web服务实现了良好的集成。如果您对后端数据使用RESTfulJavaScriptObjectNotation(JSON)模型并遵循Backbone所期望的约定(与Rails中的约定匹配),那么您不需要编写任何代码就可以将Backbone连接到服务器,从而节省大量的时间。----------专业最好文档,专业为你服务,急你所急,供你所需------------
5、-文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方 在Backbone中,应用程序包含集合(用户或文章)、模型(单个用户或文章)、视图和路由器。Backbone.js中的视图是非预定的(nonprescriptive),允许您使用自己喜欢的JavaScript模板或框架。路由器结合了Rail风格的路由器和一个传统的MVC控制器,负责获得给定的URL并通知框架要运行的代码。清单1中的Backbone.js路由器代码给出了一个示例。 清单1.样例Bac
6、kbone.js路由器代码?12345678910111213141516varWorkspace=Backbone.Router.extend({ routes:{ "help": "help", //#help "search/:query": "search", //#search/kiwis "search/:query/p:page":"search" //#search/kiwis/p7 }, help:function(){ .
7、.. }, search:function(query,page){ ... }}); Backbone.js附带了一个Underscore.js副本。Underscore.js是一组实用工具,可以通过更加功能化的方式简化JavaScript的编写,并支持一系列有用的基于集合的操作。它还包括Backbone.history,后者可以帮助您巧妙地处理页面导航。 Backbone.js主要优势在于它与服务器的自动集成。如果这样做适合您的用例,那么学习如何使用Backbone.js将是值得的。您可以通过一些框架在一
8、两个小时之内初步掌握可能需要花一到两天学习的Backbone.js基础知识。这非常适合比较大的项目,这类项目至少持续几周的时间。 Backbone.js仍然算不上一种完好的解决方案。您可能需要编写相当数量的代码来处理潜在的内存泄露等问题。您还可能
此文档下载收益归作者所有