摘要: 选择JavaScript MVC框架很难。一方面要考虑的因素非常多,另一方面这种框架也非常多,而要从中选择一个合适的,还真得费一番心思。想知道有哪些JavaScript MVC框架可以选择?看看TodoMVC吧。我用过其中4个框架:Angular、Backbone、CanJS和Ember。因此,可以对它们作一比较,供大家参考。本文会涉及框架选型过程中需要考虑的一系列因素,我们逐一讨论。每一个因素我们都会按照1到5分来打分,1分代表很差,5分代表很好。我会尽量保持客观,但也不敢保证真能“一碗水端平”,毕竟这些分数都是根据我个人经验给出的。功能作为构建应用的基础,框架必须具备一些重要的功能。比如, 阅读全文
posted @ 2013-10-09 21:40 Fruits 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 十一期间几位童鞋加班加点>.<完善并修复了诸多功能:主要是为了提升用户体验,修复Bugsmango童鞋:继续修改完善了注册用户名的正确性提示:初始时提示用户正确的输入方式,输入错误会显示红色警告框,输入正确输入框后出现绿钩图标为所有包含多个输入框的界面添加了通过Up和Down键切换的快捷方式lemon盆友:使用Cookie记忆用户语言选择,预防Cookie冲突崩溃修改了界面切换时部分翻译不完全的问题,且切换时无须刷新页面,给用户带来更好的用户体验;在进行中英文界面转换的时候,有些标签需要设置localization,尤其要注意title等的中英文转化左下角为主题选择增添了漂亮的图标 阅读全文
posted @ 2013-10-07 23:47 Fruits 阅读(251) 评论(1) 推荐(0) 编辑
摘要: 引言本文将从策略模式和观察者模式两个设计模式讲起,接着过渡到一个经典的复合模式- MVC架构,进而介绍MVC在Web上的适应-Model2架构。之后,我们将视野扩展到前端MVC,看一看前端MVC经典的框架backbone,以及用backbone实现的案例todos和hello rocket,顺带了解一下很有前景的单网页应用-SPA。策略模式设想你要做一个鸭子模拟系统,里边有各种各样的鸭子,比如绿头鸭、红头鸭、甚至还有橡皮鸭。鸭子的叫声、捕食行为多种多样,可能有两种鸭子叫声相同,而另外两种鸭子捕食行为相同。我们希望能够少些一些代码,同时希望鸭子种类又容易扩展,该怎么办?为了少写代码,我们自然地想 阅读全文
posted @ 2013-10-07 23:29 Fruits 阅读(1198) 评论(2) 推荐(0) 编辑
摘要: Todo是怎么实现的?前面两篇博客分别介绍了MVC和Backbone.js的逻辑,但是实战获真知,在来一篇来显示下Todo是怎么通过Backbone.js连接起来的。忽略掉所有的代码,我们只是打开todos.js。先从整天上看,整个代码中有以下几个类,Model:TodoCollection: TodoListView: TodoView, AppView.页面中还有一个比较奇怪的符号,你也许需要注意,看到这里,我们大概懂了这些代码是来做什么的了,下面就可以去细看各个类中具体做了哪些工作,从上篇博客中我们知道,Backbone.js也是用事件来驱动的,所以我们直接去看两个View类中的事件处理 阅读全文
posted @ 2013-10-07 22:31 Fruits 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 摘要 我们小组对MVC框架进行了学习。我的队友们已经在博客中对MVC的设计模式及优缺点进行了详细的探讨与分析,因此我的博客中只对MVC进行简单的介绍,而我将把重心放在Backbone MVC框架一些重点的阐述,并通过对一个实例较为详细的分析来探究如何利用Backbone框架来实现MVC结构。MVC简介基本介绍 MVC即模型(Model),视图(View)和控制(Controller),旨在实现Web系统的职能分工,具体来说就是使业务逻辑和数据显示分离。 在MVC中,视图(View)为用户提供交互,模型(Model)负责处理数据和业务逻辑,控制器(Controller)则是View与Model之 阅读全文
posted @ 2013-10-07 20:18 Fruits 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 1.MVC是什么东西?MVC (Modal View Controler) 是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。(控制器Controller)- 负责转发请求,对请求进行处理。(视图View) - 界面设计人员进行图形界面设计。(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。使用MVC的目的是将M和V的实现代码分离, 从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。2.MV 阅读全文
posted @ 2013-10-06 21:14 Fruits 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 在网上偶然看到了,几种MVC框架各有优缺点,但Backbone和Ember的呼声相对更高~大家参考一下哈~http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/http://monw3c.blogbus.com/logs/221368642.html 阅读全文
posted @ 2013-10-06 18:01 Fruits 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1. Backbone本身没有DOM操作功能,所以我们需要导入JQuery/Zepto/Ender2. Backbone依赖于underscore.js:http://documentcloud.github.com/underscore/docs/underscore.html3. 可以选择使用浏览器的localstorage存储本地数据,直接引用Backbone.localstorage.js4. underscore提供的函数库 ——Silun Wang 阅读全文
posted @ 2013-10-04 20:45 Fruits 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 实践出真知,建议不要一味地看Backbone源码和网上解析,自己动手实践吧少年们!我是一个简单的简直无可救药的小栗子~ ——Silun Wang我的几个小问题:1. Rocket介绍没有Todo那么全面清晰,所以理解起来还有一些疑问2. 对于Backbone.js,Router和history的应用不熟悉,理解起来有困难。3. MVC是否适合本次短期内的Popush修缮?对于Popush这种SPA,什么样的架构方式更为合理?什么样的修改方式更为合理?哪种MVC框架更适合Popush? 阅读全文
posted @ 2013-10-04 20:36 Fruits 阅读(192) 评论(0) 推荐(0) 编辑
摘要: By:软件11 王思伦2013-10-4Backbone简述:Backbone基于MVC架构,用于开发重量级Javascript应用的框架。如上文所述,Backbone包含多种类,但主要包含了三种:Backbone.Model, Backbone.Collection, Backbone.View。它能让你像写 java 代码一些写 js 代码,定义类,类的属性以及方法。更重要的是它能够优雅的把原本无逻辑的 javascript 代码进行组织,并且提供数据和逻辑相互分离的方法,减少代码开发过程中的数据和逻辑混乱。另外backbone必须要依赖另一个文件:underscore.js(包含许多工具 阅读全文
posted @ 2013-10-04 17:41 Fruits 阅读(1991) 评论(0) 推荐(0) 编辑