小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ASP、JSP、PHP 、Perl、.NET 等WEB開發(fā)語言比較

 wangzai117 2006-08-10


 

christmaszzp 2006-04-14 23:46


ASP全名Active Server Pages,是一個WEB服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動態(tài)的、互動的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VBScript(Java script)作為自己的開發(fā)語言。
PHP是一種跨平臺的服務(wù)器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。還有一點(diǎn),PHP是完全免費(fèi)的,不用花錢,你可以從PHP官方站點(diǎn)(http: //www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。
JSP是Sun公司推出的新一代網(wǎng)站開發(fā)語言,Sun公司借助自己在Java上的不凡造詣,將Java從Java應(yīng)用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。
三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成 Servlet并由Java虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對JSP頁面的第一次請求時發(fā)生。在ASP 、PHP、JSP環(huán)境下,HTML代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML頁面只依賴于Web服務(wù)器,而ASP 、PHP、JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。ASP 、PHP、JSP三者都是面向Web服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。
技術(shù)特點(diǎn):
ASP:
1. 使用VBScript 、 JScript等簡單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。
2. 無須compile編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。
3. 使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計。
4. 與瀏覽器無關(guān)(Browser Independence), 客戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設(shè)計的網(wǎng)頁內(nèi)容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB服務(wù)器端執(zhí)行,客戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。
5.Active Server Pages能與任何ActiveX scripting語言兼容。除了可使用VB Script或JScript語言來設(shè)計外,還通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model) 對象。
6. 可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。
7. ActiveX Server Components(ActiveX 服務(wù)器組件 )具有無限可擴(kuò)充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設(shè)計語言來編寫你所需要的ActiveX Server Component 。
PHP:
1 數(shù)據(jù)庫連接
PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是現(xiàn)在絕佳的群組合。你還可以自己編寫外圍的函數(shù)去間接存取數(shù)據(jù)庫。通過這樣的途徑當(dāng)你更換使用的數(shù)據(jù)庫時,可以輕松地修改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。但PHP提供的數(shù)據(jù)庫接口支持彼此不統(tǒng)一,比如對Oracle, MySQL,Sybase的接口,彼此都不一樣。這也是PHP的一個弱點(diǎn)。
JSP:
1.將內(nèi)容的產(chǎn)生和顯示進(jìn)行分離
使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來產(chǎn)生頁面上的動態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans群組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端執(zhí)行。如果核心邏輯被封裝在標(biāo)識和Beans中,那么其它人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的產(chǎn)生。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識,產(chǎn)生所請求的內(nèi)容(例如,通過存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。
2.強(qiáng)調(diào)可重用的群組件
絕大多數(shù)JSP頁面依賴于可重用且跨平臺的組件(如:JavaBeans或者Enterprise JavaBeans)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。
3.采用標(biāo)識簡化頁面開發(fā)
Web頁面開發(fā)人員不會都是熟悉腳本語言的程序設(shè)計人員。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其它方法更難于編碼和耗時的功能。通過開發(fā)定制化標(biāo)識庫,JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其它人員可以為常用功能建立自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的構(gòu)件來工作。 JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java 2EE的一個成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java程序設(shè)計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java程序設(shè)計語言“一次編寫,各處執(zhí)行”的特點(diǎn)。隨著越來越多的供貨商將JSP支持加入到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,修改工具或服務(wù)器并不影響目前的應(yīng)用。
應(yīng)用范圍:
ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來非常困難。
結(jié)論:ASP簡單而易于維護(hù),是小型網(wǎng)站應(yīng)用的最佳選擇,通過DCOM和MTS技術(shù),ASP甚至還可以完成中等規(guī)模的企業(yè)應(yīng)用。
PHP可在Windows,Unix,Linux的Web服務(wù)器上正常執(zhí)行,還支持IIS,Apache等一般的Web服務(wù)器,用戶更換平臺時,無需變換PHP代碼,可即拿即用。
結(jié)論:PHP因?yàn)榻Y(jié)構(gòu)上的缺陷,使的其只適合編寫小型的網(wǎng)站系統(tǒng)。
JSP同PHP類似,幾乎可以執(zhí)行于所有平臺。如Win NT,Linux,Unix。在NT下IIS通過一個外加服務(wù)器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的執(zhí)行平臺。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場份額,但是在服務(wù)器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來勢不小。從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺無關(guān)的。
結(jié)論:對于腳本語言來講,JSP還是擁有相當(dāng)大的優(yōu)勢的,雖然其配置和部署相對其他腳本語言來說要復(fù)雜一些,但對于跨平臺的中大型網(wǎng)站系統(tǒng)來講,基于JAVA技術(shù)的JSP(結(jié)合JavaBean和EJB)幾乎成為唯一的選擇。
性能比較:
有人做過試驗(yàn),對這三種語言分別做回圈性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,JSP只用了令人吃驚的四秒鐘就結(jié)束了20000*20000的回圈。而ASP、PHP測試的是2000*2000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考PHPLIB)。 數(shù)據(jù)庫測試中,三者分別對 Oracle 8 進(jìn)行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則 需要 73 秒。
前景分析:
目前在國內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國內(nèi)采用的較少。但在國外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、中國人(Chinaren)等,但由于PHP本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對于大負(fù)荷站點(diǎn),解決方法只有一個:分布計算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而PHP則缺乏這種支持。還有上面提到過的一點(diǎn),PHP提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。
ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規(guī)模支持,通過DCOM和Transcation Server獲得結(jié)構(gòu)支持;JSP可以通過SUN Java的Java Class和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。三者中,JSP應(yīng)該是未來發(fā)展的趨勢。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它們都是通過CGI來提供支持的。但去年10月后它推出了Enfinity,一個采用JSP/Servlet的電子商務(wù)Application Server,而且聲言不再開發(fā)傳統(tǒng)軟件。
 Perl

  Perl(Practical Extraction and Report Language)是一種很古老的腳本語言。最初的Web應(yīng)用大多是用Perl編寫的,Perl很像C語言,使用非常靈活,對于文件操作和處理具有和C語言一樣的方便快捷。

  也正是因?yàn)镻erl的靈活性和“過度”的冗余語法,也因此導(dǎo)致許多Perl程序的代碼令人難以閱讀和維護(hù),因此使用的人在逐漸減少,并且目前有被Python替代的可能。

  另外Perl對于CPU的消耗似乎較高,效率似乎有一些不足。

  Perl開發(fā)的成功案例:

  Movable Type — 世界上使用最多的Blog系統(tǒng)之一,功能強(qiáng)大的足以和一個CMS系統(tǒng)相比擬。

  Awstats — 非常經(jīng)典的日志系統(tǒng),速度極快,功能也非常強(qiáng)大。

