相對於Java由簡入繁的演變趨勢,PHP忠於簡單易學原味的堅持受到廣大開發者的歡迎,近年來聲勢大漲,而簡單就是力量,這句話套用於近日PHP異軍突起,再適合也不過瞭。老實說,原本覺得它不會太厲害,看到它最近的成長和茁壯,直攻Java陣營輸於經營之處,讓人對它刮目相看。
Netscape前CEO Marc Andressen在Zend/PHP大會上預言,簡單易學的描述語言PHP將會比Java被更多人用於Web應用的開發上;再引用Cnet臺灣報導的數據,全球大約有2200萬個網站使用PHP,而且數量還在穩定增加中。
為什麼PHP會如此受歡迎呢?我想簡單好用是最大原因。如果網站隻是提供使用者搜尋資訊的入口,網際網路上有許多現成、免費的、容易拿到,且已經做好的網站軟體,如行事歷、網站管理、新聞、報名系統、電子報、天氣預報等免費的應用模組供下載安裝使用,如此好康的事情,何樂而不為?而且隻要買一本書,裝一裝,簡單的設定就有討論區,不用寫任何程式,這對沒有程式經驗的人來說是好的進入點,也符合中小企業低成本建置網站的需求。作為Java人士,PHP的竄起給瞭我三個啟示:
Web 開發:PHP夾縫中求生存之道
這些網路應用軟體Java做不到嗎?PHP夾在JSP(JavaServer Page )和ASP(Active Server Page )中間,說實在的,應該一點生存的機會都沒有,因為他們的難易度、觀念和架構、程式語法這三樣差異不大;如果從彈性的角度來看,ASP可以去呼叫COM+元件,JSP是呼叫Java Beans元件,從開發延展性和系統的擴充性來說,都比PHP好太多,軟體應用空間也相對更廣闊。
當然,這些語言因為各有特長,都各自有發展,而PHP在眾多網站開發工具市場中沒有變得比較差,反而變得比較大,軟體是免費雖然是主因之一,但我認為更重要的是,PHP社群很專心地開發動態網頁技術,而且這個點作對瞭,而如果要學ASP就還要再學VB,學元件開發,Java領域除瞭JSP外,還可以作Severlet,作Severlet就會想說把EJB結合在一起,所以體系會越來越復雜,越復雜就築起更高的學習門檻,如此一來,學習意願低,人才少,成本相對較高,直接影響企業采用意願。
現在的軟體世界不隻是應用之爭,也是平臺的拉鋸戰;過去開發人員會比較哪種程式語言比較棒,組合語言、Cobol、PL1、Ada(人工智慧)、LSPER、C等語言陸續問世,到最後隻剩下C語言能留下來,連Pscal都需要有Delphi撐下來才能存活;如果要問說受歡迎的程式語言要具備什麼特色,這些特色還真難歸納,例如開發彈性、功能強大、限制少、容易開發、使用性高等,每個語言先天都有這些特色,如果這些條件是程式語言存亡的關鍵因素,我想上述語言應該都不會結束,但隨著技術演進和環境的改變,不適用或不符開發者需求的語言將逐漸被淘汰。
符合中小企業需求:免費、簡單易學
然而,在眾聲喧嘩的技術空間中,唯一的相同點是大傢皆支持並積極投入網際網路的發展,而PHP社群專註地開發網路主流應用,並且將這些模版免費讓使用者下載,這些應用模版用ASP或JSP開發,絕對都作得出來,但因為沒有人作,所以少瞭這一塊;ASP或JSP作出來的應用軟體都要賣錢,既然是商業行為,使用者寧願選不花錢、好用、又有原始碼可修改的軟體,PHP再結合其他開放原始碼軟體如Apache、MySQL和Linux,整個族群就會越來越壯大。
我相信PHP會越做越好,但它主攻的部分-動態網頁技術,如果被JSP或ASP趕上,它的前途就會受到限制,畢竟PHP還是沒辦法處理後端的大量運算機制,其效率和嚴謹度都會比較受挑戰;大型運算處理工作一定要Java Beans來計算,如果是.NET平臺就用.NET Componet來計算。
相反的狀況,如果用JSP或ASP來開發網站應用軟體,能不能追上PHP的表現?我想隻要1~2年內就可以追上,這些軟體開發完成後會不會是免費的,這就是困難點。目前市場上看到的JSP或ASP應用模組多半需要付費使用,而ASP和Windows Server捆綁,還搭配網頁伺服器IIS和資料庫SQL Server,這一買下來還是要數十萬,對中小企業來說是龐大的負擔。
Java前端網路應用仍須努力
Java延伸出來的系統架構從Java 2 EE、Java 2 SE到Java 2 ME,資訊的力量從企業後端推向桌面、每個手持裝置,甚至到每一張晶片卡,用途非常廣泛;網頁技術隻是占Java技術的10%,網頁技術則是PHP的全部,PHP開發者就全心全力發展相關應用,所以能夠做出最好的網頁呈現效果;Java不是作不出這些效果,隻是投入於網頁開發的資源比較少,而往更深更廣、更具延展性的未來發展,也難怪有人說Java越來越難、越來越復雜。
這篇文章的目的不是要拉攏PHP開發者投向Java陣營的懷抱,也不是鼓勵Java開發者未來就往網頁技術領域耕耘,當然啦,Java人如果要用自己熟悉的語言往網頁技術發展,發展到和PHP不相上下的地步,我們也樂見其成,因為,他補足瞭Java原本跑在最前面、卻疏於耕耘的一塊小園地。
網站已經是企業經營發展必備的工具(must have),每個公司根據本身需求規畫網站機制,對於規格要求不嚴格、客制化需求不高或沒有IT人員的企業,鼓勵他們采用PHP應用模組,在最低花費、不用改程式的前提下,導入幾個實用的應用模組,因應公司當下需要;然而,客制化需求高、需要大量的訊息交換或交易機制的企業,就一定要找Java廠商瞭。