QWrap简介之:梦想、使命、目标

市面上的库或框架很多,都值得认真学习与大力借鉴。例如:
Prototype: MS最早成型的js库。贡献:多浏览器解决方案、Ajax、$、挖掘prototype
YUI2:贡献:Dom系列方法、系列组件、YUI Compressor、YUI Doc。
YUI3:贡献:依赖管理与异步加载、沙箱安全机制。
Jquery:贡献:selector、jquery链式调用、gsetter写法(采用get first/set all策略)以及其它简单写法与命名
Dojo:贡献:dojo.require机制(后来被YUI3发扬光大)
Mootools:贡献:面向对象,new Class(小写的class是保留字哦)

都很成熟,可是,各自也有一些不足。
Prototype贡献单一,后继乏力。
YUI2的静态调用,严谨,但是使用不便。
到YUI3的异步加载,除了对js的贡献之外,也是为解决其臃肿代码问题的必然产物。并且对于组件开发者来说,他的某些贡献,变成了一种约束。
Jquery是个人英雄主义的产物,代码太难看了;组件开发者也很难依赖它开发出独立组件;只专注于Dom,让使用者要另外去寻找其余的功能,例如字符串/日期/数组/模块加载等。

所以,QWrap带着下面的目标上路了:
核心方面:
1。提供一个静态的核心库。
2。拥有简单可依赖的编码模式,让理解思路的同学都能轻松的为它添砖加瓦,以满足自己项目的个性化需求。
3。拥有无污染版,只有一个命名空间对外开放,它不跟任何库有冲突,包括他自已的旧版本。
4。提供一套retouch机制,可以灵活的产出满足prototype与jquery等用户习惯的应用。
5。让代码与使用分离:按标准写代码,同时代码可以经过简单转化,产出高易用性的代码。
6。一个QWrap库,可以有多种应用输出。并且推荐几种典型应用输出。
7。以某用户为典型用户,满足或引导解决他的种种需求,包括看似“无理”的需求。

组件方面:
1。提供一套组件规范、机制,引导组件开发者开发、以及组件使用者使用。
2。让组件开发者依赖QWrap开发组件,而可以轻松发布出没有赖的组件。
3。以团队为目录,让组件百花齐放(齐放,不是滥放)。

其它:
产出可以是一个js(与prototype.js与jquery.js类似),也可以是一个文件夹,让一个稍有水平的前端开发者,复制这个文件夹,就可以去组建一个团队,并以这个文件夹为础,开始一个或多个项目开发。
当然,这个文件夹里,会提供开发规范/设计文档/开发工具/用户手册。。。等
要有配套的成熟的博客、论坛、社群、兴趣小组。
还得有稳定的同行支持团队,这才是最坚强的后盾。

目标可能有点细,有点乱。上路的时候,我们信心满满,这些不只是梦想,而是可以转化成现实的目标。
原文地址:https://www.cnblogs.com/jkisjk/p/qwrap_blueprint.html