Web開發從前端、後端、程式語言、到框架的初學指南

TP_funny發表於2015-03-09
如果你正在閱讀這篇文章,你可能是對Web開發有某種興趣,甚至你開始想去學習Web開發。本文則展示了一個成為一個Web開發者可以遵循的途徑。作為一篇初學者指南,本文從學習什麼出發到如何專攻。或許對打算進軍Web開發的您有所幫助。

前端VS後端
或許你會覺得最初的缺口是前端和後端,所以讓我們先看下什麼是前端和後端。

前端
Web應用按照客戶-服務體系結構分類為分散式應用。所以我們的程式碼有一部分執行於客戶端,還有一部分執行於服務端。執行於客戶端部分的應用(大多數情況下,客戶端是指我們的Web瀏覽器)被成為前端。最常見的用於前端開發的技術組合是HTML+CSS+JavaScript。前端專家通常使用這些技術開發專業知識來建立Web應用的前端。

後端
後端開發者編寫執行於伺服器上的程式碼。通常情況下,這部分工作需要為讀/寫資料、讀/寫檔案、製作業務邏輯等連線資料庫。有些情況下,業務邏輯是駐留在客戶端的,這時客戶端通常以Web服務的形式被用以服務來自資料庫的資料。後端開發者通常精通於一種Web程式語言和一個資料庫管理系統。
你可以同時掌握前端和後端,當然從一般情況來講,Web開發者更傾向於其中的一個,對另一個只做瞭解。專攻於一個的也大有人在。雖然兩者之間有一個分割線,但是對於哪一方應該做些什麼是沒有限制的。有時候前端僅用於視覺化表示,所有的工作都在後端完成。而有些時候後端只服務於資料,所有的計算和函式都位於前端。這是一種設計和結構的關係,以此來定義哪一方做什麼事情。

程式語言
目前有很多對Web開發可用的程式語言。當我們選擇前端的時候,事實上的標準語言是JavaScript。當選擇後端時,可供選擇的就有很多了,下面列舉了一些流行的選擇:

  • PHP
  • JavaScript
  • Ruby on Rails(與Ruby程式語言一起使用)
  • ASP.NET(與.net程式語言一起使用)
  • Java EE
  • Python

這只是其中的一部分,你的選擇應基於一些因素的評估,如就業市場、Web應用的託管環境,可提供的學習資源、可用的學習時間以及你四周的開發社群。

如果你想成為一個Web開發者,從個人角度來看最重要的因素應該是就業市場。你應該分析你所處在(或者你想要處在)的就業市場並且選擇有大量職位空缺的語言。另一個重要因素是託管環境,例如PHP託管要比Java託管便宜的多。如果你要開發一個將被託管於組織內部的內網應用,這時Java EE或許會是一個很好的選擇。但是如果你希望你的應用成為線上時,Java EE相比其他語言可能就要昂貴的多了。

隨著Node.js的流行,JavaScript開始成為一個受後端開發者歡迎的選擇。然而,它仍然是相當新的、不成熟的技術。所以不太建議初學Web開發的人學習。

從個人來看,PHP擁有最簡單的學習曲線、廉價的託管環境、豐富的學習資源和相對容易的開發環境。這對初學者來說是個不錯的選擇。除此之外,ASP.NET也是個不錯的選擇。微軟提供了很多的學習資源、免費的開發工具和一個相當豐富的環境。如果你喜歡微軟的生態系統,那麼你可以考慮ASP.NET。

框架
如果你是一個初學者,給自己一些時間去學習一個框架。框架是簡化Web開發者工作的程式碼庫。框架賦予Web應用一個結構,這幫助開發者更容易的處理一些任務並且效率上比什麼都要自己編寫來的快。如果你想要成為一個專業的Web開發者,那麼就必須要學習至少一個框架,促進你的發展速度。

目前你可以學習的框架有很多,你必須評估你的需求。如果你選擇了PHP,那麼建議你把Laravel作為一個選擇。如果你選的是ASP.NET,那麼你可以選擇學習ASP.NET MVC和EntityFramework。

Web開發可以是巨大的,你可能想要專注於一種型別的應用。以Web網站的內容管理系統(CMS)為例,如果你選擇了PHP,那麼建議你繼續使用WorldPress。WorldPress允許你建立網站、部落格,同時它也能夠通過預設外掛或自定義外掛和主題來擴充套件,以適應更加複雜的業務應用。

你將發現你選擇的任何一種語言背後都有大量的框架,所以基於你選擇的語言,你將和不同的框架打交道。

下一步
在第一個建議中,即使你選擇專攻於前端或後端,你也應該對另一端有所掌握。如果你這麼做了,你的團隊會表現的更好。如果你已經學習了一門語言,掌握了一種框架。或許你應該考慮重新開始一個,程式語言都有自己的理念和正規化,知道兩個或兩個以上的程式語言可以讓你對如何解決程式語言有一個更好的認知和理解,會使你成為一個更“流利地”開發者。正如前面所說的,你必須在選擇語言的時候考慮眾多因素。你可以在以後的道路中慢慢的擴充套件你的選擇清單。如果看文章的您是一位Web開發的大牛,也歡迎您在文章後面的評論中分享您在開發過程中所遇到的點點滴滴。(編譯:陳明)

原文來自:DZone
來自:PHP100
相關閱讀
評論(1)

相關文章