導航:首頁 > 編程語言 > php前端java後端開發

php前端java後端開發

發布時間:2023-01-30 23:10:08

❶ 為什麼大型網站前端使用 php 後台邏輯用 java

首先,為什麼是PHP和Java,不是其他。這和兩者的開源社區都很活躍,並且都很適合進行Web開發有很大的關系,而且都很適合Linux環境下運行,可以在運維上統一管理。
盡管.Net市場佔有率也不低,但由於Windows和SQL Server的License費用、開源社區不活躍等多種問題相對而言考慮得少一些。TIOBE TOP 10中適合Web開發的語種還包括了Python Perl Ruby,其中Perl已經是昨日黃花,主要在伺服器腳本領域還有較多應用,Web上已經不太可能Yesterday oncemore了。Python最近上升勢頭挺猛,但僅需要考慮文檔較少、招聘相對困難基本就註定了暫時不會是大網站的主流選擇。Ruby就不更不用提了。
再看一下兩個語言之間的差異。 PHP靈活,上手快,易修改,發布快捷,缺點是容易犯錯(常見如拼寫錯誤、SQL注入、上傳執行等)、執行效率不高、缺乏全局緩存。Java的優點則是穩定可靠、運行效率高(尤其是JIT的出現之後差距更大了)、不容易犯錯(強類型、預編譯、必須攔截異常等等),缺點是開發和發布的效率相對較低。盡管優秀的工程師能在一定程度上改變以上的問題,但通常而言,哪能到處都是高手多如狗的夢之隊?
然後從MVC的層次結構上說,在一般網站項目的開發周期中,需求變更最頻繁、調整最多的是View,其次是Controller,最後是Model。這非常好理解,沒事干誰天天改數據結構?每次版本升級控制結構都要改的啦,或多或少而已。而View,啥時候兩天不改BU啊PM啊UED啊大概是集體休年假了吧?
再次是兩者之間的通信,目前RPC技術已經足夠成熟,無論是Web Service/Hessian/RESTful API都能夠讓開發人員專注在功能開發上,而不需要過多的考慮異構平台的差異和通訊的細節。這也就意味著在大公司里同時應用兩種語言的方案並不會引入過多的復雜度和工作量。當然,文檔量的下限倒是因此被拔高了不少,但事實上大部分團隊對此其實都是喜聞樂見的:別每天說文檔重要但沒空了,你不寫其他同事怎麼配合?
總的來說,靠近用戶的前端,使用PHP能夠更快的完成前端頻繁而瑣碎的更新,自如的應對各種需求的變化。頁面的結構調整、用戶輸入內容的基本驗證、僅只和用戶交互有關的簡單邏輯等都很適合使用PHP來開發,甚至可以通過類似Smarty等模板技術將其頁面的變動遷移到前端團隊。而基本的業務邏輯和數據的更新採用Java開發,可以有效的提高復用度、提升性能和吞吐能力、規避安全問題等。而開發效率稍有降低換來的是可維護性的提升,發布速度慢就更不是問題了,因為通常對於基礎業務邏輯的調整往往都是整體修改,並層層測試確認才能發布的。
所以,大型網站前端採用PHP後端採用Java,既好招人又好維護、系統穩定還性能高、連安全性都大大增加。代碼復用、文檔完備度居然也都改善了。讓你在以上這些好處觸手可及時,對架構師知識譜系在廣度上要求更高一些這事根本就不是個問題。
好吧,後面的同學補充了一個很好的問題,為什麼不是僅用PHP或是僅用Java?這個我原本稍微提了,不過之前發布前刪掉了的,因為問題是為什麼PHP+Java。其實也有很多公司為了保證團隊組織不至於過度復雜,會更傾向於採用單一語言,尤其是中小公司。
單一方案其實一樣可以做良好的隔離,PHP同樣可以提供Service,而性能問題其實很多時候是演算法和架構的問題而不是語言差異的問題。如Velocity或JSTL等也是很優秀的隔離方案。
但我們都知道,現實往往比理想骨感很多,這些方案在高壓力下會暴露出很多問題而體現雙語言的優勢,這些在上面其實都提到,詳細說明一些很難得到改變的點:
1、PHP由於其動態腳本語言的特性,包括類、函數、常量在內都需要在每次請求周期中重復執行後才能建立運行環境;為了保證解析速度而犧牲編譯質量;應用了FastCGI但僅僅只是復用進程處理請求減少fork成本而不是像其他語言,初始化完畢後通過FastCGI的介面獲得數據並以對應介面返回數據等幾個原因,基本上已經不可能在性能上追回當初更爛現在開著JIT牌跑車的Java了。 更何況,還缺少了系統級共享數據的支持,使得核心數據一次性初始化後重復使用必須藉助擴展或中間件。
2、在PHP里是如此的容易犯錯而難以發現,即使你用實質上出自官方的Zend Studio,也無法改變一個事實:要保證你的程序高質量無大錯,得要有充足的經驗、足夠的嚴謹、以及——負責任的QA。淘寶的黃裳就曾經拿IDE這事開過玩笑。而玩笑背後的那個原因「缺乏中間件」最近幾年有不少的改善,主要是不少中間件的支持變得更廣泛了從而讓PHP得益,但發展的根源其實還是在C和Java社區。性能和易犯錯則是語言特性造成的技術難點,也是用來換取靈活、快捷的必要代價,很難去指望有根本的改善。
3、Java的世界裡也有JSTL、Velocity和Freemaker等,但和PHP靈活而強大的動態能力、豐富的函數和類庫、輕松的學習成本、多到令人發指的文檔相比,簡直就是渣,就是渣啊!JSTL改完了要重啟Context啊有木有?Velocity不關緩存也要重啟啊有木有?Velocity開緩存性能低下啊有木有?即使這些都不管,調整下某個數據校驗規則要改Action也要重啟有木有?
好吧,吐槽結束。
實際工作中性能問題可以通過良好的架構解決,容易犯錯的問題可以通過框架和規范以及全面的測試來解決,中間件選擇少些但其實該有的都有了,Java的靈活性一樣有不少可供考慮的解決方案,不說 OSGi 之類,就算是挫得要死的摘掉節點重啟,完成後重新上節點的策略也都能湊效。
所以,大家會看到單一語言的技術團隊也很多,這個問題的真正考慮還是更多在團隊自身的特點、積累等等。用了雙語言的,也知道自己為什麼要用這些,不用的也清楚自己的路該怎麼走。最後的最後說一句:如果你不知道自己為什麼要用雙語言方案的話,基本上你也就不需要考慮它了。
小豬,寫程序很好玩
後端java最大的優勢在於龐大的生態環境,你想解決的任何問題,java都有現成的方案,而且,相對其他語言來說,基於jvm的方案在運行效率和運維成本上平均來說是最佳的(這里不討論說什麼運維人員的能力之類的,只假設我們的運維都只具有一般的平均水平),所以,後端天然是傾向java的,無論前端用什麼。
至於前端,最大的問題在於,一個網站的UI,變動相當頻繁,傳統的基於java的開發方案,jsp tag lib,freemaker, velocity。。。。你讓前端怎麼改,怎麼調試?不經過專門學習他們怎麼看得懂?而且,java的開發模式,動不動上來就是MVC,後端跟前端結合太緊密了,基本上前端很難自由的在ui層工作。反過來,基於PHP的前端方案,至少做前端的都能看得懂,都能調試得了,這就是巨大的生產力的解放了,講後端java做成rest服務,前端所有的動態代碼都可以交給前端工程師,對他們來講,最舒服的動態網頁方案,自然就是PHP,這個是歷史沉澱決定了,誰也沒法改變,無論你多麼看不起PHP,包括我自己也是並不喜歡PHP,但是仍然要再強調一次,對前端工程師來說,最舒服最自在的動態網頁方案,仍然是PHP!就如同上面很多人回答的,PHP就是快,快在哪兒?PM說要改什麼,前端上手10分改好,30分鍾後已經release了。把任務發給後端工程師?那慢慢等吧。。。

