QWrap简介之:retouch机制小结

前面已有四篇文章介绍retouch:
QWrap简介之:Retouch ---润饰、渲染
QWrap简介之:core_retouch ---渲染原生类
QWrap简介之:dom_retouch --- NodeW 勇士装甲
QWrap简介之:youa_retouch --- 项目个性
还是回到retouch的意思上来:润饰、渲染。
纯洁、静态、针对性的Helper规范,以及清筋健骨的Wrap模式,让retouch变得简单自然。
而灵活自由的retouch,又让严谨生硬的Helper与精瘦的Wrap结合,产出丰满健壮个性还简单的用户产品。
但是,retouch也有一些自身的问题:
1.因为用户使用的,是经过变换的方法,所以效率可能比百分百原生的差。
    ----好在速度比赛的结果正如我们的预期:js的运行效率,比我们想象的要好得多,QWrap并不比别的框架慢。
2.retouch的结果是在静态方法调用之外,产生很多新的方法,所以,文档由注释生成的难度很大。
    ----QWrap目前的做法是:原生的帮助文件由文档生成,针对的是retouch之前就存在的功能。而真正项目编码中使用的,是retouch后的结果。
    retouch后的使用文档只能由人力来完成了。例如:可以参考youa版的用户文档。
3.即使是一行简单的retouch,也可能产生很多新的用法。用法过多,也会带来烦恼。例如,我们知道一个节点的id为myId,想将它隐藏,以下很多种代都都可以实现:
Dom.hide(myId);
W.hide(myId);
W.g(myId).hide();
W(
'#'+myId).hide();

    为了减少理解难度(静态传的字符串是id,而不是selector)与保持风格一致,我们推荐的用法,是最长的“W('#'+myId).hide();”,而不是最短的“W.hide(myId);”
    通过什么方式来推荐?----只能是在用户文档中,只列被推荐的用法。----所以只能自叹一声:还有更简单的用法,可是不会列出来。
4.retouch机制,让很多围观QWrap的同学,觉得QWrap很复杂。他们看到的绝大多数的代码,都跟最后使用的方式完全不一致。
    ----只能建议:先别看代码,等了解QWrap的Helper-Wrap-Retouch-App设计主线后再看代码。
    ----还建议:如果只是出于使用目的,可以只看文档,不必看代码。-----很多jquery的用户都没看jquery的实现代码的。
    ----还提醒:目前QWrap还没成熟到实用的阶段,请勿使用。不过欢迎围观。

retouch机制导致了灵活的输出,但是对于某一个具体的项目来说,他很可能使用的就是youa项目类似的,带有core_retouch、dom_retouch、my_project_retouch的这种输出,那为什么不直接给项目一个js就可以了,还绕着弯要用retouch?
----这个问题很好,给项目的,可以是一个js,这完全没有问题。如果只是满足这样一个项目的需求,提什么retouch机制,简直就是画蛇添足。retouch机制的出现,让QWrap的“多应用”目标成了现实。

一份代码,多种应用,这就是qwrap的apps机制。apps机制把qwrap带向一个新的高度,且等下一篇文章分解。


附: QWrap网址:http://www.qwrap.com

原文地址:https://www.cnblogs.com/jkisjk/p/qwrap_retouch_tail.html