zoukankan      html  css  js  c++  java
  • QWrap简介之:apps果实篇之:Youa版应用

    就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解"QWrap的Youa版应用",即apps/core_dom_youa.js。
    Youa是QWrap的第一个真正全面使用QWrap的项目,apps/core_dom_youa.js中同时包含core、dom、youa三种retouch,在介绍Retouch机制时已经对他们分别作过介绍,他们同时起作用的结果就是:我们只引入一个js,就可以 :
    像prototype一样这样写:
    new Date().format();

    像jquery一样,这样写:
    W('#aaa a.aaa').click(fun).css('color','red');
    W(
    'body').css('color','black').query('>h1').color('red');

    还可以像YUI3一样这样写:
    use('Drag,Valid',function(){alert([Drag,Valid]);});

    当然,也可以像YUI2一样用静态方法(当然,我们不推荐YUI2这种用法):
    Dom.setStyle(el,'color','red');


    前面讲的两个应用一样,apps/core_dom_youa.js也是一个复合文件,它含以下文件:
    View Code
    document.write('<script type="text/javascript" src="' + srcPath + 'core/core_base.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/module.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/browser.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/string.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/object.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/array.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/hashset.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/date.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/function.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/class.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/helper.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/custevent.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/custevent_retouch.js"><\/script>');

    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/selector.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/dom.u.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/node.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/node.w.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/event.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/event.w.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/eventtarget.h.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/jss.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/node.c.js"><\/script>');

    document.write(
    '<script type="text/javascript" src="' + srcPath + 'core/core_retouch.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'dom/dom_retouch.js"><\/script>');
    document.write(
    '<script type="text/javascript" src="' + srcPath + 'apps/youa_retouch.js"><\/script>');


    事实上,还包括apps/youa_modules_config.js,不过由于组件这一块还没有放出来,所以先忽略掉。。。
    发布时会将各个分文件合并起来,内容如:apps/core_dom_youa.js
    这个文件经YUI压缩后大小为48K,gzip后大小为17K。可以独立使用。

    在有啊的项目开发中,只需要使用一个QWrap库就可以了,之前由注释生成的文档主要只是Helper方法的基本用法,那些并不是页面编码的同学希望使用的。所以,制作一个真正给页面编码同学使用的文档,一直是一个迫切的需求。关于这个文档,一直觉得是体力活,一直寄望有新同学或外包给别人来写,拖延了很久,最终还是认为自己动手来写更切实际。2010年底,培培同学帮忙写好css与html结构,2010年十二月到2011年一月,花了一个月左右的时间,来完成这个体力活(还有好奇参与),虽说有很多不足,好在几乎能够满足同学们的需求了。----整理文档时,也趁机人肉测试了很多单元测试中未出现的case,也找到了不少足子,还是挺值得的,庆幸没有外包给别人来写文档。
    正如曾在retouch小结里所讲过的,retouch后的QWrap的用法很多,只能列出一些推荐的用法,免得列得太多反而让人混淆。这份文档在这里可以看到:
    http://dev.qwrap.com/resource/js/_docs/_jk/
    因为做得不够专业,所以临时还是以“_jk”为目录名,等专业版本出来后再改名吧。

    有了这份文档,就不用详细介绍各种用法了,看一下就明白。
    有几点需要说明一下:
    1。各种Helper,在实际中并不使用。使用的都是经过变换的方法,那些变换的方法即是retouch的产物。
    2。每一个方法的使用文档里,都会有说明是它经过什么变换得来的,例如,w.addClass是"本方法是由QW.NodeH.addClass经“mul”、“methodize”变换得到",点击一下就可以看到原方法。
    3。所有方法都是QWrap的方法,与其它库的方法参数有可能不一致,大部分有QWrap自己的考量,如果同学觉得不合理可以反馈一下,方便我们改进。
    4。有啊项目之所以能只用QWrap而不用其它框架,还有一个原因是:QWrap有自己的一系列常用组件。。。这个将会在以后介绍组件时讲到。
    5。为什么没有Ajax与动画?----因为它们被降级到组件级别了。

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


    
  • 相关阅读:
    校验输入框输入两位小数
    限制输入框只能输入整数
    npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
    yum -y wget
    docker 安装mysql
    centos 安装docker
    VirtualBox安装CentOS系统
    Spring Cloud服务保护
    从零开始搭建系统2.8——HDFS安装及配置
    从零开始搭建系统4.3——详细设计
  • 原文地址:https://www.cnblogs.com/jkisjk/p/qwrap_apps_core_dom_youa.html
Copyright © 2011-2022 走看看