❷ 為什麼說PHP適合做前端JAVA適合做後端

php更易上手,簡單實用。做一些不是很復雜的站前端交互一下很方便。但規模比較大,業務邏輯復雜的站就得系統整合一下需求。而Java在處理業務邏輯建模,搭架構等等都是有很多案例可尋的,並且技術成熟跨平台做後端非常適合。

❸ php與java比較,哪個適合做前端,哪個做後台

PHP靈活,上手快,易修改,發布快捷,缺點是容易犯錯(常見如拼寫錯誤、SQL注入、上傳執行等)、執行效率不高、缺乏全局緩存。Java的優點則是穩定可靠、運行效率高、不容易犯錯(強類型、預編譯、必須攔截異常等等),缺點是開發和發布的效率相對較低。這里這是相對而言,並不是說PHP不能開發大型web,也不是說JAVA效率低,足夠經驗和能力的依然很高效。
java和php都能做後台,php也可以做前端

❹ php是前端還是後端

因為php並未完全實現前後端的分離,從廣義上來講,php應當屬於後端,前端技術是指html+ajax+css+JS這些。

❺ 前端開發和後端開發有什麼區別

前端開發和後端開發的區別在於:

一、展示方式不同

1、前端開發主要做的是用戶所能看到的前端展示界面。

