JavaScript框架和库繁多复杂,很大程度上源于前端开发本身的特殊性。Google工程师尤雨溪在文章中对数量众多的前端框架进行了系统的分析和比较,希望能为大家在选择前端技术架构时提供一些有益的参考。

近年来随着Web应用交互复杂度的提升,前端开发也迎来了一个高速发展的时期。除了一些老牌框架纷纷推出改动较大的升级之外,还涌现出一批新生代的开源库和框架,推动着Web应用开发理念向越来越强调前端架构的方向发展。当下的前端技术可以说是处在一个新旧交替的过程之中,同时存在着许多不同的观念和实践。

本文试图对目前数量繁多的前端框架进行一些较笼统的分析和比较,抛砖引玉,希望能为大家在选择前端的技术架构时提供一些有益的参考。需要明确的是,本文探讨的前端架构是以JavaScript为主。有一些主要关注CSS层面的前端框架,如Bootstrap,不在本文的讨论范围之内。

今天的JavaScript框架和库繁多复杂,很大程度上源于Web前端开发本身的特殊性。从当初的可有可无到今天各种功能完备的HTML5标 准,JavaScript在Web应用中的职责和定位经历了巨大的变化。加上长期以来各种浏览器对ECMA标准支持参差不齐的复杂环境,这导致大家对于 JavaScript能做什么、该做什么、应该怎么做一直无法形成共识。一个Web应用可以把所有业务逻辑全部放在服务器端,几乎不依赖 JavaScript;也可以完全用JavaScript构建客户端,服务器只负责数据接口;更有可能选择介于两者之间的折中方案。整体架构选择的多样性 使得不同的应用对于前端架构有着截然不同的需求。这意味着很难有一个前端库或框架可以满足所有人,也使得开发者在找不到完美方案的情况下选择重复造轮子。 同时,由于JavaScript是一门相当灵活的语言,不同背景的开发者借鉴了许多不同的软件设计思想来构建他们理想中的JavaScript框架,这也 导致不同的框架/库在解决同一个问题时经常有不同的方案,例如单页应用的设计模式问题。

开源前端框架纵横谈:http://www.csdn.net/article/2013-04-15/2814893

更多阅读请访问程序员官网新首页:http://programmer.csdn.net/



Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