大型網站前端用什么語言開發的呢,哪種編程語言最適合Web開發?
目前世界80%以上的Web網站都是PHP開發,我們也都知道除了PHP可以開發Web網站,還有Python、Java、.Net等幾十種編程語言也可以開發Web,那為什么偏偏選擇PHP開發?在Web開發方面,PHP可以做到低成本,效率高。
最近比較火的Python,在Web開發也沒有示弱的意思,聽說Python爬蟲技術還是可以,爬蟲技術也是在Web網站頁面有著自己優勢才能快速爬取數據,可見Python在Web開發是可以完成我們需要的所以功能。
PHP本身就是為Web網站而生,在爬蟲技術也不會很弱,畢竟PHP在網頁的優勢是20多年發展過來的。Python和其他語言一樣并不是直接嵌入HTML代碼,Python0編程對算法要求比較高,所以很多人說Python是為人工智能而生的。復雜的語言并不是適合簡單,追求高效率的Web網站開發。
如果PHP不再是世界最好的編程語言,還真找不出哪種編程語言更適合Web開發。所以有理由說:PHP是最適合Web開發的。
Java跟PHP選擇哪個好些?
先說全棧。Java, PHP這兩門語言,都是構建后臺程序的。比如處理請求,路由,驗證,持久化,返回數據。
如果僅僅是寫API接口,基于Java Sprint boot你可以很快開發出來,PHP當然也很快,Lumen定制了laravel,使用起來極其方便。這僅僅是提供了路由,請求參數,和返回數據。
還有一項很重要,視圖。視圖要用HTML + CSS + JS。當然,題主沒有說是否有UI設計好的界面,那就暫且任務是不需要UI的,想著來寫HTML + CSS。交互這一塊,您得用js吧,都說jQuery老了,過時了,您得用VUE,REACT這些框架搭建了吧,這些需要一些時間。
網站應用,可不僅僅是API接口。所以前端知識如果缺失,你在此花費的時間將會很多。
那如果是在JAVA PHP生態內處理視圖,使用其提供的模板引擎,首先學習其語法,接著還是要處理HTML,想要交互,提交表單,驗證數據,您還是得用JS,繞不過去的。
從易學易用,快速出產品的角度,我更傾向于與PHP。最早php = personal homepage。就是專門為做一個動態網頁而做的。Java的生態很完整,可是Laravel的普及率和生態也首屈一指啊。
以上,題主您自己個兒掂量掂量。
前端是否適合使用面向對象的方式編程?
這里是丁哥開講,作為一名從事20多年軟件開發的資深程序員,我來說一下我的體會。
前端開發當然可以使用面向對象編程概念。在這個基礎上我在著重強調一下,面向對象編程,不僅對前端非常有用,對后端當然也是非常有用的。我們這個問題就專門針對前端來談一談。
前端我們關注的是界面的設計。那么一個界面之中會分為幾個區域,每個區域里面又分為幾個子區域。這些大大小小的區域我們都可以定義為一個對象,俗稱組件。這些組件可能會有一些共性,比如說都會有初始化函數和釋放函數。那么我們就可以把這些共性的方法放到一個基本組件里面,俗稱基類。
基本組件可以定義為抽象的組件也可以定義為實際使用的組件。基本的方法也可以手工調用也可以靠整個架構來進行自動的調用。如果你用過angular,vue, react這些架構的話,我相信你知道我在說什么。
除了組件的設計和定義以外,在前端也需要定義一些非界面性的類,或者其他的邏輯單元,這些非界面的類和邏輯單元,用來存儲前端的數據和邏輯計算。如果對這一部分使用面向對象變成概念的話,會降低程序的復雜度,增加程序的可維護性和可擴展性。
如果你使用typescript, 這樣的面向對象編程語言來開發前端的話,那自然的,你已經有面向對象編程的概念了。這門語言是Javacript的超集。如果你有面向對象編程的經驗,學習學好這門語言根本不在話下。
即使你在使用JavaScript, 你也可以通過函數的方法來定義原型基類,然后通過在擴展的函數里面定義擴展原型,這樣你新的函數既可以享有原有函數的所有方法也可以添加上新的功能實現這實際上就是父類和子類的一個概念。
實際上所有的typescript代碼,最后在運行的時候都需要編譯成JavaScript。
也就是說所有的typeacript面向對象的編程方法,在編譯后的JavaScript, 你都可以找到對應的例子。
說完了 JavaScript相關的知識, 再來說一下前端開發離不開的樣式語言。現在比較流行的樣式語言是sass家族, 諸如less, scss。他們最終都會編譯成傳統的CSS語言。所不同的是這些流行的樣式語言提供了面向對象的編程概念。在寫這些樣式語言的時候,可以像面向對象語言一樣使用基本的類,擴展的類,基本的函數和擴展的函數。與此同時,這些新的樣式語言都支持數結構。那么數結構本身就有子節點,父節點的概念。這是文檔模型DOM本身的對應關系。
這一步也就引申到了html語言本身。這門標記語言自身作為一棵樹存在。通過這棵樹你可以追溯到你想要的那一部分內容。這個過程本身就是把整個文檔作為一個樹對象來進行操作的。
好了,以上是我作為一名資深程序員的個人見解,請在下方留言告訴我你的想法,我們可以繼續探討,感謝關注丁哥開講我們下次再見。