2、後端開發主要做的是邏輯功能等模塊,是用戶不可見的。

二、所用技術不同

1、前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、AngularJs等技術。

2、後端開發 以java為例 主要用到的 是包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。

(5)php前端java後端開發擴展閱讀:

公司對前後端人員招聘的要求:

Web前端:

1、精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構;

2、精通CSS,能夠還原視覺設計,並兼容業界承認的主流瀏覽器;

3、熟悉JavaScript,了解ECMAScript基礎內容,掌握1到2種js框架,如JQuery;

4、對常見的瀏覽器兼容問題有清晰的理解,並有可靠的解決方案;

5、對性能有一定的要求,了解yahoo的性能優化建議,並可以在項目中有效實施;

Web後端:

1、精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex開發,或者對相關的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解;

2、練使用oracle、sqlserver、mysql等常用的資料庫系統,對資料庫有較強的設計能力;

3、熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用伺服器,同時對在高並發處理情況下的負載調優有相關經驗者優先考慮;

4、精通面向對象分析和設計技術,包括設計模式、UML建模等;

5、熟悉網路編程,具有設計和開發對外API介面經驗和能力,同時具備跨平台的API規范設計以及API高效調用設計能力;

❻ 做web前端開發還是java後端開發哪個前景好

兩者都挺有發展前景,相對來說前端會簡單一些,推薦千鋒教育,千鋒教育利用技術優勢精心打造了AI教輔系統,依託技術領域熱門的人工智慧技術,科技輔學,有力護航學員成長。

以下是web前端開發和java後端開發兩者的分析:
1. JAVA是作為後端開發的。現在後端開發主要是PHP和JAVA,當然還要加上資料庫MySQL、Oracle。PHP比較適合交互比較少的後端,適合小規模的應用。JAVA做後端安全性、穩定性都較好,所以大、中企業用JAVA開發。當然後端開發還有C++等語言,C++的特點是開發快、成本低,一些手機游戲就用C++作為後端語言。
2. Web前端主要用的語言是Html5、CSS3、JavaScript,還要加上AJAX。移動應用(APP)前端。2015年之前,開發APP的前端,要用Android和IOS,而且還必須分別開發。
3. 2015年開始,興起了APP前端統一開發,比如MUI框架、react native。MUI開發用的就是Web前端,只不過封裝了很多的類。react native開發模仿的就是Web前端開發,用的語言是ES5,ES6。
4. 兩個技術就是相輔相成的。現在學前端就是從 Web前端開始。但是對於個人來說,從事前端或者後端還是有區別的。前端開發,對於有美術功底的人是有優勢的,後端開發適合編程技術功底扎實的人。

想要了解更多有關web的相關信息,推薦咨詢千鋒教育。千鋒勵精圖治,不改教育初心。十一年來,千鋒以政策為引導,不斷完善國內特色現代職業教育體系建設,充分發揮教研師資隊伍使命,構建品質教育,加大創新型人才培養力度,為經濟發展提供智力人才和智力支撐,成為新時期職業教育發展的新方向,在同行業中有很高的美譽度。

❼ web項目為什麼要用php做前端,java做後端,而不是直接h5+java

php做前端,java做後端
淘寶是個例子

伺服器端 前後分開 是為了兩方面,雖然淘寶最開始並不想這樣做。。。
先說下歷史,淘寶是 最開始php全部,
後來發現開銷太大,代碼效率不行,
就直接把數據存儲啊,用戶通知啊 就交給java

