如果你正在閱讀這篇文章贷笛,你可能是對Web開發(fā)有某種興趣奴烙,甚至你開始想去學(xué)習(xí)Web開發(fā)。本文則展示了一個(gè)成為一個(gè)Web開發(fā)者可以遵循的途徑蠢涝。作為一篇初學(xué)者指南,本文從學(xué)習(xí)什么出發(fā)到如何專攻阅懦『投或許對打算進(jìn)軍Web開發(fā)的您有所幫助。
前端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è)梁钾,對另一個(gè)只做了解绳泉。專攻于一個(gè)的也大有人在。雖然兩者之間有一個(gè)分割線姆泻,但是對于哪一方應(yīng)該做些什么是沒有限制的零酪。有時(shí)候前端僅用于可視化表示,所有的工作都在后端完成拇勃。而有些時(shí)候后端只服務(wù)于數(shù)據(jù)四苇,所有的計(jì)算和函數(shù)都位于前端。這是一種設(shè)計(jì)和結(jié)構(gòu)的關(guān)系方咆,以此來定義哪一方做什么事情月腋。
編程語言
目前有很多對Web開發(fā)可用的編程語言。當(dāng)我們選擇前端的時(shí)候,事實(shí)上的標(biāo)準(zhǔn)語言是JavaScript榆骚。當(dāng)選擇后端時(shí)片拍,可供選擇的就有很多了,下面列舉了一些流行的選擇:
PHP
JavaScript
Ruby on Rails(與Ruby編程語言一起使用)
ASP.NET(與.net編程語言一起使用)
Java EE
Python
這只是其中的一部分妓肢,你的選擇應(yīng)基于一些因素的評估捌省,如就業(yè)市場、Web應(yīng)用的托管環(huán)境碉钠,可提供的學(xué)習(xí)資源纲缓、可用的學(xué)習(xí)時(shí)間以及你四周的開發(fā)社區(qū)。
如果你想成為一個(gè)Web開發(fā)者喊废,從個(gè)人角度來看最重要的因素應(yīng)該是就業(yè)市場色徘。你應(yīng)該分析你所處在(或者你想要處在)的就業(yè)市場并且選擇有大量職位空缺的語言。另一個(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擁有最簡單的學(xué)習(xí)曲線诊县、廉價(jià)的托管環(huán)境、豐富的學(xué)習(xí)資源和相對容易的開發(fā)環(huán)境措左。這對初學(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è)框架状飞『潦ぃ框架是簡化Web開發(fā)者工作的代碼庫蝌借。框架賦予Web應(yīng)用一個(gè)結(jié)構(gòu)指蚁,這幫助開發(fā)者更容易的處理一些任務(wù)并且效率上比什么都要自己編寫來的快菩佑。如果你想要成為一個(gè)專業(yè)的Web開發(fā)者,那么就必須要學(xué)習(xí)至少一個(gè)框架凝化,促進(jìn)你的發(fā)展速度稍坯。
目前你可以學(xué)習(xí)的框架有很多,你必須評估你的需求搓劫。如果你選擇了PHP瞧哟,那么建議你把Laravel作為一個(gè)選擇。如果你選的是ASP.NET枪向,那么你可以選擇學(xué)習(xí)ASP.NET MVC和EntityFramework勤揩。
Web開發(fā)可以是巨大的,你可能想要專注于一種類型的應(yīng)用秘蛔。以Web網(wǎng)站的內(nèi)容管理系統(tǒng)(CMS)為例陨亡,如果你選擇了PHP,那么建議你繼續(xù)使用WorldPress深员。WorldPress允許你創(chuàng)建網(wǎng)站负蠕、博客,同時(shí)它也能夠通過默認(rèn)插件或自定義插件和主題來擴(kuò)展倦畅,以適應(yīng)更加復(fù)雜的業(yè)務(wù)應(yīng)用遮糖。
你將發(fā)現(xiàn)你選擇的任何一種語言背后都有大量的框架,所以基于你選擇的語言叠赐,你將和不同的框架打交道欲账。
下一步
在第一個(gè)建議中,即使你選擇專攻于前端或后端芭概,你也應(yīng)該對另一端有所掌握赛不。如果你這么做了,你的團(tuán)隊(duì)會(huì)表現(xiàn)的更好谈山。如果你已經(jīng)學(xué)習(xí)了一門語言俄删,掌握了一種框架∽嗦罚或許你應(yīng)該考慮重新開始一個(gè),編程語言都有自己的理念和范式臊诊,知道兩個(gè)或兩個(gè)以上的編程語言可以讓你對如何解決編程語言有一個(gè)更好的認(rèn)知和理解鸽粉,會(huì)使你成為一個(gè)更“流利地”開發(fā)者。正如前面所說的抓艳,你必須在選擇語言的時(shí)候考慮眾多因素触机。你可以在以后的道路中慢慢的擴(kuò)展你的選擇清單。如果看文章的您是一位Web開發(fā)的大牛,也歡迎您在文章后面的評論中分享您在開發(fā)過程中所遇到的點(diǎn)點(diǎn)滴滴儡首。
level 1 :電腦基本知識(shí)片任、dos、網(wǎng)絡(luò)協(xié)議蔬胯、操作系統(tǒng)对供、安全環(huán)境搭建、密碼防盜氛濒、數(shù)據(jù)安全产场、虛擬機(jī)、代理軟件舞竿、IP京景、系統(tǒng)安裝、木馬病毒防御