歡迎您光臨本站 註冊首頁

C,C++,JAVA,PHP,ASP,JSP...學什麼?

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

網頁上的GIF圖片,動態網頁技術有以下幾個特點。搜索
1,"交互性"即網頁會根據用戶的要求和選擇而動態改變和響應,將瀏覽器作為客戶端界面,這將是今後WEB發展的大事所趨.
2,"自動更新"即無須手動地更新HTML文檔,便會自動生成新的頁面,可以大大節省工作量.
3,"因時因人而變",即當不同的時間,不同的人訪問同一網址時會產生不同的頁面。
除了早期的CGI外,目前主流的動態網頁技術有JSP,ASP,PHP等
1.1. 1CGI
  在早期,動態網頁技術主要採用CGI技術,即Common Gateway Interface(公用網關介面)。在早期,你可以使用不同的程序編寫合適的CGI程序,如Visual Basic,Delphi或C/C++等。雖然CGI技術成熟而且功能強大,但由於編程困難,效率低下,修改複雜等缺陷,所以有逐漸被新技術取代的趨勢。
可以使用不同的程序編寫合適的CGI程序,如Visual Basic、Delphi或C/C++等,您將已經寫好的程序放在WEB伺服器的計算機上運行,再將其運行結果通過WEB伺服器傳輸到客戶端的瀏覽器上。我們通過CGI建立WEB頁面與腳本程序之間的聯繫,並且可以利用腳本程序來處理訪問者輸入的信息並據此作出響應。事實上,這樣的編製方式比較困難而且效率低下,因為你每一次修改程序都必須重新將CGI程序編譯成可執行文件。
  最常用於編寫CGI技術的語言是Perl(Practical Extraction and Report Language,文字分析報告語言),它具有強大的字元串處理能力,特別適合用於分割處理客戶端Form提交的數據串;用它來編寫的程序後綴為.pl。
1.1. 2ASP
  ASP更精確的說是一個中間件,這個中間件將Web上的請求轉入到一個解釋器中,在這個解釋器中將所有的ASP的Script進行分析,再進行執行,而這時可以在這個中間件中去創建一個新的COM對象,對這個對象中的屬性和方法進行操作和調用,同時再通過這些COM組件再完成更多的工作。所以說,ASP強大的不在於它的VBScript, 而在於它後台的COM組件,這些組件來無限的擴充了ASP的能力。
