Web開發的入門指導

edithfang發表於2015-01-22



前端 VS. 後端

一開始一定要分清前端開發和後端開發,我們來分別介紹一下。
 
前端
       
Web應用被分類歸為分散式應用,一般是客戶端—伺服器結構,所以我們有一部分的程式碼執行在客戶端,另一部分程式碼執行在伺服器。那些在客戶端上的應用就是前端,通常指的就是我們的瀏覽器。

最常用於前端開發的技術是HTML+CSS+JavaScript,高階的前端開發人員通常使用這些技術的組合開發應用的前端,另一個前端的常用技術就是使用Photoshop設計,配合其他技術共同完成Web頁面的製作。

後端
       
後端開發者編寫那些執行在伺服器上的程式碼,通常來說,這部分的工作需要和資料庫打交道,比如讀寫資料、讀寫檔案、實現業務邏輯等。有些時候,業務邏輯儲存在客戶端,這時後臺就是用來以Web服務的形式提供資料庫中的資料。後端開發者一般需要掌握一種Web程式語言和一個資料庫管理系統。
       
你可以同時掌握前端和後端的技術,但大多數Web開發者都還是有一定的喜好偏向,甚至只在某一方面深入研究。儘管前後端是有區分的,但並沒有規定它們各自的具體任務。有時前端只是完成資料的顯示,而其他主要工作都在後端完成。但也有時,後端只是提供資料,而所有的計算和具體功能都在前端完成。前後端工作的分配,通常都是由專案的設計和架構來決定的。
 
程式語言
       
對於Web開發,有很多的程式語言可以選擇。當需要在前端開發時,標準的開發語言是JavaScript,而當需要後臺開發時,我們有更多的選擇:
     
PHP
     
JavaScript
     
Ruby on Rails(配合Ruby語言)
     
ASP.NET(配合.net語言)
     
Java EE
     
Python

這其實也沒有一個明確的清單,以上只是開發者通常會想到和使用的語言。那應該如何選擇呢?你的選擇應該基於以下幾個方面:工作市場(求職機會)、託管服務、可用的學習資源、可用的學習時間、周圍的開發環境等。
       
如果你真的想從事開發行業,找到一個Web開發的工作,那最重要的選擇因素就是工作市場(求職機會),你要分析行業情況,選擇出一門要學習的程式語言。另一個重要因素就是託管服務,比如PHP的託管就要比Java託管便宜很多。而如果你要開發企業內應用,Java EE或許就是一個不錯的選擇。但如果你要將你的應用上線,Java EE就要比其它語言昂貴很多。
       
隨著Node.js的流行,JavaScript也變得在後端開發中流行起來,但它畢竟還是一個新的、不夠成熟的技術,不推薦給初學Web開發的人學習和使用。
       
在我看來,PHP有著最簡單的學習曲線、便宜的託管服務、充足的學習資源(PHP100就是一個很好的選擇哦)和相對簡單的開發環境,所以我推薦初級Web開發者學習使用PHP。當然,ASP.NET也是一個不錯的選擇,Microsoft提供了很多ASP.NET相關的學習資源和免費的開發工具,如果你喜歡Microsoft的環境,就值得考慮ASP.NET。

框架
       
如果你還是一個初學者,在你開始學習框架前還是要先打好基礎。框架可以幫助你簡化開發的工作,有很多現成的程式碼庫,它提供給你Web應用的結構,讓你的程式設計工作更簡單更快捷。如果你要成為職業的Web開發者,你就必須要精通至少一個框架,加速你的Web開發。
       
框架有很多種類,有通用型的解決方案,也有針對具體問題的方案。你需要先評估你的需求,如果你選擇了PHP開發,我推薦使用Laravel作為框架,它是一個近年來非常流行的MVC框架。如果你選擇的是ASP.NET,我推薦學習使用ASP.NET MVC和EntityFramework。
       
Web開發可能過於大型,你只想專注於其中一種應用,比如一個內容管理系統(CMS)。如果你還是選擇PHP,那麼我推薦WordPress,它可以幫助你建立網站、部落格,也可以用已有的外掛或主題作為擴充套件。
 
接下來做什麼
       
即使你選擇只是從事前端或後端的一項開發,你也應該瞭解一下另一端的開發,這樣做會讓你的團隊有更高的效率。如果你已經學會了一門程式語言及相應的框架,你就應該開始學習另一種語言,每一種程式語言都有自己的優點和正規化,瞭解更多的語言,可以讓你對需要解決的問題有更深入的瞭解,有更好的解決方案,從而成為更優秀的開發者。最後,正如我之前所說,當你在選擇程式語言時要考慮很多的因素,我的選擇依舊是JavaScript、PHP、ASP.NET和Java EE,大家可以參考借鑑。

原文:http://arian-celina.com/a-beginners-guide-to-web-development/

(翻譯:PHP100_Zeroing)
來自:PHP100
評論(1)

相關文章