??????? 大名鼎鼎的Prototype.js? 估計(jì)大家都知道,可能都已經(jīng)用到了.最近項(xiàng)目中用到了1.3.1版本,我也隆重的推薦給我的同事.剛才下載了1.4.0看了一下,感覺(jué)有些失望.
??????? 一個(gè)面向?qū)ο蟮膉avascript框架
????????
Prototype這個(gè)javascript框架目標(biāo)是?? 更容易的開(kāi)發(fā)動(dòng)態(tài)的web應(yīng)用程序.重要提供
以class風(fēng)格的OO框架;可擴(kuò)展的AJAX支持,higher-order programming constructs,容易的操作DOM模型.
???????
這是它的官方網(wǎng)站描述.現(xiàn)在打開(kāi)prototype.js
源代碼,更象一個(gè)大的Utils工具類(lèi).1.4更夸張,細(xì)小的功能都加了個(gè)函數(shù),不知道以后prototype.js怎么發(fā)展,如果這么沒(méi)特色發(fā)展下去,
有些擔(dān)憂(yōu).(畢竟從它代碼里學(xué)到不少,有點(diǎn)感情)
???????? 我自己隨便總結(jié)有幾個(gè)問(wèn)題:
1、Class.create提供了類(lèi)創(chuàng)建機(jī)制,但可惜沒(méi)有類(lèi)似java的package機(jī)制,太不完善了。Class.create實(shí)現(xiàn)也有些簡(jiǎn)單,我還不如function(){}呢。
2、簡(jiǎn)單的實(shí)現(xiàn)的AJAX功能,有個(gè)簡(jiǎn)單的數(shù)據(jù)綁定。AJAX技術(shù)大潮的來(lái)臨,人們?cè)鐚?duì)這么簡(jiǎn)單的實(shí)現(xiàn)沒(méi)什么興趣。早把眼光投向野心更大的dojo,dwr....了。
3、higher-order programming constructs,一直沒(méi)明白什么意思???
4、容易的操作DOM模型。實(shí)現(xiàn)了些可以跨瀏覽器的些代碼。比如事件處理,鼠標(biāo)位置等。
5、雖然實(shí)現(xiàn)跨瀏覽器代碼,但對(duì)瀏覽器要求較高
??? Microsoft Internet Explorer for Windows, version 6.0 and higher
??? Mozilla Firefox 1.0/Mozilla 1.7 and higher
??? Apple Safari 1.2 and higher
6、對(duì)服務(wù)器端支持不多,如dojo有webwork2.0支持,dwr也有服務(wù)器處理。 prototype就沒(méi)了,但它與RoR關(guān)系不錯(cuò).也利有弊吧。
7、基本沒(méi)有任何UI實(shí)現(xiàn),雖然有Rico等擴(kuò)展項(xiàng)目,但感覺(jué)效果不怎么樣。
8、感覺(jué)這個(gè)項(xiàng)目目標(biāo)不是太明確,如果只是個(gè)大的工具類(lèi),那我不期望它有新版本了,現(xiàn)有功能夠細(xì)的了。我不是說(shuō)大家不要用了。但作為開(kāi)源項(xiàng)目,希望走好。
Prototype.js優(yōu)點(diǎn)
1、新手很好的閱讀材料。
2、傳統(tǒng)B\s應(yīng)用程序好幫手,如果不需要復(fù)雜的AJAX功能,復(fù)雜的用戶(hù)體驗(yàn),能夠減少估計(jì)30%的javascript代碼.
3、Element,Form,Event等很多工具函數(shù)有很多方法太好了。
4、在prototype.js基礎(chǔ)上實(shí)現(xiàn)下拉菜單,樹(shù)控件,減少很多代碼。有時(shí)間我整理下放出來(lái)。
??
?
不是我需要。
難道你要prototype無(wú)限擴(kuò)大嗎?
你的每個(gè)頁(yè)面都下載大的文件嗎?
還有你有看過(guò)ajax應(yīng)用有很多頁(yè)面嗎,何為ajax,別人都可以做到one page one application了,你有必要擔(dān)心很大的下載量嗎,當(dāng)然如果有更小的我很喜歡,但是必然不是dojo和dwr。
首先我很喜歡prototype.js.
rico,scriptaculous是one page one application嗎?prototype支持的ajax多嗎?用這么簡(jiǎn)單的ajax能滿(mǎn)足one page one application嗎?
dwr的js代碼基本擴(kuò)展很小了。dojo能做出來(lái)的效果prototype.js恐怕基本都無(wú)能為力吧。
相比起來(lái),還是不能接受dojo
chen.simiao@zte.com.cn
http://prototype.conio.net/dist/prototype-1.4.0.tar.gz
暈摟上