你不了解的 jQuery ?




                 2010-12-06
• 拔赤
 淘宝前端开发工程师
 http://jayli.github.com
http://www.jquery.com
用户眼中的 jQuery
jQuery API


jQuery 用户




jQuery itself
简洁 API 的背后…
jQuery was not built in a day!
“他不是一个人在战斗!”
https://github.com/jquery/jquery

“Putting the code on Github was an
        excellent first step!”

                       ——John Resig
基于Github的代码版本管理




https://github.com/jquery/jquery/network
Module Dev Recycle


新分支      Api 设计 &开发    测试用例




                       提交/合并
发布         补充文档
                      分支 &打包
GPL授权
MIT授权
打包脚本(for unix)
向导说明
打包脚本(for rake)
打包配置(for ant)
打包工具
性能测试目录
jQuery 源码
用例测试目录
当前开发版本号
引入子项目

               合并

               压缩

               语法检查


Build jQuery
jquery.js



依照功能做模块划分
各自开发、互不冲突
完备的测试用例
轻松的兼容性测试?!
Qunit:JavaScript 测试框架?
  https://github.com/jquery/qunit




• Qunit 不是用来发现新bug
• Qunit 是用于回归测试
• Qunit 基于“白盒”
基础方法
                              必须做性能测试




http://www.learningjquery.com/2010/05/now-you-
         see-me-showhide-performance
Qunit & Sizzle: 青出于蓝而胜于蓝



                                      jQuery
https://github.com/jquery/qunit

                              qunit   sizzle   …


https://github.com/jeresig/sizzle
Sizzle项目中,多框架选择器性能测试比较
http://jqueryui.com/
https://github.com/jquery/jquery-ui

• jQueryUI 是 jQuery 的分支项目
• 代码管理上,仅依赖 jQuery的大版本
• 项目管理上,自成体系
jQuery 的子项目的运作和 jQuery 一样规范
       参与开发只需 fork 一下 ^@^
相比API本身,严谨优雅的过程更加重要
优秀的API        项目管理

         开源

jQuery 在这三方面都做到了极致
我们从 jQuery 项目还能学到不少东西
向jquery学习

向jquery学习