因為好奇最近 jQuery 1.1.4 的更新提昇了多少速度,因此自己放了一個 SlickSpeed 測試頁。本來也想加入 Ext.js 一起測,不過加不成功,不知道 Ext.js 是不是有哪裡需要特殊設定?
下面是我的測試結果,我的電腦好像滿差的 XD
| Firefox2 | Firefox3 | IE 6 | IE 7 | Opera9 | Safari3 | |
|---|---|---|---|---|---|---|
| base2.DOM 0.9 (alpha) | 32 | 115 | 1600 | 395 | 128 | 52 |
| dojo 0.9.0 | 467* | 715* | 2711* | 821* | 229* | 286* |
| jQuery 1.1.3.1 | 757 | 872 | 3253 | 710 | 519 | 338 |
| jQuery 1.1.4 | 694 | 847 | 3911 | 914 | 436 | 278 |
| MooTools 1.2dev | 212* | 267* | 4926* | 1496* | 227* | 152* |
| prototype 1.5.1.1 | 203 | 282 | 6599* | 1833* | 219 | 80 |
| prototype 1.6.0_rc0 | 184 | 249 | 6436* | 1712* | 207 | 48 |
| * 發生錯誤或回傳結果為零 | ||||||
測試 Firefox 2 和 IE 7 的電腦配備較好,因此整體都比較快。
Update: 之前測試 dojo 在 IE 7 完全不能動可能是因為我用 Standalone 版本的緣故,更新為安裝版的重測結果。
太讓我驚訝了,base2.DOM 根本是一面贏啊,打遍天下無敵手。
http://img170.imageshack.us/my.php?image=op9eg5.png
http://img170.imageshack.us/my.php?image=fx2gb0.png
jQuery 1.1.4 雖然比 1..1.2dev 快了一大截 (改進令人滿意),但是還是比不過 Prototype 啊。
不過我欣賞 jQuery 的設計和使用方法,還是會繼續選它。
沒想到 scribe 大大有在看我的 blog…
我也比較喜歡 jQuery 的作法,用起來比較簡單 :)
還有文件也寫得比較易懂, base2 雖然最快,但用起來應該是最麻煩的
有時候突然想吸收一些不一樣的東西就會到其他人的部落格晃晃,例如 O3, gslin, ijliao 等等的……
jQuery 的精華就在 Chainability (雖然其他 Lib 也接著有了),能寫出一行文 XD
目前功力還不太夠寫不出美觀的一行文,不過覺得這真的很棒。
base2 我想就跟同作者的成品 IE7 一樣,是用來達成標準彌補自身支援不足的,
剛好其做法(擴充原生物件)正好是 jQuery 所反對的 :)
John 是否反對擴充原生物件我不知道,但 Dean 也是反對此事的啊!
不過我也沒仔細看 base2 是否有擴充原生物件… 可能就像 Dean 自己說的,擴充一點點沒關係吧 XD
http://ejohn.org/blog/building-a-javascript-library/
投影片第 21 片有寫到。事實上 jQuery 這個類別就是它的全部了。
Dean 則是為了讓每個瀏覽器都能先享受最新的標準,幫你把破爛的 DOM 給擴充標準了一下XD
base2.DOM.bind(document); 擺明了就是這樣的動作。
以後標準實作了,就不需要它了,你也已經習慣了,正好。
各有優點,不過我覺得DOM的方法要打很多字不好用就是了XD
base2 也有其他使用方法,所以應該不算違背 John 的理念 :)
不過這個方法要打更多字 XD