實際上大部分網站都樂意採用 這種前端php 後端 java或者C++這種形式,我是php c++ 這種。
優點,核心動作效率肯定高,c++ java 這種代碼效率奇高。比php腳本好很多。

前端php,語法簡單,維護簡單,部署簡單,而且容易找到維護人員。總之就是開發快,維護成本低。

大致了解了嗎?

你說的h5 + java實際上就是把java提到前台, 不是不可以,維護和開發成本太高了啊。前端開發要經常搞, 但是java做前台 要 調試 、 編譯 部署還要重編譯。 麻煩,人工開銷也大。不劃算

如果是.net技術 就更高成本了。光伺服器軟體一塊就要多少了。 所以微軟的框架 用的不多。國內外都不多,用.met的 成本開發 維護 都麻煩。要氣硬體條件還苛刻。

❽ php後台開發和java後台開發的區別

可以參考如下內容:

但我們都知道,現實往往比理想骨感很多,這些方案在高壓力下會暴露出很多問題而體現雙語言的優勢,這些在上面其實都提到,詳細說明一些很難得到改變的點:
1. PHP由於其動態腳本語言的特性,包括類、函數、常量在內都需要在每次請求周期中重復執行後才能建立運行環境;為了保證解析速度而犧牲編譯質量;應用了FastCGI但僅僅只是復用進程處理請求減少fork成本而不是像其他語言,初始化完畢後通過FastCGI的介面獲得數據並以對應介面返回數據等幾個原因,基本上已經不可能在性能上追回當初更爛現在開著JIT牌跑車的Java了。 更何況,還缺少了系統級共享數據的支持,使得核心數據一次性初始化後重復使用必須藉助擴展或中間件。
2. 在PHP里是如此的容易犯錯而難以發現,即使你用實質上出自官方的Zend Studio,也無法改變一個事實:要保證你的程序高質量無大錯,得要有充足的經驗、足夠的嚴謹、以及——負責任的QA。淘寶的黃裳就曾經拿IDE這事開過玩笑。而玩笑背後的那個原因「缺乏中間件」最近幾年有不少的改善,主要是不少中間件的支持變得更廣泛了從而讓PHP得益,但發展的根源其實還是在C和Java社區。性能和易犯錯則是語言特性造成的技術難點,也是用來換取靈活、快捷的必要代價,很難去指望有根本的改善。
3. Java的世界裡也有JSTL、Velocity和Freemaker等,但和PHP靈活而強大的動態能力、豐富的函數和類庫、輕松的學習成本、多到令人發指的文檔相比,簡直就是渣,就是渣啊!JSTL改完了要重啟Context啊有木有?Velocity不關緩存也要重啟啊有木有?Velocity開緩存性能低下啊有木有?即使這些都不管,調整下某個數據校驗規則要改Action也要重啟有木有?
小型網站:PHP做後端,html、CSS、JavaScript做前端。
中型網站:Java做後端,PHP、html、CSS、JavaScript做前端。
大型網站:C++做後端,PHP、html、CSS、JavaScript做前端。
超大網站:Go做後端,PHP、html、CSS、JavaScript做前端。

閱讀全文

與php前端java後端開發相關的資料

熱點內容
鋁膜構造柱要設置加密區嗎 瀏覽:342
考駕照怎麼找伺服器 瀏覽:882
阿里雲伺服器如何更換地區 瀏覽:970
手機app調音器怎麼調古箏 瀏覽:501
銳起無盤系統在伺服器上需要設置什麼嗎 瀏覽:17
紅旗計程車app怎麼應聘 瀏覽:978
如何編寫linux程序 瀏覽:870
吉利車解壓 瀏覽:248
java輸入流字元串 瀏覽:341
安卓軟體沒網怎麼回事 瀏覽:785
dvd壓縮碟怎麼導出電腦 瀏覽:274
冒險島什麼伺服器好玩 瀏覽:541
如何在伺服器上做性能測試 瀏覽:793
命令序列錯 瀏覽:259
javaif的條件表達式 瀏覽:576
手機app上傳的照片怎麼找 瀏覽:531
雲伺服器面臨哪些威脅 瀏覽:748
c語言各種編譯特點 瀏覽:177
路由器多種加密方法 瀏覽:604
程序員阻止電腦自動彈出定位 瀏覽:169