jQuery現(xiàn)在已經(jīng)是Web開發(fā)者比較依賴的一個(gè)庫.甚至在很多公司內(nèi)部也把jQuery當(dāng)成了一個(gè)基本庫來使用.對(duì)于移動(dòng)端壓縮后100k左右的jQuery顯得有些重量級(jí)了,于是就出現(xiàn)了一個(gè)輕量級(jí)兼容庫Zepto.js.
Zepto是為了支持移動(dòng)端的瀏覽器而開發(fā)的一個(gè)和jQuery API極度相似的一個(gè)庫, 如果你會(huì)用jquery,那么你也會(huì)用zepto,這樣就大大降低團(tuán)隊(duì)協(xié)作的成本,不用改變開發(fā)習(xí)慣也能迅速的進(jìn)行移動(dòng)端開發(fā).
Zepto設(shè)計(jì)的目的是提供jquery的類似的APIs,但并不是100%覆蓋jquery為目的。zepto設(shè)計(jì)的目的是有一個(gè)5-10k的通用庫、下載并執(zhí)行快、有一個(gè)熟悉通用的API,所以你能把你主要的精力放到應(yīng)用開發(fā)上。
具體到我們的項(xiàng)目,由于各種原因,開始時(shí)并沒有使用Zepto而是使用了Jquery。這次性能優(yōu)化打算換成Zepto,畢竟size查了10倍啊。但是簡單的把js引入替換成zeptp顯然是不行的。由于用了lazyload等插件,依賴了jQuery的$.Defered, 還用了css3的一些selector,因此還有需要引入Zepto的一些擴(kuò)展模塊,Zepto默認(rèn)提供的壓縮文件只包含幾個(gè)默認(rèn)模塊,可以通過命令自定義打包其它模塊,也可以通過http://github.e-sites.nl/zeptobuilder/進(jìn)行在線自定義打包和壓縮。
兼容Zepto的lazyload插件可以用這個(gè)https://github.com/jieyou/lazyload