結(jié)論:Perl在部分應(yīng)用中能發(fā)揮很大優(yōu)勢,但其維護(hù)性差使得其普及變得很困難。

.NET

.NET的優(yōu)勢:企業(yè)信息系統(tǒng)部門可自行編程
.NET是Microsoft貼在現(xiàn)有產(chǎn)品和未來產(chǎn)品上的一個新式行銷標(biāo)簽。在Microsoft服務(wù)器端產(chǎn)品中,如基于Windows DNA 2000技術(shù)的izTalk Server 2000和Application Center 2000,.NET標(biāo)簽將隨處可見。然
而,.NET最令人感興趣的特色卻在于它的開發(fā)平臺、語言和協(xié)議。

   通過.NET,Microsoft為我們提供了一種全新的開發(fā)平臺,這個平臺將推動以新體系為基礎(chǔ)的協(xié)同Web應(yīng)用開發(fā)。根據(jù)Microsoft的說法,.NET至少將成為一種“對Web編程”的方法。當(dāng)前,第一版Visual Studio .NET已經(jīng)出現(xiàn),由此出發(fā),我們或許可以比較精確地勾畫出.NET平臺最終的全貌。
:.NET開發(fā)工具--Visual Studo.NET的易用性使得它在Java很難實(shí)現(xiàn)的“用戶企業(yè)(信息系統(tǒng)部門)也可編程的系統(tǒng)”上超人一頭。筆者認(rèn)為可能還存在其他這樣的領(lǐng)域。當(dāng)然,盡管.NET的標(biāo)準(zhǔn)語言VB.NET和C#都與Java一樣復(fù)雜,但是Visual Studo.NET卻很好地消除了這種復(fù)雜性。
  比如,日本蘭碧兒(NOEVIR)只靠自己的信息系統(tǒng)部門就完成了Web代理店支援系統(tǒng)的從企劃到編程的全部工作。日本一家系統(tǒng)集成商曾表示,此前導(dǎo)入Java系統(tǒng)的用戶企業(yè)中“選用.NET的信息系統(tǒng)部門就有望自行開發(fā)或?qū)ο到y(tǒng)進(jìn)行修改”。
  筆者認(rèn)為,由于Java本身較為復(fù)雜,且不易學(xué)習(xí)掌握,因此“用戶企業(yè)只負(fù)責(zé)企劃,而將編程工作完全委托給集成商的現(xiàn)象非常普遍”。
  在COBOL和VB(客戶商/服務(wù)器)的全盛時期,信息系統(tǒng)部門自己編程、對系統(tǒng)進(jìn)行部分修改和功能追加是很正常的事情。如果連細(xì)小的系統(tǒng)修改都要外包,那么系統(tǒng)的維護(hù)成本自然會很高,因此就將失去靈活性。甚至于還有可能削弱信息系統(tǒng)部門的業(yè)務(wù)能力。說到企劃,聽起來好聽,但如果連大體的情況也不了解,恐怕與開發(fā)商交涉都很困難。這也許就是Java的一個“弊端”吧。
  此外,“成本比UNIX低”以及“可以充分利用Windows技術(shù)資源”等原因也在加速.NET Framework的普及。作為客戶端/服務(wù)器系統(tǒng)的開發(fā)環(huán)境,VB的后續(xù)語言--.NET中的“Windows Form”最具競爭力。越來越多的系統(tǒng)集成商開始選擇這一工具構(gòu)筑系統(tǒng)。
