所以Javascript已經成為了web開發最最基本的要求之一了。 而在現實的敏捷開發中,我們通常會選擇一個JS框架來取代繁瑣的Native Javascript的編寫。你會發現這樣會節省很多的時間,寫的代碼也很清晰便捷。(當然在學生時代的是有也質疑過,用框架會對原生態的 Javascript理解不深入,其實這是多慮了的。在對框架的深入的同時,對原生的js也會理解的更透徹一些。成為一個精明的開發者,兩者是相依相偎的。而最好的狀態就是想Qzone前端一樣,完全按照自己的需求開發出一套JS,CSS框架。–當然這是因為Qzone太大了)
目前流行的JS框架很多Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx 等等。當然還有很多我都不熟悉的框架,就沒有列舉。 很多人會在壇子裡問,到底哪個框架好呢?哪個框架更牛x呢? 哪個框架OO 更舒服呢? webryan 個人覺得,這是一個新手很容易犯的錯誤邏輯。 世界上任何東西,任何工具,都沒有最好的這一個說法,只有適合和不適合。 我們要根據我們項目的真實需要來選擇具有相關特性的框架。
一、JQuery 推薦級別:五星級
使用場景:任意
下載地址:www.jquery.com 或google搜 jquery下載
推薦原因:目前來說我使用最多的框架(當然我其他的框架也都真是項目開發過若干),也是我個人最推薦的一個。在和業內的一些技術聊的時候,發現 xiaonei.com的CTO 、騰訊、或是其他一些新興的web2.0大牛們都首推這個框架。 那具體好在哪呢? 1.小. (這個上量後,很嚴重的問題) 2.簡單. (學習成本低但成效高,手冊有足夠清晰的例子讓你從0到項目完成) 3.內部結構好開源,側重邏輯 4.對DOM選擇強大(其實,JS大多時候是在處理DOM)5.UI擴展好(這裡要提到的就是 Jquery tools和 Jquery UI,大家可以去搜搜看這兩個Jquery的擴展UI,你會發現ui原來如此簡單,也是因為ui的可擴展性,所以他相對於其他框架毫不遜色)。
二、Extjs 下載地址:http://extjs.com/
使用場景:內部系統。後台系統。管理系統等。
推薦級別:四星
推薦理由:Extjs有著非常牛逼的UI設計。所以當你做像後台管理,企業內部流程,或其他管理系統的時候,這個東西無疑是你的最佳選擇。為什麼呢? 因為它幾行代碼就可以生成非常漂亮的全界面UI,功能強大,樣式可選。 做過一個CMS的後台和一個企業內部的系統都是用這個做的,節省了很多人力和時間,而且廣受好評。 而它的缺點是,在一個頁面加載很多tab的時候,js可能會要同時下載若干個文件。簡單說就是js會比較大。 但對於後台管理和企業內部系統來說,這個會成為瓶頸。
三、YUI 下載地址:http://developer.yahoo.com/yui/
推薦級別:4星
推薦理由:YUI這個框架我只研究過,但沒用在項目中獨立使用過。大多是進入項目後,前輩們使用了YUI,然後我們在後續開發中延續了之前的角色而已。很久以前版本的QQ硬盤、mop的某些模塊使用過的,但現在就是很清楚哪些人還在用了。它和Extjs有點相似,UI方面有很多優勢。
使用場景:拆分YUI的各個模塊,對不同需求采用yui中的某部分來填充到自己的模塊中。或者是類似於網盤應用這種東東。
四、Dojo 下載地址:http://dojotoolkit.org/
推薦級別:四星
推薦理由:Dojo是功能最為強大的javascript框架,刻意提醒一下:功能最強大。所以它幾乎包含了所有你可能想要用到的東西。)。 Dojo更適合企業應用和產品開發的需要,因為離線存儲、DataGrid、2D、3D圖形、Chart、Comet等組件對於企業應用來說都是很重要的(當然這些組件還要等一段時間才能穩定下來)。例如,BEA基於Mashup技術開發的產品中已經使用了Dojo。但是但是,我們是否需要這些功能?做 web2.0產品是有要這麼大的東東呢? 這個要按照你自己的需求來。 而且Dojo缺點很明顯,太大,功能太多,學習曲線太陡。 但是它做企業應用的話,那簡直是如魚得水。這也是IBM等公司招聘的時候,把Dojo和學習Dojo放在第一位的原因。
五、Prototype 最成熟的。但個人認為可以被Jquery取代。兩者相似度也比較高。這裡就不多說。
六、Mootools 下載地址:http://mootools.net/
推薦級別:4星
推薦理由:OO設計思想。模塊化強,耦合度比較低。有人說,它的UI效果比Jquery UI好一些,沒用過它的ui就暫時不多說了。各位開發者可以參見他們的demo看效果或者選擇器等東西是否適合自己。
ok,真正的框架還是用出來的,寫出來的。如果你看完上面的東西還是一頭霧水,那麼建議你從JQuery開始吧。