網站設計語言ASP與PHP的優缺點,該如何選擇?
06-26
asp 簡單易用適合做小型網站php 並發能力強,小網站看不出來。大訪問量的網站速度明顯快於asp網站下面比較一下ASP、ASP.net、JSP和PHP的優點和缺點:ASP優點:1. 無需編譯2. 易於生成3. 獨立於瀏覽器4. 面向對象5. 與任何ActiveX scripting 語言兼容6. 源程序碼不會外漏缺點:1、Windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平台性都會因為與NT的捆綁而顯現出來。2、ASP由於使用了COM組件所以它會變的十分強大,但是這樣的強大由於Windows NT系統最初的設計問題而會引發大量的安全問題。只要在這樣的組件或是操作中一不注意,哪么外部攻擊就可以取得相當高的許可權而導致網站癱瘓或者數據丟失。3、由於ASP還是一種Script語言所沒除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編繹的時間考驗,同時我們還不知其背後的組件會是一個什麼樣的狀況。4、無法實現跨操作系統的應用。當然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。可是我卻認為正是Windows限制了ASP,ASP的概念本就是為一個能讓系統運行於一個大的多樣化環境而設計的。5、還無法完全實現一些企業級的功能:完全的集群、負載均橫。ASP.NET優點:1. 簡潔的設計和實施。2. 語言靈活,並支持複雜的面向對象特性。3. 開發環境。缺點:1.資料庫的連接複雜。JSP優點:1、 一處編寫隨處運行。2、 系統的多台平支持。3、 強大的的可伸縮性。4、 多樣化和功能強大的開發工具支持。缺點:1、 與ASP一樣,Java的一些優勢正是它致命的問題所在。2、 缺少系統性的資料。3、 速度超慢PHP優點:1、 一種能快速學習、跨平台、有良好資料庫交互能力的開發語言。2、 簡單輕便,易學易用。3、 與Apache及其它擴展庫結合緊密。4、 良好的安全性。缺點:1、 資料庫支持的極大變化。2、 不適合應用於大型電子商務站點3、 安裝複雜。4、 缺少正規的商業支持。5、 無法實現商品化應用的開發。如果想與HTML更緊密php比較好。同樣jsp,asp都有優點。我個人覺得如果你要做小型項目asp最快但是有些不安全。小型中型用php很好,但是一做大型項目語言結構不清晰。中型大型用jsp很好,成本不是很離譜,而且維護型比較好,缺點是同等情況下,開發時間比php慢。大型超大型用.net,這樣可以使很多人協同開發。缺點是成本比較高!~PHP執行速度快,安全,可以跨平台,支持多種WEB伺服器和資料庫,並且從5.0以後很好的支持了oop思想,同時企業開發成本也比JSP要低,綜合考慮還是選擇PHP。我們公司的管理軟體就PHP開發的,網站也是。其實都一樣,我也做過asp的開發,平心而論,asp沒有php靈活,php有很多函數可用,並不依賴第三方組件。PHP比ASP更優秀: 1、速度、速度、速度 當我第一次運行PHP腳本程序時,我不禁對自己說:「太快了」,當時我是在儀態166MHZ的機器上運行我的程序的,但運行的速度仍然很快。 ASP是永遠也不會象PHP這樣快的,因為ASP是建立在COM體系結構之上的。當用VBScript寫ASP腳本時,實際上實在使用COM的對象,當向用戶瀏覽器發送信息時,它用的是Response對象的write方法,當它訪問資料庫和文件系統的時候,它用的是其他的COM對象。這些COM對象的使用使運行速度下降。 在PHP代碼中,所有的工作都運行在PHP的內存空間中,也就是說PHP不是基於COM對象的,所以的他的運行速度會快一些。 下面是我們在MSSQL740次運行一個查詢語句的執行時間統計: PHP Querying MSSQL7 時間(秒) 用 MSSQL extension 01.88 用 ODBC extension 09.54 用 ODBC via COM (ADO) 17.28 用OLEDB via COM 06.19 當我們使用PHP.ODBC,訪問資料庫用了9.54秒,而用COM介面去連接資料庫需要比PHP所用的時間高80%。 OLEDB是微軟的一種高速訪問資料庫的技術,他比ODBC要快。但當我們所PHP和OLEDB的效率實驗時,結果是PHP的整體性能比OLEDB高200%,如此的出一個結論,如果不採用COM可以獲得較快的執行速度。 當然PHP的執行速度還不是最快的,但我們才剛剛開始起步,我們會逐步的完善他,而且PHP是一種開放源代碼編程語言,世界上許多程序員在不斷的完善他的技術,相信他一定會比非開放源代碼系統獲得更高的執行速度的。 2、高級內存管理 在IIS4下,一個ASP腳本header.asp,如果被20個頁面所包含,那麼運行的時候,在內存當中會保留這20個header.asp的編譯副本,IIS5解決了這個問題,但只有windows2000才支持IIS5,由於這種IIS5的不能向下兼容的原因,許多伺服器仍然要使用IIS4下的低級的內存管理。 而在PHP中,不會存在這種問題,只有當require時,才會調用某個include文件。 3、沒有後顧之憂 我非常憎恨的一件事情就是會買到一件不放心的產品,比如當你買了一輛汽車,但由於發動機是壞的,你需要更換他;當你買了一棟房子的時候,你要去修補漏雨的屋頂。 那麼ASP舊鄉這些產品一樣,當你買了ASP之後,如果你需要加密技術,你就要買ASPEncrypt;當你需要Email管理時,你就要買ServerObjets Qmail;當你需要文件上傳時,你還要買Artisans SA-FileUp. 4、MySQL使PHP更精彩 PHP與MySQL的組合既簡單又精彩。PHP有許多管理和維護MySQL的工具,對MySQk的支持是最全面的。許多有用的函數如mysql_insert_id和mysql_affected_rows等,其他的資料庫則沒有。 ASP和PHP都是中型網站的較理想的解決方案,但PHP與MySQL的緊密結合使PHP更加優越。 MySQL的虛度比Microsoft Access速度快,Mssql和Oracle速度比MySQL要快,可是費用較高。 5、Java和C++的變成風格 這個優點只是一個看法。 我知道你不會相信一個Visual Basic程序員會因為PHP有Java和C++的編程風格而轉向使用PHP,但你會相信有許多人還是喜歡Java和C++的,PHP是一種具有這兩種語言的編程風格的較容易學習的語言。 PHP支持結構化編程,在VB因為他的繼承性使用類還是較少的。而PHP的象Java和C++一樣的繼承性使一個大型的程序中到處都充滿了類的影子。 6、Bug的處理。 你是否曾經要求Microsoft修改ASP的一些Bug呢?如果你不是一個象Boeing一樣的組織,你無法獲得迅速而恰當的修改,把么當你遇到Bug而停止工作時,如果這個Bug不修改,你將無法繼續你的工作的。 PHP,當你發現Bug時,你可以修改他,如果你沒有專家的水平,你可以請專家修改,並且你的修改會得到開放代碼組織的接受和認可。 7、移植性 Microsoft經常修改ASP,下一版本叫ASP+,現在已經開始測試。我相信他們會修改許多我曾經提到過的問題。但也無庸質疑的,Microsoft會將你限制在他們的產品範圍之內的。 我曾經是一個蘋果機的程序員,當windows95問世後,我開始轉變,但許多原來的代碼都無法在windows95下運行,這些代碼現在被放在一邊,我非常的遺憾。所以我不希望在windows下再出現這樣的悲劇。 不要忘記Novell曾經也象Microsoft的網路操作系統一樣熱及一時,但現在已經沒有許多人用了,那麼Microsoft也會這樣的。 我找到了PHP,我仍舊在windows下工作,但我知道PHP代碼可以運行在Solaris、Linux和許多其他的操作系統中,我的心裡感到安慰。
推薦閱讀:
推薦閱讀:
※會八國語言的人到底是什麼樣的?
※第10節:罵人前的自測:容易惹火別人的語言(8)
※加拿大聯邦技術移民:語言能力首當其衝
※漢化了幾個肢體語言的含義(Body Language Secrets),你們看看準不準
※鑒賞詩歌的語言導學案