欢迎选择我的课程,让我们一起见证您的进步~~
最近也在想这些,在看一些框架的源码。 可以简单的对比下JQUERY,Backbonejs,emberjs。 先说说第一个问题,我之前尝试过是写一个论坛小程序,因为涉及到SEO的问题,所以帖子的内容是直接在HTML里面输出的,但是评论是之后通过JS渲染出来的,如果让我现在重新写的话,我会用Backbonejs来写,http://www.quora.com/Backbone-js-1/Is...有个讨论Backbonejs的MVC的,Backbonejs提供了Models, Collections, Views。Models 用来创建数据,校验数据,绑定事件,存储数据到服务器端;Collections 包含你创建的 functions;Views 用来展示数据。如此这般,在前端也做到了数据和显示分离。 第二个问题,“前端交互”如果只是修改DOM而且代码量不是很大的话,觉得是JQUERY最适合的事情,也不一定要用MVC的框架不可。MVC也只是在相对较多代码的情况下才有优势。 入门中,欢迎讨论。
以前我和楼主有一样的疑问,自从我写了——购物车页面。。。
用户会需要在购物车里对商品进行删除、改数量的操作。看似简单,其实不然。商品删除,就需要删除这一行。改数量,价格就会变更。再加上可能满299了需要送赠品,用户把商品数量右边的加号点点点,点满299元的时候,赠品就应该自动出现在购物车里,而且上面打着“赠品”的标签。 这些操作如果点一下就需要跳个页面,多讨厌啊。。如果用模版引擎+AJAX,用户也舒服,开发也舒服。
当前端的DOM操作复杂到一定程度时,你会发现有个模版引擎会非常方便。 当前端和后端的交换的数据结构复杂到一定程度时,你会发现拿着一个后台输出的对象直接渲染到前端模版更方便。 我现在在项目中用到前端模版引擎的除了购物车,还有一个就是地址簿,地址簿的操作要更复杂一点,因为是增删改查的全套操作,如果不用模版引擎,估计我会拼接字符串到疯……
JS渲染耗费的资源很少,IE6也能轻松搞定(我用的是handlebar)。
我觉得最主要的一点是: 模块引擎是拿数据来渲染模板生成页面(模块) 于是我们先写下一个模板,然后我们的任务就是操作数据了,而不是操作dom,dom交给模板引擎来统一刷新。 这样我们的工作就集中在业务逻辑上了,而处理业务逻辑就变成了处理业务数据(状态) js代码中不再混杂大量的dom操作代码,可以在更抽象的角度去处理业务,可以用更短的时间,写出更简洁,更容易维护的代码
module和view层分离,前端开发和后端开发可完全分离,各司其职资源最大话利用
最近也在想这些,在看一些框架的源码。
可以简单的对比下JQUERY,Backbonejs,emberjs。
先说说第一个问题,我之前尝试过是写一个论坛小程序,因为涉及到SEO的问题,所以帖子的内容是直接在HTML里面输出的,但是评论是之后通过JS渲染出来的,如果让我现在重新写的话,我会用Backbonejs来写,http://www.quora.com/Backbone-js-1/Is...有个讨论Backbonejs的MVC的,Backbonejs提供了Models, Collections, Views。Models 用来创建数据,校验数据,绑定事件,存储数据到服务器端;Collections 包含你创建的 functions;Views 用来展示数据。如此这般,在前端也做到了数据和显示分离。
第二个问题,“前端交互”如果只是修改DOM而且代码量不是很大的话,觉得是JQUERY最适合的事情,也不一定要用MVC的框架不可。MVC也只是在相对较多代码的情况下才有优势。
入门中,欢迎讨论。
以前我和楼主有一样的疑问,自从我写了——购物车页面。。。
用户会需要在购物车里对商品进行删除、改数量的操作。看似简单,其实不然。商品删除,就需要删除这一行。改数量,价格就会变更。再加上可能满299了需要送赠品,用户把商品数量右边的加号点点点,点满299元的时候,赠品就应该自动出现在购物车里,而且上面打着“赠品”的标签。
这些操作如果点一下就需要跳个页面,多讨厌啊。。如果用模版引擎+AJAX,用户也舒服,开发也舒服。
当前端的DOM操作复杂到一定程度时,你会发现有个模版引擎会非常方便。
当前端和后端的交换的数据结构复杂到一定程度时,你会发现拿着一个后台输出的对象直接渲染到前端模版更方便。
我现在在项目中用到前端模版引擎的除了购物车,还有一个就是地址簿,地址簿的操作要更复杂一点,因为是增删改查的全套操作,如果不用模版引擎,估计我会拼接字符串到疯……
JS渲染耗费的资源很少,IE6也能轻松搞定(我用的是handlebar)。
我觉得最主要的一点是:
模块引擎是拿数据来渲染模板生成页面(模块)
于是我们先写下一个模板,然后我们的任务就是操作数据了,而不是操作dom,dom交给模板引擎来统一刷新。
这样我们的工作就集中在业务逻辑上了,而处理业务逻辑就变成了处理业务数据(状态)
js代码中不再混杂大量的dom操作代码,可以在更抽象的角度去处理业务,可以用更短的时间,写出更简洁,更容易维护的代码
module和view层分离,前端开发和后端开发可完全分离,各司其职资源最大话利用