.NET的劣勢:應(yīng)用成果少、開放性差
  反過來說,.NET的劣勢則在于在大型系統(tǒng)中的應(yīng)用成果少、缺乏“開放性”。
  對于應(yīng)用成果來說,今后其數(shù)量將會不斷增加。據(jù)悉,日本Kabu.com證券將在2003年度內(nèi)利用.NET Framework全面重新構(gòu)筑該公司目前利用ASP構(gòu)筑的系統(tǒng)。
  在“開放性”方面又將會如何呢?Java普及的主要因素很多,但筆者認(rèn)為其中最關(guān)鍵的在于“開放性”。由于可各種OS上運(yùn)行,而且很多開發(fā)商還提供了Web應(yīng)用服務(wù)器和開發(fā)工具,因此用戶可以隨意選擇。而開發(fā)商則通過在功能和性能方面相互競爭來不斷提高產(chǎn)品水平。
  而.NET Framework怎么樣呢?只要想應(yīng)用于業(yè)務(wù)系統(tǒng)中,其OS實(shí)際上則只能限于Windows。盡管微軟已經(jīng)提供了FreeBSD版.NET Framework,但其目的僅限于學(xué)術(shù)研究。
  今后人們所能期待的是Mono Project。Mono Project是指完全獨(dú)立于微軟、正在開發(fā)開放源碼版.NET Framework的計劃。主導(dǎo)該計劃的是一家名為Ximian的Linux企業(yè),這家公司成功地開發(fā)了Linux標(biāo)準(zhǔn)桌面環(huán)境GNOME,目前已受到業(yè)界的廣泛關(guān)注。
  2003年1月該計劃還發(fā)布了運(yùn)行Web應(yīng)用程序ASP.NET的Web服務(wù)軟件XSP。盡管很多功能仍在開發(fā)之中,但目前開發(fā)工作進(jìn)展順利。目前正面向Linux和Windows進(jìn)行開發(fā)。據(jù)Mono Project稱,由于該軟件依賴于Linux的部分不多,因此能夠輕松地向其他UNIX OS移植。
  能否形成像Mono一樣的開放環(huán)境將是.NET普及的關(guān)鍵所在。微軟目前已經(jīng)向業(yè)界標(biāo)準(zhǔn)化機(jī)構(gòu)ECMA(歐洲計算機(jī)制造商協(xié)會)提交了.NET標(biāo)準(zhǔn),此舉表明微軟將采用開放標(biāo)準(zhǔn)。但目前尚不清楚此舉只是單純的一種姿態(tài),還是真的要開放.NET。這就要看微軟今后是否能夠繼續(xù)公開足夠的相關(guān)標(biāo)準(zhǔn)和信息了。
