深圳網(wǎng)站建設(shè)www.bitaneminsesi.com在網(wǎng)站制作時候發(fā)現(xiàn),很多企業(yè)不了解哪種語言適合制作自己的網(wǎng)站,而有些客戶一知半解,也有不少的疑問。為了讓企業(yè)客戶朋友能夠更好地了解各種開發(fā)語言的特點,特整理了以下開發(fā)語言的一些特點。
基本理論——特點概述
PHP——超文本預(yù)處理器(Hypertext Pre-processor)
PHP是開放源代碼服務(wù)器端的腳本語言,在語法上同C語言非常類似。盡管最初是網(wǎng)頁設(shè)計用于基于Linux的Apache Web 服務(wù)器系統(tǒng),現(xiàn)在的PHP已經(jīng)被移植到了任何操作系統(tǒng)并兼容任何標準Web服務(wù)器軟件。由此也可以得出PHP的三大主要優(yōu)勢。首先它是跨平臺的技術(shù),因此PHP應(yīng)用程序可以被方便的移植——當(dāng)然這還要取決于諸如廠商特定數(shù)據(jù)庫等需要集成的額外組件。這樣的可移植性還帶來了另一方面的優(yōu)勢,即絕大部分的Web主機提供商都會支持PHP,因此根據(jù)需要更改主機將會非常方便。
第二點,由于PHP同C編程語言有很多相似之處,對于熟悉相關(guān)語法的開發(fā)人員來說,PHP則非常容易上手——這種語法同樣在Java、JavaScript以及Perl中得到應(yīng)用。
第三,由于是開放源代碼產(chǎn)品,PHP將繼續(xù)快速發(fā)展,更為重要的是相關(guān)漏洞補丁將免費的定期植入到核心庫中。
此外,在一些特定的編程需求下,PHP對于開發(fā)人員顯示出了更為誘人的吸引力。
首先,PHP有內(nèi)建庫支持對于圖片及PDF文檔的直接創(chuàng)建和相關(guān)操作。這意味著當(dāng)一個應(yīng)用程序調(diào)用包含有anti-aliased類型文本的動態(tài)創(chuàng)建菜單圖像,或者是需要導(dǎo)出Acrobat格式頁面時,PHP都將是解決此類問題的理想技術(shù)。盡管這些功能在理論上也可以通過其他與PHP相競爭的技術(shù)獲得,但往往其他技術(shù)需要安裝第三方自定義組件才能實現(xiàn)。
另一點使得PHP成為編寫服務(wù)器腳本最佳選擇的是在處理連接mySOL或者Postgres數(shù)據(jù)庫一類的問題時PHP的良好表現(xiàn)。盡管對于mySOL或者Postgres數(shù)據(jù)庫的訪問可以通過ASP技術(shù)借助ODBC連接來實現(xiàn),但這常常需要系統(tǒng)管理員進行額外的配置。幸運的是,這點限制在ASP.NET中得到了改正,當(dāng)需要建立類似于使用MS SQL Server的直接數(shù)據(jù)庫連接時可以通過mySQL提供數(shù)據(jù)。
ASP——動態(tài)服務(wù)頁面(Active Server Pages)
微軟將ASP引入Windows NT Server 4并將其作為IIS Web服務(wù)器下的動態(tài)Web應(yīng)用程序的默認使用平臺。由于它使用VBScript(Visual Basic語言的一個分支),ASP立即被熟悉Microsoft IDE——Visual Studio編程的開發(fā)人員所追捧。隨著腳本語言的不斷發(fā)展,研究人員對ASP并沒有引入太多功能使之加入到技術(shù)競爭的行列。因此,在PHP中可以看到的諸如圖像操作等功能沒有集成到ASP中。但開發(fā)人員仍然可以通過DLL文件的形式編寫(或者安裝)第三方COM對象來完成類似的工作。在服務(wù)器自身允許的情況下,通過這種方式可以編寫代碼來完成任何動作。當(dāng)然,造成的缺陷是這將導(dǎo)致為了配置這些服務(wù)開發(fā)人員不得不與桌面系統(tǒng)進行交互——對于Web開發(fā)人員來說這項功能并不是必須的。
ASP的優(yōu)勢是在企業(yè)環(huán)境中微軟服務(wù)器幾乎無處不在。此外,MS SQL Server同樣具有廣泛的市場,并且能很好的支持ASP(這并不會讓人感到驚奇)。盡管事實上通過ODBC可以兼容任何數(shù)據(jù)來源,但SQL Server以及文件DSN訪問(file DSN access)可以在代碼一級得到實現(xiàn)。
ASP.NET
是選擇ASP還是PHP的爭論正在隨著.NET的崛起而越來越顯得多余。的確,過去長達數(shù)年的爭論將隨著是選擇Java還是.NET技術(shù)(或是兩者)答案的揭曉而終結(jié)。ASP以及ASP.NET的唯一聯(lián)系是二者都使用VBScript。而單獨就.NET而言,它可以使用VBScript以及其他大約20種語言。
對于ASP以及PHP來說,將ASP.NET看作是另外一種語言的原因是它運行在完全不同的構(gòu)架之上。前者是翻譯腳本語言,而.NET則是經(jīng)過編譯的framework。這就意味著首先Web頁面的運行速度將會有極大提高。同時,源代碼更加安全且更為健壯。此外,ASP.NET給Web編程帶來了新的理念——即“code-behind頁面”的思想。按照code-behind思想,每一個HTML頁面都是由自身經(jīng)過編譯的程序化指令進行驅(qū)動。因此,HTML——或稱之為表現(xiàn)層——很大程度上脫離了應(yīng)用程序的商業(yè)邏輯。盡管這樣的分離也可以通過PHP和ASP來實現(xiàn),但這并非同ASP.NET一樣屬于自身技術(shù)的主要部分。
ASP.NET的另一好處是它完整的集成了對XML以及Web服務(wù)的各種支持。對.NET而言可以使用非常廣泛的安全以及密碼系統(tǒng)庫,這對于金融機構(gòu)和企業(yè)數(shù)據(jù)應(yīng)用程序尤為有用。就缺陷而言,即使是具備豐富經(jīng)驗的開發(fā)人員也會發(fā)現(xiàn)使用.NET可能把自己搞糊涂。不考慮開發(fā)者對于所使用的編程語言的熟悉程度,對于Web開發(fā)人員來說,在程序范例方面難度的大幅提升可能會成為他們?nèi)谌階SP.NET的主要障礙。對ASP.NET應(yīng)用程序來說主機同樣是個問題,ASP.NET并未同ASP或者PHP一樣獲得了主機提供商的廣泛支持,無法在同一級別上展開競爭。
結(jié)論
深圳網(wǎng)站建設(shè)www.bitaneminsesi.com選擇ASP、PHP還是ASP.NET將最終取決于應(yīng)用程序的需要,以及運行程序的系統(tǒng)環(huán)境。開發(fā)人員對于相似編程語言或范例的熟悉程度同樣可以作為選擇的因素。記住沒有完美的方法和個人實際情況可以表明哪種技術(shù)是最佳選擇。比如,使用ASP.NET為一個Windows服務(wù)器創(chuàng)建一個單頁面的表單郵件應(yīng)用程序似乎有些大材小用,但對于ASP來說這是極佳的應(yīng)用環(huán)境。如果一個站點需要同Linux Apache服務(wù)器上的mySQL數(shù)據(jù)庫連接,那么使用ASP或者ASP.NET則會顯得力不從心。如果能夠提前詳細考慮用戶的個人要求,那么開發(fā)人員在這些相互競爭的技術(shù)中進行選擇的過程則已成功了一半。