作为目前Web领域最具人气的编程语言,JavaScript在发展之初并不受欢迎——因为设计并未考虑到服务器端编程的实际需求。然而,随着用户体验在Web开发领域所占比重的持续提高,专注于设计用户界面的特性愈发受到重视,这也成为JavaScript如今被广泛使用的根本原因。而随着HTML 5与CSS 3在创建适应性与响应式网站中的作用快速提高,JavaScript亦起到可观的辅助作用。
目前市面上存在大量有助于建立JavaScript应用架构的库与框架。而MV*正是指那些能够实现MVP与MVVM模式的库。其中最新且最值得关注的方案选项包括:
1、Backbone.js
这套框架具备键值绑定、自定义事件、集合等模型,且可将这些因素通过RESTful JSON接口全部接入您的现有API。这套轻量化JavaScript库专门用于支持单页面Web应用。依赖于UnderscoreJS库运行,后者能够为各类常见JS任务提供一面重要的实用功能。在它的帮助下,您的数据将作为模型加以表达,并可面向服务器实现创建、验证与保存。视图将显示该模型的状态,可通过事件变更自行触发重新渲染。在这方面,Backbone作为重要的结构化方案能够保证数据始终与HTML UI保持同步。
2.Angular.JS
这基本上属于一套用于为应用扩展HTML词汇表的工具集。允许用户创建自定义HTML标签。Angular当中的可复用组件——即directives——也相当强大且能够帮助用户创建您自己的语义可复用HTML语法。Angular会直接修改页面DOM而非添加内部HTML代码,这意味着其速度表现相当出色。大家可以通过Angular采取多种方式实现同样的效果,因此该框架能够广泛适应各类扩展样式与任务需求。
3.Ember.JS
Ember.JS是一套可用于创建高复杂度Web应用的JS框架。提供大量由Handlebars Templating语言、视图、模型以及路由机制编写而成的模板。这些Handlebars模板通常能够实现自动更新,因此您的HTML也可享受到更新收益——包括底层模型的变化。要使用Ember.JS,您不需要编写任何JS代码。这套平台可以说代表着未来Web平台的使用体验水平,提供的各项组件允许用户创建指向当前应用的自定义HTML标签。
4.Knockout.JS
这套高人气JS库旨在通过使用MVVM模式以简化JS UI。利用Knockout,基于数据的高复杂度UI的创建工作将变得相当简单。这套库能够独立实现上述效果,亦可为jQuery等其它库提供支持。其最为擅长的是将各UI元素接入被定义为JS对象的基础数据模型当中,当我们对UI进行变更时,对应模型也将自动完成更新。
5.Agility.JS
这套框架允许大家编写出易于维护且无需解决基础设施运行负担即可复用的浏览器代码。其可帮助开发者更快编写出Web应用,使用方式与jQuery相同,但同时亦可降低MVC下各可用对象的维护难度。Agility能够全面支持JS代码编写,但其同时亦不会强制要求编写JS代码。Agility采用单一对象类型,其中包括一套全模型-视图组织堆栈。
6.Can.JS
这是一套不断发展的客户端JS架构库集合,主要目标是在创新性与稳定性间找到平衡点,具体而言即在Web应用的大小、易用性、速度、安全性与灵活性间取得平衡点。对于经验丰富的Web开发者而言,这绝对是最为出色的库选项,特别适合开发项目量庞大的业务场景。Can.JS由大量独立的软件包与模块组成,具体包括can-compute、can-define、can-set、can-connect、can-stache、an-component、can-stache-bindings、、can-route等等。
7.Spine
您是否希望自己的JS应用能够具备最出色的UI?Spine是一款易于使用的轻量化JS框架,旨在帮助开发者轻松获取任何可用框架的高质量说明文档,其中不包括任何需要配置及主题设定的复杂部件。Spine的最大优势在于,其要比之前提到的多数库更为小巧,不含任何集合且必须为对象标识符设置ID。
毫无疑问,JS MV*框架已经成为Web开发者们打造出色Web设计与应用的必要资源。这些框架各具特色与优势,您只需要了解其秉性并根据实际需要进行选取即可。当然,在选择时除了直接收益之外,大家也应当考虑各框架的对应社区支持能力、发展前景与市场占有率,从而真正与行业内最强大的框架一路同行。
原文标题:7 of the Latest JavaScript MV* Frameworks
原文作者:Darrel Henry