可以說,無論是在技術(shù)上還是在戰(zhàn)略上,Microsoft都對.NET寄予了厚望。當(dāng)前的DNA 2000技術(shù)并未包含新的.NET平臺;相反,.NET將是一種全新的技術(shù),有望揉合許多根本性的、深層次的創(chuàng)意。

   作為一種全新的平臺和技術(shù),.NET帶來了許多新的產(chǎn)品,但這些產(chǎn)品和現(xiàn)有技術(shù)的兼容性未能獲得百分之百的保證。.NET支持27種編程語言,它們將共享一組提供基本服務(wù)的類。.NET應(yīng)用不再直接在裸機(jī)上運(yùn)行,由于看好一種運(yùn)行在虛擬機(jī)CLR(Common Language Runtime)上的稱為MSIL的中間語言,Microsoft放棄了Intel x86代碼。
.net就遠(yuǎn)來說可能更有前途,畢竟是microsoft統(tǒng)治時期
就JAVA來說,最近比較熱,J2EE等都是市場比較搶手的。

XML
Extensible Markup Language,可擴(kuò)展標(biāo)識語言。它是一種由W3C發(fā)展,可由網(wǎng)頁設(shè)計者自行定義標(biāo)簽(TAG)HTML延伸規(guī)格,主要目的是讓使用者能夠設(shè)計結(jié)構(gòu)性資料及文件格式,并對資料如何存儲,接受與應(yīng)用提供標(biāo)準(zhǔn)描述方法。簡單地說,XML就是一種用來在互聯(lián)網(wǎng)上創(chuàng)建電子文檔的標(biāo)準(zhǔn)。

CGI
Common Gateway Interface,公共網(wǎng)關(guān)接口。網(wǎng)頁服務(wù)器與應(yīng)用程序之間傳遞資料的接口規(guī)范,CGI程序客用冷和程序語言產(chǎn)生,通常為Perl,使用CGI程序可以讀取使用者的輸入并產(chǎn)生動態(tài)的HTML網(wǎng)頁。CGI每次響應(yīng)一個請求都會建立一個進(jìn)程(Process),對于服務(wù)器來說是一個不校的負(fù)擔(dān)哦。不過,現(xiàn)在的Fast-cgi以及對此有很大的改善,所以就不用怕使用CGI編的論壇會占有你過多的系統(tǒng)資源了.
DELPHI
Delphi是著名的Borland(現(xiàn)在已和Inprise合并)公司開發(fā)的可視化軟件開發(fā)工具。“真正的程序員用c,聰明的程序員用Delphi”,這句話是對Delphi最經(jīng)典、最實(shí)在的描述。Delphi被稱為第四代編程語言,它具有簡單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強(qiáng)大、更實(shí)用??梢哉fDelphi同時兼?zhèn)淞薞C功能強(qiáng)大和VB簡單易學(xué)的特點(diǎn)。它一直是程序員至愛的編程工具。
  Delphi具有以下的特性:基于窗體和面向?qū)ο蟮姆椒ǎ咚俚木幾g器,強(qiáng)大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是Object Pascal語言,它才是一切的根本。 Object Pascal語言是在Pascal語言的基礎(chǔ)上發(fā)展起來的,簡單易學(xué)。
  Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫的應(yīng)用程序,如DesktopDataBase Expert等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。
  在Delphi眾多的優(yōu)勢當(dāng)中,它在數(shù)據(jù)庫方面的特長顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機(jī)/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。
  Delphi發(fā)展至今,從Delphi1、Delphi2到現(xiàn)在的Delphi5,不斷添加和改進(jìn)各種特性,功能越來越強(qiáng)大。Delphi5添加了對IDE(集成開發(fā)環(huán)境)的很多改進(jìn)新特性,擴(kuò)展了數(shù)據(jù)庫支持(ADO和InterBase數(shù)據(jù)庫),帶有Internet支持的MIDAS改進(jìn)版,TeamSouse版本控制工具,轉(zhuǎn)換功能,框架概念以及很多的新組件與新特性。
