Web App的零框架解决方案
来源:互联网 发布:广东动易软件 编辑:程序博客网 时间:2024/06/07 04:54
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
转自 https://github.com/ruanyf/articles/blob/master/2015/2015-01-16-zero-framework.md
0 0
- Web App的零框架解决方案
- 网页编程零框架解决方案
- 移动APP的, web 开发框架
- Web项目解决方案框架
- Web项目解决方案框架
- Office Web App无法在SharePoint2013使用的解决方案
- Project Web App Feature无法开启的解决方案
- 如何解决激活Project Web App feature失败的解决方案
- 基于vue的移动web app页面缓存解决方案
- 从零开发一款APP 一、Java Web后端注册接口的设计
- 从零开发一款APP 二、Java Web后端注册接口的实现
- 从零开发一款APP 三、Java Web后端登陆接口的设计
- 介绍几个不错的开发Web App & Ajax的框架
- java web app ui 框架
- 常见WEB APP框架对比
- APP WEB HTML5 开发框架
- web App和hybid App框架
- 发现一个nginx LUA开发Web App的框架
- 多线程之Executor框架
- bzoj 1079 题解
- watchify和browserify
- Android开发中在一个Activity中关闭另一个Activity
- python xlrd 使用
- Web App的零框架解决方案
- 好记性不如烂笔头26-JAVA处理文件事务(4)
- const的用法,特别是用在函数前面与后面的区别!
- webstorm、phpstorm、idea等使用技巧记录
- IOS学习 App Store审核指南中文版
- Ubuntu 下设置IP配置
- HTML5 学习----------视频操作
- Android SDK Manager国内无法更新的解决方案
- C++之基本数据类型转换和转换函数