學(xué)習(xí)ASP的理由 分析小結(jié)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
眾所周知,ASP已經(jīng)被微軟淘汰了,跟著,又被許多的開(kāi)發(fā)者拋棄了。然而,我仍然認(rèn)為ASP無(wú)論是作為入門(mén)的技術(shù)還是開(kāi)發(fā)平臺(tái),都很值得我們繼續(xù)去使用。 在Google上搜一下,可以發(fā)現(xiàn)一大堆對(duì)ASP不好的評(píng)價(jià),什么運(yùn)行速度慢、異常處理機(jī)制不好、缺乏面向?qū)ο髾C(jī)制、開(kāi)發(fā)效率低、漏洞多等等。為了讓大家對(duì)ASP有個(gè)正確的認(rèn)識(shí),我先為它正名。 一、ASP不慢,慢的是數(shù)據(jù)庫(kù) 幾年前,我用動(dòng)網(wǎng)論壇程序架了一個(gè)BBS,這套程序就是當(dāng)時(shí)經(jīng)典的ASP+Access架構(gòu)。我也遇到了某些人所說(shuō)的論壇慢,有時(shí)候卡死不動(dòng)的問(wèn)題。然而,自從我換上SQL Server數(shù)據(jù)庫(kù)以后問(wèn)題就解決了。所以罪魁禍?zhǔn)啄薃ccess。程序執(zhí)行所需的時(shí)間是毫秒級(jí)別的,在這個(gè)級(jí)別內(nèi),無(wú)論是10毫秒還是100毫秒,實(shí)在是感覺(jué)不出來(lái),但是Access的并發(fā)性差,阻塞了部分程序執(zhí)行,導(dǎo)致頁(yè)面卡死。 二、異常處理機(jī)制很好,只是很多人不知道 以前,很多人包括我在內(nèi)都用VBScript來(lái)編寫(xiě)ASP程序,VBScript的異常處理機(jī)制的確是糟透了。然而,JScript則很好,因?yàn)樗С职–#、Java都有的try…catch語(yǔ)句,足以處理所有異常。 三、在Javascript蓬勃發(fā)展的現(xiàn)在,面向?qū)ο笠膊皇菃?wèn)題 自從Javascript因?yàn)锳jax而興起,它的面向?qū)ο髾C(jī)制就已經(jīng)被模擬出來(lái)了。雖然不是真正的面向?qū)ο?,但是作為中小型Web程序,這也足夠了。同樣以ECMAScript為核心的JScript也擁有相同的機(jī)制。此外,ECMAScript的語(yǔ)言靈活性無(wú)疑是最強(qiáng)的,做前端開(kāi)發(fā)的人員對(duì)此最為清楚。 四、漏洞是程序員造成的 經(jīng)常聽(tīng)到有人說(shuō)ASP的SQL注入漏洞非常嚴(yán)重,其實(shí)無(wú)論什么語(yǔ)言都存在這樣的漏洞,問(wèn)題在于程序員會(huì)不會(huì)堵。ASP中可以通過(guò)參數(shù)化查詢簡(jiǎn)單高效地解決這個(gè)問(wèn)題。不需要字符串替換,甚至不需要數(shù)據(jù)驗(yàn)證。 下面我來(lái)說(shuō)說(shuō)學(xué)習(xí)ASP(JScript)的好處: 一、前后臺(tái)技術(shù)兼修 無(wú)論是前臺(tái)的Javascript還是后臺(tái)的Javascript都是基于ECMAScript核心,所以,后臺(tái)的Javascript寫(xiě)得好,前臺(tái)Javascript的水平也可以得到提高。 二、認(rèn)識(shí)Web應(yīng)用程序的基本原理 ASP.NET、PHP等技術(shù)屏蔽了許多Web的底層,這對(duì)初學(xué)者認(rèn)識(shí)Web程序的原理非常不利。而ASP則絕對(duì)是從最基礎(chǔ)寫(xiě)起,比如上傳文件的程序就必須分析數(shù)據(jù)包獲取文件數(shù)據(jù)。 三、開(kāi)發(fā)效率高 很多人說(shuō)ASP.NET的開(kāi)發(fā)效率高,我對(duì)其持反對(duì)態(tài)度。如果應(yīng)用程序的功能需求不復(fù)雜,絕對(duì)是用ASP開(kāi)發(fā)要快。因?yàn)锳SP是解析執(zhí)行,不需要編譯。修改、調(diào)試要方便得多。Windows也為ASP提供了一個(gè)很好的運(yùn)行環(huán)境(IIS),無(wú)需再作額外的配置。此外,當(dāng)前后臺(tái)都用同一種語(yǔ)言時(shí),很多代碼都可以復(fù)用,這是其他技術(shù)平臺(tái)無(wú)法比擬的。 近年來(lái)也有其他的Server-Side Javascript(SSJS)出現(xiàn),比如Jaxer、JScript.NET,Mozilla也有一個(gè)SSJS的項(xiàng)目。期待ECMAScript在后臺(tái)開(kāi)發(fā)中有更大的發(fā)展。 阿里西西的補(bǔ)充(技術(shù)強(qiáng)人) 說(shuō)ASP是低能的人不是菜鳥(niǎo)就是連ASP都學(xué)不會(huì)的人,技術(shù)不是用來(lái)顯擺的,是用來(lái)創(chuàng)造實(shí)際價(jià)值的,其實(shí)很多應(yīng)用ASP就已經(jīng)能夠?qū)崿F(xiàn),而且有大量的通用源碼可以參考,很容易轉(zhuǎn)化為生產(chǎn)力,可以說(shuō),動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)中,ASP是最廣泛最成熟的技術(shù)之一。ASP當(dāng)然存在很多的不足,這時(shí)就需要其他技術(shù)來(lái)解決。
很多人錯(cuò)誤地認(rèn)為ASP是簡(jiǎn)單、低效的代名詞,認(rèn)為ASP是低能的,已經(jīng)過(guò)時(shí)的,不足掛齒的,也很簡(jiǎn)單,一學(xué)就會(huì),一琢磨就精通。 有人講ASP不安全,寫(xiě)ASP的程序的時(shí)候如果嚴(yán)格按照書(shū)寫(xiě)安全的代碼的規(guī)范去寫(xiě),寫(xiě)出來(lái)的程序也沒(méi)有什么理由不安全。那些人說(shuō)ASP不安全,好像PHP、JSP的程序就不會(huì)出現(xiàn)SQL Injection似的。 有人講ASP不高效,真的想要高效的話你可以結(jié)合COM,在Win32平臺(tái)下COM的效率Java是永遠(yuǎn)追不上的。單純講速度有什么意義呢?Java的速度絕對(duì)算不上高,論速度的話好多技術(shù)方案的速度都比Java高,這一點(diǎn)學(xué)Java的人最清楚了,可是誰(shuí)在乎過(guò)這一點(diǎn)了?Java的勝出絕對(duì)不是因?yàn)樗乃俣?。拋開(kāi)具體的應(yīng)用環(huán)境單純地講速度是不理性的。 有人講ASP這個(gè)不能做,那個(gè)做不了,功能很局限。其實(shí)只要你明白Web的原理的話你就會(huì)明白,寫(xiě)ASP程序表面看是在玩一種腳本語(yǔ)言,但你指揮的是Web Server,有很多復(fù)雜的功能ASP也照樣能完成的很好,有些功能ASP假如因?yàn)閃eb應(yīng)用的先天局限做不了,你不要以為JSP、PHP就能做到。 該文章在 2010/11/26 0:54:08 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |