如果你正在閱讀這篇文章,你可能是對Web開發(fā)有某種興趣,甚至你開始想去學習Web開發(fā)。本文則展示了一個成為一個Web開發(fā)者可以遵循的途徑。作為一篇初學者指南,本文從學習什么出發(fā)到如何專攻?;蛟S對打算進軍Web開發(fā)的您有所幫助。
前端VS后端
或許你會覺得最初的缺口是前端和后端,所以讓我們先看下什么是前端和后端。
前端
Web應用按照客戶-服務體系結構分類為分布式應用。所以我們的代碼有一部分運行于客戶端,還有一部分運行于服務端。運行于客戶端部分的應用(大多數(shù)情況下,客戶端是指我們的Web瀏覽器)被成為前端。最常見的用于前端開發(fā)的技術組合是HTML+CSS+JavaScript。前端專家通常使用這些技術開發(fā)專業(yè)知識來創(chuàng)建Web應用的前端。
后端
后端開發(fā)者編寫運行于服務器上的代碼。通常情況下,這部分工作需要為讀/寫數(shù)據(jù)、讀/寫文件、制作業(yè)務邏輯等連接數(shù)據(jù)庫。有些情況下,業(yè)務邏輯是駐留在客戶端的,這時客戶端通常以Web服務的形式被用以服務來自數(shù)據(jù)庫的數(shù)據(jù)。后端開發(fā)者通常精通于一種Web編程語言和一個數(shù)據(jù)庫管理系統(tǒng)。
你可以同時掌握前端和后端,當然從一般情況來講,Web開發(fā)者更傾向于其中的一個,對另一個只做了解。專攻于一個的也大有人在。雖然兩者之間有一個分割線,但是對于哪一方應該做些什么是沒有限制的。有時候前端僅用于可視化表示,所有的工作都在后端完成。而有些時候后端只服務于數(shù)據(jù),所有的計算和函數(shù)都位于前端。這是一種設計和結構的關系,以此來定義哪一方做什么事情。
編程語言
目前有很多對Web開發(fā)可用的編程語言。當我們選擇前端的時候,事實上的標準語言是JavaScript。當選擇后端時,可供選擇的就有很多了,下面列舉了一些流行的選擇:
PHP
JavaScript
Ruby on Rails(與Ruby編程語言一起使用)
ASP.NET(與.net編程語言一起使用)
Java EE
Python
這只是其中的一部分,你的選擇應基于一些因素的評估,如就業(yè)市場、Web應用的托管環(huán)境,可提供的學習資源、可用的學習時間以及你四周的開發(fā)社區(qū)。
如果你想成為一個Web開發(fā)者,從個人角度來看最重要的因素應該是就業(yè)市場。你應該分析你所處在(或者你想要處在)的就業(yè)市場并且選擇有大量職位空缺的語言。另一個重要因素是托管環(huán)境,例如PHP托管要比Java托管便宜的多。如果你要開發(fā)一個將被托管于組織內(nèi)部的內(nèi)網(wǎng)應用,這時Java EE或許會是一個很好的選擇。但是如果你希望你的應用成為線上時,Java EE相比其他語言可能就要昂貴的多了。
隨著Node.js的流行,JavaScript開始成為一個受后端開發(fā)者歡迎的選擇。然而,它仍然是相當新的、不成熟的技術。所以不太建議初學Web開發(fā)的人學習。
從個人來看,PHP擁有最簡單的學習曲線、廉價的托管環(huán)境、豐富的學習資源和相對容易的開發(fā)環(huán)境。這對初學者來說是個不錯的選擇。除此之外,ASP.NET也是個不錯的選擇。微軟提供了很多的學習資源、免費的開發(fā)工具和一個相當豐富的環(huán)境。如果你喜歡微軟的生態(tài)系統(tǒng),那么你可以考慮ASP.NET。
框架
如果你是一個初學者,給自己一些時間去學習一個框架。框架是簡化Web開發(fā)者工作的代碼庫??蚣苜x予Web應用一個結構,這幫助開發(fā)者更容易的處理一些任務并且效率上比什么都要自己編寫來的快。如果你想要成為一個專業(yè)的Web開發(fā)者,那么就必須要學習至少一個框架,促進你的發(fā)展速度。
目前你可以學習的框架有很多,你必須評估你的需求。如果你選擇了PHP,那么建議你把Laravel作為一個選擇。如果你選的是ASP.NET,那么你可以選擇學習ASP.NET MVC和EntityFramework。
Web開發(fā)可以是巨大的,你可能想要專注于一種類型的應用。以Web網(wǎng)站的內(nèi)容管理系統(tǒng)(CMS)為例,如果你選擇了PHP,那么建議你繼續(xù)使用WorldPress。WorldPress允許你創(chuàng)建網(wǎng)站、博客,同時它也能夠通過默認插件或自定義插件和主題來擴展,以適應更加復雜的業(yè)務應用。
你將發(fā)現(xiàn)你選擇的任何一種語言背后都有大量的框架,所以基于你選擇的語言,你將和不同的框架打交道。
下一步
在第一個建議中,即使你選擇專攻于前端或后端,你也應該對另一端有所掌握。如果你這么做了,你的團隊會表現(xiàn)的更好。如果你已經(jīng)學習了一門語言,掌握了一種框架。或許你應該考慮重新開始一個,編程語言都有自己的理念和范式,知道兩個或兩個以上的編程語言可以讓你對如何解決編程語言有一個更好的認知和理解,會使你成為一個更“流利地”開發(fā)者。正如前面所說的,你必須在選擇語言的時候考慮眾多因素。你可以在以后的道路中慢慢的擴展你的選擇清單。如果看文章的您是一位Web開發(fā)的大牛,也歡迎您在文章后面的評論中分享您在開發(fā)過程中所遇到的點點滴滴。