JavaScript+Html
JavaScript 是一種描述語言,此一語言可以被箝入 HTML 的文件之中。
透過 JavaScript 可以做到回應(yīng)使用者的需求事件 (如: form 的輸入) 而不用任何的網(wǎng)路
來回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時,它不用經(jīng)過傳給伺服端 (server)
處理,再傳回來的過程,而直接可以被客戶端 (client) 的應(yīng)用程式所處理。你也可
以想像成有一個可執(zhí)行程式在你的客端上執(zhí)行一樣!目前已有一些寫好的程式在
Internet 上你可以連過去看看,以下有一些計算器的例子,在 Nescape 上。

JavaScript 和 Java 很類似,但到底并不一樣! Java 是一種比 JavaScript 更復(fù)雜
許多的程式語言,而 JavaScript 則是相當(dāng)容易了解的語言。JavaScript 創(chuàng)作者
可以不那么注重程式技巧,所以許多 Java 的特性在 Java Script 中并不支援
Javascript的語法基本上與Java一致,但是由于Javascript是一個弱類型的腳本語言,在程序編寫的過程中會有一些不同。同時由于Javascript是基于對象的語言,注意不是面向?qū)ο蟮恼Z言,所以它在對對象的支持上有一定缺陷,大家所熟悉的諸如對象繼承,多態(tài)等面向?qū)ο笳Z言所具有的基本特性在Javascript中只能通過一些變通手段來實(shí)現(xiàn)(通常比較復(fù)雜)。然而,弱類型語言也有其優(yōu)點(diǎn),那就是簡單性,Javascript中類型轉(zhuǎn)化是非常方便的(弱類型語言在代碼中基本上表現(xiàn)為無類型),一個String通過一個簡單的加減操作就可以轉(zhuǎn)化為Int(相當(dāng)于調(diào)用了Integer.ParseInt(String)),而且不會拋異常。Javascript作為一種解釋性語言,還能使用在編譯性語言C/C++、JAVA難以支持的eval語句。由于運(yùn)行在沙箱中,Javascript運(yùn)行時有很多的安全性限制。它不允許訪問本地的硬盤,并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動態(tài)交互,從而有效地防止數(shù)據(jù)的丟失。


Ajax是Asynchronous JavaScript and XML的簡稱,它表現(xiàn)出一個Web開發(fā)上的根本轉(zhuǎn)變,那就是,Web上可能做些什么.
Ajax的定義
  Ajax不是一個技術(shù),它實(shí)際上是幾種技術(shù),每種技術(shù)都有其獨(dú)特這處,合在一起就成了一個功能強(qiáng)大的新技術(shù)。Ajax包括:
XHTML和CSS
使用文檔對象模型(Document Object Model)作動態(tài)顯示和交互
使用XML和XSLT做數(shù)據(jù)交互和操作
使用XMLHttpRequest進(jìn)行異步數(shù)據(jù)接收
使用JavaScript將它們綁定在一起
Ajax理念的出現(xiàn),揭開了無刷新更新頁面時代的序幕,并有代替?zhèn)鹘y(tǒng)web開發(fā)中采用form(表單)遞交方式更新web頁面的趨勢,可以算是一個里程碑。但Ajax都不是適用于所有地方的,它的適用范圍是由它的特性所決定的。它的特性主要有:
  1、按需取數(shù)據(jù)。頁面不讀取無用的冗余數(shù)據(jù),而是在用戶操作過程中的某項(xiàng)交互需要某部分?jǐn)?shù)據(jù)時才會向服務(wù)器發(fā)送請求。
  2、無刷新更新頁面??蛻舳死肵MLHTTP發(fā)送請求得到服務(wù)端應(yīng)答數(shù)據(jù),在不重新載入整個頁面的情況下用JavaScript操作DOM最終更新頁面。
  3、預(yù)讀功能也可以通過Ajax實(shí)現(xiàn),但并不是Ajax的優(yōu)勢所在,它的主要優(yōu)勢還是在交互方面。

  Ajax帶來的正面效果:
