Durandal是一个JS框架用于构建客户端single page application(SPAs).它支持MVC,MVP与MVVM前端构架模式。使用RequireJS做为其基本约定层,Durandal能提供高效的可维护的SOLID代码标准。 从外面支持rich UI组合,modal对话框,事件/消息,widgets, 变换,路由…. 当Durandal是一个纯Javascript库,在服务端平台独立。
它的特色有:
Clean MV* Architecture
JS & HTML Modularity
Simple App Lifecycle
Eventing, Modals, Message Boxes, etc.
Navigation & Screen State Management
Consistent Async Programming w/ Promises
App Bundling and Optimization
Use any Backend Technology
Built on top of jQuery, Knockout & RequireJS
Integrates with popular CSS libraries such as Bootstrap and Foundation
Make Your Own Templatable and Bindable Widgets
Fully Testable
如果你不熟悉SPAs,请先了解下。SPAs基本的思想是用单个页面为用户服务。这个页面包含些处理导航与动作的javascript。当访问者在浏览器点击了一下,javascript执行处理请求。一些例子动态从服务务加载htm/css, 数据绑定到结果的html, 然后把数据注入到页面某个部分。SAPs也隐藏浏览传统浏览器的向前与向后的操作。在国内新浪weibo就是SPAs的例子。
不是重新发明轮子。 一个亮点是Durandal项目与已存在组件相结合。数据绑定基于Knockout.js处理, 动态加载javascript文件基于Require.js库处理,UI/Dom操作基于JQuery库。基于这些成熟的JS库,学习曲线并不高。
不只是为Web应用程序。 有额外让你的应用程序运行于phones/tablets, desktops, and Windows 8 WinRT.
希望对您前端应用开发有帮助。
您可能感兴趣的文章:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。