發表日期:2009.10.17 訪問人數:2651
現在主流的網站開發語言無外乎asp、php、asp.net、jsp四種。很多初學者或客戶對于用于網站開發即B/S結構系統的程序語言選擇比較迷茫,這里綜合我們多年的開發經驗進行一些分析:
網頁從開始簡單的html到復雜的服務語言,走過了10多個年頭,各種技術層出不窮,單個的主流技術也在不斷翻新的版本,經常有客戶一來就問是否A語言運行速度更快?是否B語言安全性更高?是否C語言是現在最先進的?然后憑自己的主觀想象或者參考一些行業者片面的說法就指定必須用某種語言結合某種數據庫來發開,盲目的認為這樣的開發結果就是最先進的最好的。其實不管ASP、PHP、ASP.net、JSP哪種語言,它們能成為網站的開發主流語言,就直接說明著這四種語言本身并沒有太大的優缺點,而關鍵在于開發它的人或公司是否擅長于使用它和用它做出來的東西是否符合該系統要達到的目的,所謂擅長的標準,應該就是使用該語言的人能在高效率、高質量的前提下實現其所有功能,大多數公司團隊或個人都有自己擅長的程序語言,只要能通過各自擅長的語言達到系統建設的目的,我們又何必太在乎語言的本身是否優劣,如果說優劣也只能是指最終開發出的系統是否考慮完善。下面我們就對四種語言進行逐一分析和對比,看怎樣的條件下選擇用怎樣的語言才能開發出適合自身情況需要的系統搭建。
HTML:當然這是網頁最基本的語言,每一個服務器語言都需要它的支持,要學習,每個開發者都必須要掌握,這個肯定是開始,這里就不說了.
主流網站開發語言之ASP:ASP是微軟(Microsoft)所開發的一種后臺腳本語言(請注意ASP是種腳本,嚴格來說并不是種開發語言,這也是它和一些語言最大的本質區別,),它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把后臺腳本代碼內嵌到HTML頁面中。ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。ASP的簡單易用是其最大的特點,特別是和ACCESS這種小型數據庫結合后相當方便,說到這里不得不插說一下數據庫:
Access:微軟Office帶的小型數據庫系統,一般與Asp,Asp.Net配合使用。這個數據庫極度適合小型企業的網站,對于數據量低于10萬條的網站來說,完全沒有問題.其實ACESS已經能滿足相當多的網站數據量需求,不要去盲目的選擇使用大型數據庫,一方面增加不必要的工作量如環境搭建,一方面會增加費用。
MYSQL:一種免費的中型數據庫系統,一般與PHP配合使用. 對于PHP程序員來說,MYSQL是最好的選擇.
MSSQL(SQL Server):微軟公司的大型數據庫系統,一般Asp,Asp.Net使用,目前比較流行的版本有2000,2005. 網站數據量超過了十萬\二十萬,那就改用MSSQL數據庫吧.
主流網站開發語言之PHP: Php和Asp一樣也是,也是屬于腳本語言,一般連接的數據庫為MySql數據庫,當然它也能和Access數據庫和MsSql(SqlServer)數據庫等其他數據庫連接。PHP的源代碼完全公開,PHP屬于免費軟件,也就是說他的資源是free的。 Php從安全性上比Asp要好,當然這里說的是相對而言,一個好的程序員把安全性做好的話,都差不多,不過Php的安全性要比Asp要好,為什么這么說呢。這里主要原因是這樣的,PHP的搭建服務器環境相對復雜(需要安裝Apache + MySql + PHP),而Asp的搭建環境比較簡單(只需要安裝IIS就可以了),所以學PHP的門檻比Asp的門檻要高,所以很多人就偏向Asp學習的人就多了,自然研究Asp漏洞的人就多了,而PHP會的人就少,所以研究漏洞的人就更少了,從這點來說PHP的安全性比ASP的安全性要高些。而且還有一點就是 Apache 的環境最好是Unix,當然Windows下也是可以安裝的。
平臺無關性是PHP的最大優點,但是在優點的背后,還是有一些小小的缺點的。如果在PHP中不使用ODBC,而用其自帶的數據庫函數(這樣的效率要比使用ODBC高)來連接數據庫的話, 使用不同的數據庫,PHP的函數名不能統一。這樣,使得程序的移植變得有些麻煩。不過,作為目前應用最為廣泛的一種后臺語言,PHP的優點還是異常明顯的。
主流網站開發語言之ASP.NET:ASP.net是Microsoft.net的一部分,作為戰略產品,不僅僅是 Active Server Page (ASP) 的下一個版本;它還提供了一個統一的 Web 開發模型,其中包括開發人員生成企業級 Web 應用程序所需的各種服務。ASP.NET 的語法在很大程度上與 ASP 兼容,同時它還提供一種新的編程模型和結構,可生成伸縮性和穩定性更好的應用程序,并提供更好的安全保護。可以通過在現有 ASP 應用程序中逐漸添加 ASP.NET 功能,隨時增強 ASP 應用程序的功能。ASP.NET 是一個已編譯的、基于 .NET 的環境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創作應用程序。另外,任何 ASP.NET 應用程序都可以使用整個 .NET Framework。開發人員可以方便地獲得這些技術的優點,其中包括托管的公共語言運行庫環境、類型安全、繼承等等。ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發更加方便,而且還能提供這些工具必須提供的所有優點,包括開發人員可以用來將服務器控件拖放到 Web 頁的 GUI 和完全集成的調試支持。微軟為ASP.net設計了這樣一些策略:易于寫出結構清晰的代碼、代碼易于重用和共享、可用編譯類語言編寫等等,目的是讓程序員更容易開發出Web應用,滿足計算向Web轉移的戰略需要。ASP.net 的速度 是 ASP不能比擬的。ASP.net 是編譯語言,所以,當第一次加載的時候,它會把所有的程序進行編譯(其中包括 worker進程,還有對語法進行編譯,形成一個程序集),當程序編譯后,執行速度幾乎為0,而ASP是把代碼交給VBScript解釋器或Jscript解釋器來解釋,當然速度沒有編譯過的程序快了。
主流網站開發語言之JSP:JSP和Servlet要放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的一部分。
Servlet的形式是HTML代碼和后臺程序分開的,是服務器接到客戶端的請求后,進行應答,打開一個線程(Thread),將結果發送給客戶。由于線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源共享,這樣就減輕了服務器的負擔,所以,Java Servlet可以用來做大規模的應用服務。
雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。但是,它的執行方式和ASP或PHP完全不同。在JSP被執行的時候,JSP文件被JSP解釋器(JSP Parser)轉換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節文件,這樣就由生成的Servlet來對客戶端應答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。
由于JSP/Servlet都是基于Java的,所以它們也有Java語言的最大優點——平臺無關性,也就是所謂的“一次編寫,隨處運行(WORA – Write Once, Run Anywhere)”。除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。因此,JSP/Servlet雖然在國內目前的應用并不廣泛,但是其前途不可限量。
在調試JSP代碼時,如果程序出錯,JSP服務器會返回出錯信息,并在瀏覽器中顯示。這時,由于JSP是先被轉換成Servlet后再運行的,所以,瀏覽器中所顯示的代碼出錯的行數并不是JSP源代碼的行數,而是指轉換后的Servlet程序代碼的行數。這給調試代碼帶來一定困難。所以,在排除錯誤時,可以采取分段排除的方法(在可能出錯的代碼前后輸出一些字符串,用字符串是否被輸出來確定代碼段從哪里開始出錯),逐步縮小出錯代碼段的范圍,最終確定錯誤代碼的位置。
如今主流的Web服務器軟件主要由IIS或Apache組成。IIS支持ASP且只能運行在Windows平臺下,Apache支持PHP,CGI,JSP且可運行于多種平臺,雖然Apache是世界使用排名第一的Web服務器平臺,但是眾所周知,Windows以易用而出名,也因此占據不少的服務器市場。
vb一般指vb6.0,是傳統的win32編程。vb.net和asp.net是基于微軟.net平臺的語言。說java好主要是因為java的j2ee部分做企業級開發很強大,而且跨平臺。c#是.net平臺上最好用的語言,現在只能運行在windows系統。 web開發方面.net和j2ee的競爭很激烈,難說以后鹿死誰手。 現在做網站大部分都是asp.net或jsp的,asp.net容易上手,比較普及,但是平臺單一,jsp雖然上手難,但是跨平臺,安全性高。
我們常用的開發組合:
IIS環境下
1.ASP+ACCESS
2.ASP+SQL SERVER
3.ASP.NET+ACCESS
4.ASP.NET+SQL SERVER
APACHE環境下
5. JSP +Oracale
6.JSP+MYSQL
7.PHP+MYSQL
總結對比:
asp asp.net php jsp
主要適用 網站 網站管理系統 網站 管理系統
網站規模 小型 大中小 中小型 大中
學習難度 簡單 中 簡單 難
開發速度 快 中 快 慢
國內流行程度 較 較 較 一般
可以說在ASP.net的推出并隨著微軟的強勢支持下,同為微軟產品的ASP在微軟停止對其更新后,確實快過時了,在未來jsp和asp.net將會有巨大的潛力,但PHP憑借其開源的特性也會占有一定份額。 因此在國內來說,ASP.net和PHP在大多數的網站應用中現在已經是主流中的主流,JSP一般用于一些超大型的網站開發或者管理系統開發。
綜上所述,我們評價其速度也好,安全性也好,開發難易度也好,成本投入也好等等都是相對而言,都是相對于一個B/S系統的發展需要和適合自身條件投入而言。如果要用ASP+MSSQL開發一個新浪或者163這種巨型門戶網站也不是不可以,但如果要這樣做我們也可以使這種組合夠速度、夠安全,但這會增加開發者巨大的工作量去研究配合提高它的速度、安全性、和考慮負載的均衡。經常看到有些公司打出用JSP建站的口號,以此為賣點,客戶不要盲目覺得JSP就是最先進的,也許ASP是一把小刀,JSP是一把菜刀,用來削個蘋果不見得是更大的菜刀適合吧,一些網絡公司或軟件公司用不成熟的JSP技術做出來的東西那不叫JSP,不叫J2EE,不見得后綴名為JSP的就能真正發揮了JSP的所有特性,因此國內經常看到一些JSP網站速度其慢,甚至效果不如ASP。JSP本身的特性就決定了用這種語言來開發畢將是高成本的投入,那些花很少的成本做個JSP站點我們肯定要持懷疑的態度來認真審視,而花出高達幾倍甚至數十倍的成本來硬撐個JSP小站點我想也不是一般人能夠接受的,所以選擇怎樣的組合完成怎樣的事以達到怎樣的目的才是重點,也許這也不僅僅是這個行業的特點,也適用于其他行業。
成都網站建設資料請點擊【成都網站建設公司介紹】
成都網站設計案例請點擊【成都網站設計案例】
免費咨詢