1、減輕服務(wù)器的負(fù)擔(dān)。因?yàn)锳jax的根本理念是“按需取數(shù)據(jù)”,所以最大可能在減少了冗余請求和響影對服務(wù)器造成的負(fù)擔(dān)。
2、減少用戶實(shí)際和心理等待時間。
  傳統(tǒng)的web應(yīng)用模型工作起來就象這樣:大部分界面上的用戶動作觸發(fā)一個連接到Web服務(wù)器的HTTP請求。服務(wù)器完成一些處理---接收數(shù)據(jù),處理計算,再訪問其它的數(shù)據(jù)庫系統(tǒng),最后返回一個HTML頁面到客戶端。這是一個老套的模式,自采用超文本作為web使用以來,一直都這樣用, 但看過《The Elements of User Experience》的讀者一定知道,是什么限制了Web界面沒有桌面軟件那么好用。
  這種舊的途徑讓我們認(rèn)識到了許多技術(shù),但它不會產(chǎn)生很好的用戶體驗(yàn)。當(dāng)服務(wù)器正在處理自己的事情的時候,用戶在做什么?沒錯,等待。每一個動作,用戶都要等待。

  很明顯,如果我們按桌面程序的思維設(shè)計Web應(yīng)用,我們不愿意讓用戶總是等待。當(dāng)界面加載后,為什么還要讓用戶每次再花一半的時間從服務(wù)取數(shù)據(jù)?實(shí)際上,為什么老是讓用戶看到程序去服務(wù)器取數(shù)據(jù)呢?

  Ajax如何不同凡響
  通過在用戶和服務(wù)器之間引入一個Ajax引擎,可以消除Web的開始-停止-開始-停止這樣的交互過程. 它就像增加了一層機(jī)制到程序中,使它響應(yīng)更靈敏,而它的確做到了這一點(diǎn)。

  不像加載一個頁面一樣,在會話的開始,瀏覽器加載了一個Ajax引擎---采用JavaScript編寫并且通常在一個隱藏frame中。這個引擎負(fù)責(zé)繪制用戶界面以及與服務(wù)器端通訊。Ajax引擎允許用異步的方式實(shí)現(xiàn)用戶與程序的交互--不用等待服務(wù)器的通訊。所以用戶再不不用打開一個空白窗口,看到等待光標(biāo)不斷的轉(zhuǎn),等待服務(wù)器完成后再響應(yīng)。
  通常要產(chǎn)生一個HTTP請求的用戶動作現(xiàn)在通過JavaScript調(diào)用Ajax引擎來代替. 任何用戶動作的響應(yīng)不再要求直接傳到服務(wù)器---例如簡單的數(shù)據(jù)校驗(yàn),內(nèi)存中的數(shù)據(jù)編輯,甚至一些頁面導(dǎo)航---引擎自己就可以處理它. 如果引擎需要從服務(wù)器取數(shù)據(jù)來響應(yīng)用戶動作---假設(shè)它提交需要處理的數(shù)據(jù),載入另外的界面代碼,或者接收新的數(shù)據(jù)---引擎讓這些工作異步進(jìn)行,通常使用XML, 不用再擔(dān)誤用戶界面的交互。

  誰在使用Ajax
  在采用Ajax的開發(fā)上面,Google做了巨大的投資。去年Google所有主要的產(chǎn)品都用了這項(xiàng)技術(shù)---Orkut, Gmail, 以及最近的beta版的Google Groups, Google Suggest和Google Maps---它們?nèi)茿jax的應(yīng)用。(要想了解更多這些Ajax實(shí)際的技術(shù)細(xì)節(jié),請看它們的分析文章:Gmail, Google Suggest, Google Maps). 其它的像:Flickr, 采用許多人們喜歡的Ajax特性, 還有Amazon的A9.com搜索引擎也采用類似的技術(shù)。

  這些項(xiàng)目證明了Ajax不只是學(xué)術(shù)上的,也有許多真實(shí)世界成功應(yīng)用。這不是什么實(shí)驗(yàn)室里的技術(shù)。Ajax的應(yīng)用可大可小,從非常簡單的,像單一功能的Google Suggest到非常復(fù)雜的Google Maps。



[christmaszzp] 清清嗓子唱起歌來:東方紅,太陽升

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多