webapp前端技术解决方案
2015-03-31 14:26
218 查看
转自:http://www.jingwentian.com/t-547
MVC框架(尤其是大型框架)有一个严重的缺点,就是会产生用户的重度依赖。一旦框架本身出现问题或者停止更新,用户的处境就会很困难,维护和更新成本极高。
ES6的到来,使得JavaScript语言有了原生的模块解决方案。于是,开发者有了另一种选择,就是不使用MVC框架,只使用各种单一用途的模块库,组合完成一个项目。
下面是可供选择的各种用途的模块列表,摘自Andy Walpole的《2015: The End of the
Monolithic JavaScript Framework》。
moment.js:日期和时间的标准化
underscore.js / Lo-Dash:一系列函数式编程的功能函数
router.js:Ember.js使用的路由库
route-recognizer:功能全面的路由库
page.js:类似Express路由的库
director:同时支持服务器和浏览器的路由库
RSVP.js:ES6兼容的Promise库
ES6-Promise:RSVP.js的子集,但是全面兼容ES6
q:最常用的Promise库之一,AngularJS用了它的精简版
native-promise-only:严格符合ES6的Promise标准,同时兼容老式浏览器
fetch:实现window.fetch功能
qwest:支持XHR2和Promise的Ajax库
jQuery:jQuery 2.0支持按模块打包,因此可以创建一个纯Ajax功能库
cssanimevent:兼容老式浏览器的CSS3动画库
Velocity.js:性能优秀的动画库
LogJS:轻量级的logging功能库
UserTiming.js:支持老式浏览器的高精度时间戳库
ondomready:类似jQuery的ready()方法,符合AMD规范
]script.js:异步的脚本加载和依赖关系管理库
async:浏览器和node.js的异步管理工具库
Virtual DOM:react.js的一个替代方案,参见Virtual
DOM and diffing algorithm
Object.observe():Chrome已经支持该方法,可以轻易实现双向数据绑定
Mustache:大概是目前使用最广的不含逻辑的模板系统
某些情况下,可以使用微型框架,作为项目开发的起点。
bottlejs:提供惰性加载、中间件钩子、装饰器等功能
Stapes.js:微型MVC框架
soma.js:提供一个松耦合、易测试的架构
knockout:最流行的微框架之一,主要关注UI
MVC框架(尤其是大型框架)有一个严重的缺点,就是会产生用户的重度依赖。一旦框架本身出现问题或者停止更新,用户的处境就会很困难,维护和更新成本极高。
ES6的到来,使得JavaScript语言有了原生的模块解决方案。于是,开发者有了另一种选择,就是不使用MVC框架,只使用各种单一用途的模块库,组合完成一个项目。
下面是可供选择的各种用途的模块列表,摘自Andy Walpole的《2015: The End of the
Monolithic JavaScript Framework》。
辅助功能库(Helper Libraries)
moment.js:日期和时间的标准化underscore.js / Lo-Dash:一系列函数式编程的功能函数
路由库(Routing)
router.js:Ember.js使用的路由库route-recognizer:功能全面的路由库
page.js:类似Express路由的库
director:同时支持服务器和浏览器的路由库
Promise库
RSVP.js:ES6兼容的Promise库ES6-Promise:RSVP.js的子集,但是全面兼容ES6
q:最常用的Promise库之一,AngularJS用了它的精简版
native-promise-only:严格符合ES6的Promise标准,同时兼容老式浏览器
通信库
fetch:实现window.fetch功能qwest:支持XHR2和Promise的Ajax库
jQuery:jQuery 2.0支持按模块打包,因此可以创建一个纯Ajax功能库
动画库(Animation)
cssanimevent:兼容老式浏览器的CSS3动画库Velocity.js:性能优秀的动画库
辅助开发库(Development Assistance)
LogJS:轻量级的logging功能库UserTiming.js:支持老式浏览器的高精度时间戳库
流程控制和架构(Flow Control/Architecture)
ondomready:类似jQuery的ready()方法,符合AMD规范]script.js:异步的脚本加载和依赖关系管理库
async:浏览器和node.js的异步管理工具库
Virtual DOM:react.js的一个替代方案,参见Virtual
DOM and diffing algorithm
数据绑定(Data-binding)
Object.observe():Chrome已经支持该方法,可以轻易实现双向数据绑定
模板库(Templating)
Mustache:大概是目前使用最广的不含逻辑的模板系统
微框架(Micro-Framework)
某些情况下,可以使用微型框架,作为项目开发的起点。bottlejs:提供惰性加载、中间件钩子、装饰器等功能
Stapes.js:微型MVC框架
soma.js:提供一个松耦合、易测试的架构
knockout:最流行的微框架之一,主要关注UI
相关文章推荐
- 前端技术-布局解决方案
- 前端技术-布局解决方案
- 前端技术-布局解决方案
- 前端技术-布局解决方案
- 一个完整的接口技术解决方案(三)
- 一个完整的接口技术解决方案(一)
- 一个完整的接口技术解决方案(六)
- 一个完整的接口技术解决方案(四)
- Ajax解决方案组成部分的技术
- 简单你的安全,全球技术最先进的软件保护解决方案!!保护您的软件免遭盗版的袭击!!!
- 一个完整的接口技术解决方案(五)
- 一个完整的接口技术解决方案(一)
- 一个完整的接口技术解决方案(八)
- 一个完整的接口技术解决方案(七)
- 网易的页面广告显示技术解决方案
- 一个完整的接口技术解决方案(六)
- 一个完整的接口技术解决方案(七)
- Web显示层技术评估 -- 9.Browser Side, 10, Unobtrusive, 显示逻辑AOP, 多语言支持的终极解决方案, 总结与展望
- 一个完整的接口技术解决方案
- 一个完整的接口技术解决方案