`
xtuhcy
  • 浏览: 142573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript MVC框架学习笔记

阅读更多

一、开篇

源于单页web app应用的开发效率低下,最近了解了一下javascript MVC开发相关资料

之前对javascript的了解仅仅是停留在能较熟练的使用jquery上。《基于MVC的javascript web富应用开发》这本书入门还是比较不错的,不过书有点老了。

一大堆开源框架,backbone\canjs\agularjs\requirejs\seajs\zepto

一大堆概念,model\view\control\jsonp\route\ejs\依赖管理\异步加载\Commonjs\AMD

 

二、一切的一切其实都源于node.js的流行

一切的一切其实都源于html5标准和node.js流行。Web服务性能测试:Node完胜Java

node.js到底是啥?如果开发过j2ee的同学都知道servlet,看看这段代码:

 

var http = require('http');
http.createServer(function handler(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
 handler(req, res),这不就是doGet(HttpServletRequest req, HttpServletResponse res)吗。

那node.js和javascript MVC有啥关系呢?相信大家不会拿纯粹的servelt来开发大型的web应用,都会用到struts、springmvc等MVC框架。于是有了nodejs的web开发框架expressjs。expressjs有点类似于j2ee开发中的spring。

spring的核心是DI(依赖注入),那nodejs怎么加载模块的呢,于是有了CommonJS规范。

nodejs也少不了MVC,expressjs中都已经实现,有兴趣的同学可以详细看看。

nodejs也少不了ORM,框架也很多,大家自己google。

nodejs也少不了模板(类似velocity、freemarker),于是有了ejs标准,和各种开源实现。

 

 

三、前端开发中的MVC应用

nodejs的MVC和javascript前端的MVC,到底是前者影响了后者还是后者影响了前者,不得而知,我更倾向于是nodejs影响了javascript的开发模式。于是javascript的前端开发也开始使用MVC模式和模块化开发。

 

  • MVC框架的选型

 backbone\agularjs\canjs是我个人目前比较推荐的三个MVC开源框架,前面两种较流行,特别是agulajs势头很猛:

JavaScript MVC 框架技术选型

backbone更适合入门和概念学习,应用在PC端的web应用开发也和比较合适。

agularjs的概念很新,也很好。学习成本稍微高点,不像backbone那样包容。

canjs是更适用手机端的web应用开发也比较包容。

 

  • js依赖和异步加载的选型

 上面说道了commonjs。前端开发也有依赖的问题。而且js文件越来越多,不便于管理,于是AMD标准出现了。AMD是在commonjs标准上发展起来的,主要应用在客户端。requirejs是AMD的一个实现。也有commonjs的实现应用在前端的,那就是淘宝的seajs。

选requirejs还是seajs争论很大。我的建议是:

PC端用requirejs;

手机端最好目前都别使用(自己实现一个简单的异步加载就可以了,不需要模块化开发),如果应用庞大到非要模块化开发,那使用seajs更合适。

 

总结:

PC端javascript MVC开发框架:requirejs+backbone/agularjs+jquery

MOBILE端javascript MVC开发框架:seajs/自己实现异步加载+canjs/agularjs+zepto

 

四、不得不提的打包

模块化开发带来的好处不言而喻,但是对于前端还是如果不代码那是一场灾难,每个模块一个js文件,如此多的js文件加载是多耗时的一件事。requirejs和seajs都提供了打包方法:

requirejs优化工具

seajs构建工具

grunt,javascript构建工具,类似java的ant

分享到:
评论

相关推荐

    django框架学习笔记

    【标题】:“django框架学习笔记” 【描述】:“django学习” 在Python的世界里,Django是一个强大且受欢迎的Web框架,它遵循模型-视图-控制器(MVC)设计模式,用于快速开发高效且可维护的网站。Django强调代码...

    Java框架学习笔记.pdf

    在Java框架学习笔记中,涉及的知识点十分丰富,涵盖了Struts、Hibernate、Spring、Ajax等Java开发中非常核心的技术框架。下面我将分别对这些知识点进行详细解释。 1. Struts框架 Struts是一种用于开发Java EE应用...

    [转] 老板让俺总结的puremvc学习笔记

    在阅读《PureMVC学习笔记.docx》时,你可能会深入了解每个组件的工作原理,以及如何在实践中应用它们。这份文档可能包含了示例代码、最佳实践和常见问题解答,帮助你更好地理解和掌握PureMVC框架。通过学习和实践,...

    JavaScript及jQuery学习笔记(0)

    这篇学习笔记将探讨这两个技术的基础和关键概念。 首先,JavaScript是一种轻量级的脚本语言,它主要在客户端运行,允许网页对用户交互做出实时响应。JavaScript的核心特性包括变量、数据类型(如字符串、数字、布尔...

    Java框架学习笔记

    ### Java框架学习笔记 #### 第一章:框架技术概述 - **SSH框架组合**:SSH是Struts + Spring + Hibernate的简称,这三个框架在Java Web应用开发中非常常见,它们各自解决了不同的问题,并且能够很好地协同工作。 ...

    javaScript学习笔记.rar

    在Web开发中,JavaScript常与库和框架结合使用,如jQuery简化了DOM操作,React和Vue.js用于构建用户界面,Angular则是一个完整的MVC框架。学习这些工具能提高开发效率,但理解JavaScript基础是使用它们的前提。 ...

    Ajax总结和java框架学习笔记

    ### Ajax技术概述与Java框架学习笔记 #### 一、Ajax技术简介 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,...

    Web+HTML+JavaScript+Ajax学习笔记

    "Web+HTML+JavaScript+Ajax学习笔记"这个主题涵盖了许多Web开发的核心概念和技术。通过深入学习这些笔记,你将能够创建动态、交互式的Web应用,并理解前后端如何协同工作。同时,持续学习和掌握新的Web技术,如框架...

    Spring MVC 学习笔记 九 json格式的输入和输出

    在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...

    JavaScript 学习笔记集和代码库

    例如,jQuery简化了DOM操作和事件处理,React.js和Vue.js提供了用于构建用户界面的组件化架构,Angular.js则是一个全面的MVC框架。这些工具使得开发者能更高效地开发复杂的应用。 此外,JavaScript也广泛应用于...

    MVC框架(Struts2)开发租房网站([培训]doc和源代码).rar

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用。本项目是北大青鸟的培训课程,旨在通过实践帮助初学者掌握使用Struts2框架开发租房网站的技能。 在...

    j2EE-MVC设计模式(内附ppt讲解,学习笔记和应用实例)

    Struts则是早期的MVC框架,虽然现在已不如Spring MVC流行,但在一些旧项目中仍有使用。 **六、PPT讲解与学习笔记** 配合PPT讲解和学习笔记,你可以更深入地理解MVC模式。PPT通常会通过图表和案例演示MVC的工作原理...

    达内学习笔记,java笔记

    Struts是一个用于构建企业级Java Web应用程序的开源MVC框架,对于理解MVC设计模式和Java Web开发流程至关重要。而JavaScript则是网页开发中的重要脚本语言,用于实现客户端交互和动态效果。这些内容的整合,对于希望...

    Extjs4 MVC开发笔记源码

    ExtJS 4是一款基于JavaScript的富客户端框架,用于构建交互式Web应用。MVC(Model-View-Controller)模式是其核心设计模式,用于组织和分离应用的不同部分,提高代码可维护性和可扩展性。本笔记源码主要展示了如何在...

    ExtJs5+Spring.Net+MVC项目搭建笔记

    在ASP.NET MVC框架下,我们可以轻松地创建RESTful API和分离关注点,从而实现更好的可测试性和可维护性。 在项目搭建过程中,首先需要配置开发环境,包括安装.NET Framework、Visual Studio或其他支持ASP.NET MVC的...

    ExtJs5+Spring.Net+MVC项目搭建笔记2

    在.NET环境中,ASP.NET MVC框架提供了一种结构化的方式来组织代码,使代码更易于理解和维护。 接下来,我们将按照以下步骤构建基于这些技术的项目: 1. **环境准备**:确保安装了Visual Studio、.NET Framework...

    基于Spring框架的云笔记设计与实现.pdf

    基于Spring框架的云笔记设计与实现涉及多个IT领域的知识点,这些知识点包括但不限于Spring框架、Java...通过实现云笔记系统,改变了传统的笔记记录方式,新的方法使得用户学习更加便捷、快速地记录、分享和收藏笔记。

    javascript学习笔记

    本学习笔记将深入探讨JavaScript的核心概念、语法结构以及在实际应用中的常见技巧。 一、JavaScript基础 JavaScript的基础包括变量、数据类型、操作符、语句和函数。变量用于存储数据,可以使用var、let或const...

    韩顺平老师所有课程笔记

    Java部分,通过"韩顺平servlet与jsp_笔记与心得.doc"和相关的J2EE课程笔记,可以深入学习Java服务器端编程,包括Servlet和JSP的基础概念、生命周期、请求响应处理、会话管理以及MVC设计模式的应用。同时,"韩顺平....

Global site tag (gtag.js) - Google Analytics