強勢:
1簡單易學。Basic有誰不會?很少會有人舉手,所以有人在說這個開發基礎是最廣的。而且MS有一向做的非常好的聯機手冊,本地化語言的幫助,同時非常快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深入研究。
2、安裝使用方便。裝好一個Windows 2000,只要你安裝了IIS哪么ASP就可以使用了,從沒有什麼需要你花心思去配置的。
3、開發工具強大而多樣。這個我不用說了,可以說的就是我以前使用VB中的Web Class開發出的Web應用一點不差,當時讓許多人大吃一驚,VB也能做ASP上的應用!!!其實這正說明了ASP開發工具的多樣化,同時它們的功能也很強,這一點已經被許多程序員所津津樂道。易用、簡單、人性化,這本就是微軟的強項喲。
4、效率高。在低的訪問量下,ASP能體現出一定的效率,這時它對機器的要求並不高。
弱勢:
1Windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平台性(Win2K已經不再支持Alpha了)都會因為與NT的捆綁而顯現出來。
2、ASP由於使用了COM組件所以它會變的十分強大,但是這樣的強大由於Windows NT系統最初的設計問題而會引發大量的安全問題。只要在這樣的組件或是操作中一不注意,哪么外部攻擊就可以取得相當高的許可權而導致網站癱瘓或者數據丟失。
3、由於ASP還是一種Script語言,所以除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編譯的時間考驗,同時我們還不知其背後的組件會是一個什麼樣的狀況。
4、無法實現跨操作系統的應用。當然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。可是我卻認為正是Windows限制了ASP,ASP的概念本就是為一個能讓系統運行於一個大的多樣化環境而設計的。
5、還無法完全實現一些企業級的功能:完全的集群、負載均衡。
1.1.3 PHP
PHP(Hypertext Preprocessor)是一種HTML內嵌式的語言(類似於IIS上的ASP)。而PHP獨特的語法混合了C、Java、Perl以及PHP式的新語法。它可以比CGI或者Perl更快速的執行動態網頁。
PHP能夠支持諸多資料庫,如MS SQL Server, MySql,Sybase,Oracle等。
它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的資料庫介面,資料庫連接方便,兼容性強;擴展性強;可以進行面向對象編程。
1 PHP的強勢
1.一種能快速學習、跨平台、有良好資料庫交互能力的開發語言。ASP比不上它的就是這種跨平台能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開發語言。語法簡單、書寫容易、現在市面上也有了大量的書,同時Internet上也有大量的代碼可以共享,對於一個初學者想學些「高深的Unix」下的開發來說是一個決好的入手點。
2.與Apache及其它擴展庫結合緊密。php與Apache可以以靜態編繹的方式結合起來,而與其它的擴展庫也可以用這樣的方式結合(除外的就是Windows平台了)。這樣的方式的最大的好處就是最大化的利用了cpu時和內存,同時極為有效的利用了apache的高性能的吞吐能力。同時外部的擴展也是靜態連編,從而達到了最快的運行速度。由於與資料庫的介面也使用了這樣的方式,所以使用的是本地化的調用,這也讓資料庫發揮了最佳效能。
3.良好的安全性。由於php本身的代碼開放所以它的代碼在許多工程師手中進行了檢測,同時它與apache編繹在一起的方式也可以讓它具有靈活的安全設定。所以到現在為止,php具有了公認的安全性能。
弱勢:
1. 據庫支持的極大變化。由於php的所有的擴展介面都是獨立團隊開發完成的,同時在開發時為了形成相應數據的個性化操作,所以php雖然支持許多資料庫,可是針對每種資料庫的開發語言都完全不同。這樣形成針對一種資料庫的工發工作,在資料庫進行升級后需要開發人員進行幾乎全部的代碼更改工作。而為了讓應用支持更多種的資料庫,就需要開發人員將同樣的資料庫操作使用不同的代碼寫出n種代碼庫出來,讓程序員的工作量大大增大。
2. 安裝複雜。由於php的每一種擴充模塊並不是完全由php本身來完成,需要許多外部的應用庫,如圖形需要gd庫、LDAP需要LDAP庫.……這樣在安裝完成相應的應用后,再聯編進php中來。這也就是我以前在代碼聯盟新聞組中對網友所說的一定要在FreeBSD/Linux/Unix下運行php的原因。只有在這些環境下才能方便的編繹對應的擴展庫。這些都是一般開發人員在使用php前所先要面對的問題,正是這樣的問題讓許多開發人員轉而使用其它的開發語言,必竟Unix沒有那麼多的用戶。
3. 缺少企業級的支持。沒有組件的支持,哪么所有的擴充就只能依靠php開發組所給出的介面,事實上這樣的介面還不夠多。同時難以將集群、應用伺服器這樣的特性加入到系統中去。而一個大型的站點或是一個企業級的應用一定需要這樣的支持的。註:在php的4.0版本以後加入了對servlet/javabean的支持,也許這樣的支持會在以後的版本中更加增強,也許這樣的支持會是php以後的企業級支持的起點。
4. 缺少正規的商業支持。這也是自由軟體一向的缺點,我想在國內php的開發人員正在快速增加,相信在不久的將來,這樣的支持能多起來。
5. 無法實現商品化應用的開發。由於php沒有任何編繹性的開發工作,所有的開發都是基於腳本技術來完成的。所以所有的源代碼都無法編譯,所以做完成的應用只能是自己或是內部使用,無法實現商品化。
1.1.4 JSP
  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。伺服器在頁面被客戶端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向Internet的所有特點。
1. SP技術的強勢
(1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改
(2)系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是現而易見的。
(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台伺服器進行集群和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。
(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。
2. JSP技術的弱勢
(1) 與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。
(2) Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是「最低性能價格比」了。從另一方面,它還需要硬碟空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。



[火星人 ] C,C++,JAVA,PHP,ASP,JSP...學什麼?已經有423次圍觀

http://coctec.com/docs/service/show-post-723.html