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