本文摘自smashingmagazine的Journey Through The JavaScript MVC Jungle部分内容,希望对大家有帮助,如果你觉得不过瘾,可以阅读原文。
什么时候需要使用Javascript MVC框架?
如果你开发的程序可能需要和API或者服务通讯,而且要求大量的视图操作或者数据操作,你将发现使用一个成熟的框架非常有帮助。典型的例子就是Gmail和Google Docs。
如果你的应用只是依赖于服务器来生成web页面和视图,并且只需要使用一些简单的JavaScript或者jQuery来使得应用更加具有互动性,使用框架就不是很有必要。
选择框架的标准
如果你需要选择框架的话,你需要问问自己这些问题:
- 这个框架究竟可以带来什么?
- 这个框架是不是有实际的成功案例?
- 这个框架是不是成熟?
- 这个框架是不是足够灵活或者相对比较死板?
- 你有没有应用过相关的框架?
- 这个框架是不是有很好的文档支持?
- 这个框架的大小,包括依赖的类库,是不是很大?
- 支持这个框架的社区是不是不错?
如何选择框架?什么时候该用什么?
为了更好的帮助大家选择框架,这里我们做了一个总结,希望能够帮助大家选择框架:
1. Backbone.js
如果你需要灵活的方式来解决应用中层次分离问题,并且支持持久层和REST同步服务、models、views、事件驱动、模板和定位等,这个框架是个不错的选择。它允许model修改后View能够自动更新。而且很多大型公司都使用它来构建应用,并且有非常好的社区提供支持。
2. Ember.js
如果你需要桌面级别的应用开发,并且拥有模块化、标准的界面,并且支持MVC的特性,不需要我自己处理所有的东西,要求支持持久化、计算相关属性并且自动更新模板,支持正确的状态管理而非手动的控制管理,Ember.js是不错的选择,同时它拥有非常详细的文档和模板说明,并且拥有丰富的工具。
3. CanJS
轻量级的框架,支持模板绑定、定向,整合主流类库(jQuery或者Dojo)以优化性能,支持MVC。可能在大型的应用中使用不多,但是适合于有复杂应用开发经验的人,在这种情况下,canjs是个不错选择。
4. AngularJS
支持快速测试、URL管理和分离的MVC。和其它的框架不一样,AngularJS提供了HTML编译器来创建自己的HTML中的DSL。
5. Dojo
为开发大型应用提供了非常棒的基础。支持成熟的组件架构,模块支持lazy加载并且支持异步,简单整合CDNs,拥有广泛的模块(图形、图表、Grid等),支持国际化、本地化,支持OOP、MVC,并且支持创建单元来解决复杂的架构。
6. YUI
支持Model、View和Router,简化多视图应用的开发,支持routing、视图变化等。拥有完整的解决方案,包括组件、控件及相关工具,帮助你创建一个有组织的应用架构,拥有底层工具yuiproject。
7. Spine
帮助你简单的实现异步界面并且不需要任何依赖。对于创建比较灵活的应用,Spine提供了必要的架构,例如model、view、controller、事件和routing。针对CoffeeScript做了优化,拥有非常清晰的文档。
8. KnockoutJS
可以方便的使用底层数据模型构建复杂动态的UI。使用双向绑定,Model变化后能够自动更新UI,支持依赖来跟踪model数据,支持内建模板,并且很容易扩展。
9. jQuery
轻松搭建网站和web应用,不需要很多代码。专注于浏览器的兼容,使开发者专心于开发本身,并且可以轻松绑定事件、与远程服务互动,支持扩展,拥有大量的插件。
分享到:
相关推荐
JavaScript MVC框架是当前Web开发中的热门话题之一,MVC全称为Model-View-Controller,分别对应模型、视图和控制器三个部分。该框架的出现解决了传统的JavaScript开发中遇到的问题,如代码混乱、难以维护和扩展等...
JavaScript 作为该技术的一个重要组成部分,被人们称作“玩具”语言,进而成为传统B/S架构开发的主角。 在JavaScript MVC模式的应用中,其让用户的操作界面和后台的数据集合业务逻辑分离,以此在开发中,通常可以...
在这种模式下,JavaScript 负责处理用户交互、数据处理以及与服务器的通信,而"100行代码实现的JavaScript MVC样式框架"则是在这个概念上创建的一个轻量级解决方案。 首先,让我们理解MVC(Model-View-Controller)...
【标题】:“自己写的一个MVC框架” 【描述】:“放寒假的时候写的一个像struts基本功能的框架!!!” 这个描述中提到的“MVC框架”是指模型-视图-控制器(Model-View-Controller)架构模式,这是一种广泛应用于...
本压缩包提供了一个基础的MVC框架,适用于初学者理解和实践MVC架构。** 在MVC模式中: 1. **模型(Model)**:负责处理业务逻辑和数据管理。它是应用程序的核心,与数据库交互,获取和更新数据。在PHP中,模型通常...
在这个标题为“MVC框架源代码(自己写的)”的压缩包中,我们推测作者分享的是他自己实现的一个JavaScript MVC框架的源代码,这可能是对经典MVC模式的一种个人化实现。 **1. Model(模型)** 模型层是MVC的核心,它...
例如,可以创建一个UploadService用于处理文件上传,一个WatermarkService处理水印添加,以及一个ThumbnailService用于生成缩略图。这些服务可以通过依赖注入的方式被Controller或其他组件使用。 为了实现这些功能...
在现代Web开发中,MVC(Model-View-Controller)模式是一种流行的设计...通过本文的介绍,你应该对如何在JavaScript中实现一个简单的MVC框架有了更深入的理解。记住,选择合适的架构模式可以显著提升你的Web开发能力。
在这个实例中,我们探讨的是一个基于J2EE平台的MVC框架的应用,它具有简洁的源码和清晰的注释,便于学习和理解。 **一、MVC模式解析** 1. **Model(模型)**:模型层负责处理业务逻辑和数据操作。在这个框架中,...
本篇将详细介绍一个基于Servlet实现的MVC框架,并探讨其核心概念和工作原理。 **1. MVC设计模式** Model-View-Controller(MVC)是一种广泛应用于Web开发的设计模式。它将应用程序分为三个主要部分: - **Model...
在这个场景中,我们讨论的是一个基于JavaScript实现的验证框架,该框架应用了MVC模式来处理Web表单的验证。 **描述分析:** 虽然描述部分是空的,但根据提供的博客链接(https://largestone.iteye.com/blog/577323...
提供的教程和案例将帮助你深入了解如何使用微软的MVC框架。这些资源可能包括以下内容: 1. **基础概念**:介绍MVC的基本概念和架构。 2. **环境配置**:指导如何设置开发环境,如安装Visual Studio和.NET Framework...
在B/S开发中,.NET MVC框架提供了丰富的Ajax支持,通过jQuery库或纯JavaScript与控制器进行异步交互,实现页面的部分刷新,提升用户体验。 总的来说,.NET MVC框架提供了一套完整的解决方案,包括了Web开发所需的...
【标题】"mvc框架练习代码"涉及的知识点主要围绕着Web开发中的Model-View-Controller(MVC)架构模式,这是一种广泛应用于Java后端开发的设计模式。在这个项目中,开发者可能在尝试理解和实践如何将业务逻辑、数据...
**.NET MVC框架详解** **什么是.NET MVC框架?** .NET MVC(Model-View-Controller)框架是Microsoft开发的一款用于构建可测试、高性能的Web应用程序的开源框架。它基于设计模式中的MVC模式,该模式将应用程序分为...
这个标题所指的“很好的JAVA的MVC框架应用实例”很可能是提供了一个使用Java实现MVC设计模式的具体项目或者教程。在这个实例中,我们可以深入理解如何在Java环境中有效地构建可维护、可扩展的Web应用。 **1. MVC...
从提供的文件内容中,...以上知识点涵盖了从搭建MVC框架项目、配置日志、集成Bootstrap前端框架、选择合适的第三方库等方面的知识,帮助开发者理解和掌握如何利用现有的框架和工具快速搭建一个功能完备的web应用程序。
"JiaJiaoMVC"这个压缩包可能包含了一个简单的MVC框架实例,你可以通过解压并运行来学习其具体实现。它可能包括了模型文件(如UserModel.php)、控制器文件(如UserController.php)、视图文件(如user.html)以及...
对于初级编程进阶者,了解JavaScript MVC框架的最好方式是从一个项目开始。首先,选择一个适合自己的框架,例如React或Vue.js。然后,学习框架的基本概念,如组件、生命周期方法、状态管理等。接下来,实践一些简单...
在JavaWeb开发中,Model-View-Controller(MVC)框架是一种常见的设计模式,用于将业务逻辑、数据处理和用户界面分离,以...这是一个很好的起点,可以帮助你进一步深入学习Spring Boot、Spring MVC等更先进的开发框架。