前端、後端、全棧都學(xué)什麼?
來(lái)源:
奇酷教育 發(fā)表於:
2021-01-25 10:56:17
前端、後端、全棧都學(xué)什麼?
隨著信息產(chǎn)業(yè)的迅猛發(fā)展,IT行業(yè)人才需求量也在逐年擴大。
據(jù)國(guó)內(nèi)權(quán)威數(shù)據(jù)統(tǒng)計(jì),未來(lái)五年,我國(guó)信息化人才總需求量高達(dá)1500萬(wàn)—2000萬(wàn)人。其中“軟體開(kāi)發(fā)”、“網(wǎng)絡(luò)工程”等人才的缺口最為突出。以軟體開(kāi)發(fā)為例,我國(guó)軟體人才需求以每年遞增20%的速度增長(zhǎng),每年新增需求近百萬(wàn)。
這也是目前很多非科班出身的同學(xué)為了搭上網(wǎng)際網(wǎng)路的快車(chē)開(kāi)始學(xué)習(xí)編程的原因,但是剛開(kāi)始應(yīng)該選擇哪個(gè)學(xué)科,卻給很多同學(xué)帶來(lái)了很大困擾。
小編在和同學(xué)的交流當(dāng)中發(fā)現(xiàn),大家對(duì)於“前端、後端、全棧”的概念還非常模糊,俗話(huà)說(shuō)“磨刀不誤砍柴工”,了解了網(wǎng)際網(wǎng)路的工種定義、職能及技能需求,才能使你能更高效,更有計(jì)劃(huà)的學(xué)習(xí),從而邁向網(wǎng)際網(wǎng)路經(jīng)營(yíng)的目標(biāo)。
一、前端方向
網(wǎng)站的“前端”是與用戶(hù)直接交互的部分,包括你在瀏覽網(wǎng)頁(yè)時(shí)接觸的所有視覺內(nèi)容--從字體到顏色,以及下拉菜單和側邊欄。這些視覺內(nèi)容,都是由瀏覽器解析、處理、渲染相關(guān) HTML、CSS、Javascript 文件後呈現(xiàn)而來(lái)。
技能與工具
前端開(kāi)發(fā),就是要創(chuàng)造上面提到的網(wǎng)站面向用戶(hù)的部分背後的代碼,並通過(guò)建立框架,構(gòu )建沉浸性的用戶(hù)體驗(yàn)。為了實(shí)現(xiàn)這個(gè)目標(biāo),開(kāi)發(fā)需要熟練運(yùn)用下列語言、框架、工具庫(kù):
三大語言:HTML,CSS,和 Javascript;
此外,掌握 jQuery 和 LESS 等工具庫(kù)也很重要,它們能幫助開(kāi)發(fā)者以更高效的方式編碼;
很多前端開(kāi)發(fā)崗也要求 Ajax 方法的使用經(jīng)驗(yàn),它可以幫助你使用 Javascript 在後臺(tái)從伺服器拉取數(shù)據(jù),協(xié)助實(shí)現(xiàn)頁(yè)面的動(dòng)態(tài)加載。
打個(gè)比方,前端開(kāi)發(fā)者的工作專(zhuān)注於“房屋”裝修,而蓋房子的工作由後端開(kāi)發(fā)者負(fù)責(zé)。
通過(guò)一些專(zhuān)門(mén)的工具,前端開(kāi)發(fā)者與設(shè)計(jì)師/用戶(hù)體驗(yàn)分析師密切合作,幫助構(gòu )建原型或是線(xiàn )框圖,參與產(chǎn)品開(kāi)發(fā)到發(fā)布的全過(guò)程。
一些前端開(kāi)發(fā)者甚至能準(zhǔn)確定位影響用戶(hù)體驗(yàn)的特定問(wèn)題,並給出建議或是代碼解決方案,對(duì)產(chǎn)品設(shè)計(jì)帶來(lái)積極影響。
在專(zhuān)業(yè)能力外,與其它團(tuán)隊(duì)協(xié)作,以理解特定目標(biāo)、需求、機(jī)遇,以及高效的執(zhí)行力也非常重要。
這聽起來(lái)工作內(nèi)容很多,但也回報(bào)豐厚。“我是一名技術(shù)人員,也是一名設(shè)計(jì)者,在數(shù)字平臺(tái)上使用標(biāo)記語言和代碼修改視覺元素並與之互動(dòng)是很自然而有趣的體驗(yàn),”有八年前端開(kāi)發(fā)經(jīng)驗(yàn)的 Mikey Ilagan 說(shuō)“這讓我能夠直接影響到用戶(hù)體驗(yàn),操縱應(yīng)用和網(wǎng)站裡用戶(hù)所見(jiàn)並直接與之交互的元素,這非常棒!”
總之,前端開(kāi)發(fā)者要為後端開(kāi)發(fā)者搭建的“房屋”進(jìn)行內(nèi)部設(shè)計(jì)和裝修工作。裝潢風(fēng)格由房屋所有者指定。Apptix 的產(chǎn)品市場(chǎng)負(fù)責(zé)人 Greg Matranga 表示:“前端開(kāi)發(fā)者有時(shí)更容易為他們的工作感到振奮,因為他們有更廣(guǎng)闊的空間發(fā)揮自己的創(chuàng)造力。”
二、後端方向
是什麼給網(wǎng)站前端提供支持?數(shù)據(jù)存放在哪裡?這就涉及後端內(nèi)容了。網(wǎng)站後端包括伺服器、應(yīng)用還有資料庫(kù)。後端開(kāi)發(fā)者構(gòu )建並維護(hù)這些組件,為網(wǎng)站提供多方面支持。
技能與工具
為了讓伺服器、應(yīng)用、資料庫(kù)能夠彼此交互,後端工程師需要具有如下技能:
用於應(yīng)用構(gòu )建的伺服器端語言:PHP, Ruby, Python, Java, .Net 等;
數(shù)據(jù)相關(guān)工具:MySQL, Oracle, SQL Server 等;
PHP框架:Zend, Symfony, CakePHP等;
版本控制工具:SVN, CVS , Git 等;
還要熟練使用 Linux 作為開(kāi)發(fā)和部署環(huán)境。
後端開(kāi)發(fā)者使用這些工具編寫(xiě)乾淨、可移植、具有良好文檔支持的代碼來(lái)創(chuàng)建或更新 Web 應(yīng)用。但在寫(xiě)代碼之前,他們需要與客戶(hù)溝通,了解其實(shí)際需求並轉(zhuǎn)化為技術(shù)目標(biāo),制定最有效且精簡(jiǎn)的方案來(lái)進(jìn)行實(shí)現(xiàn)。
“我熱愛(ài)後端開(kāi)發(fā)因為我喜歡操縱數(shù)據(jù)”,資深後端開(kāi)發(fā)者就職於 Wildbit 的 JP Toto 說(shuō)。“現(xiàn)在共有和私有 API 已變成行動(dòng)裝置、網(wǎng)站以及其它互聯(lián)繫統(tǒng)交換(huàn)數(shù)據(jù)的必備通道。創(chuàng)建對(duì)大家有用的 API 是我工作裡非常鼓舞人心的部分”。
三、全棧
有時(shí)前後端之間並沒有明確的界限,“前端開(kāi)發(fā)者通常需要額外學(xué)習(xí)後端技巧,反之亦然,尤其在特定市場(chǎng)條件下”,Matranga 說(shuō):“開(kāi)發(fā)者需要跨領(lǐng)域知識,有時(shí)甚至需要成為全才。”
全棧工程師,最初是6年多以前由 Facebook 帶動(dòng)的概念。全棧的核心,是指這批開(kāi)發(fā)者能夠承擔(dān)包括前端、後端在內(nèi)的所有功能開(kāi)發(fā)任務(wù),他們擁有一個(gè)技能全家桶。
“能夠同時(shí)承擔(dān)伺服器端和客戶(hù)端工作會(huì)為你帶來(lái)更多機(jī)會(huì),” Grovo 的全棧工程師 Federico Ulfo 說(shuō) “當(dāng)然這也就意味著更多的挑戰。以廚藝作類(lèi)比,掌握烹飪和烘焙都需要時(shí)間與經(jīng)驗(yàn)積累,同時(shí)掌握兩(liǎng)者要花費(fèi)更多精力。照著菜譜做誰都可以,我此處所說(shuō)的是做出真正美味東西的能力。”
技能與工具
全棧開(kāi)發(fā)者也通常在伺服器端進(jìn)行編程工作,但他們熟練前端語言,能夠操縱網(wǎng)站面向用戶(hù)的部分。基本上可以形容他們是百事通。
下圖表來(lái)說(shuō)明全棧開(kāi)發(fā)不斷增長(zhǎng)的複雜性,這是過(guò)去與當(dāng)前技術(shù)需求情況對(duì)比:
具體工具依項(xiàng)目和客戶(hù)需求而定,全棧開(kāi)發(fā)者需要對(duì) Web 架構(gòu )的每一個(gè)層次都有足夠的了解:搭建和配置 Linux 伺服器,編寫(xiě)伺服器端 API,利用客戶(hù)端 Javascript 代碼驅動(dòng)應(yīng)用,將設(shè)計(jì)層面的東西轉(zhuǎn)化到實(shí)際的 CSS 代碼。
掌握並使用大量工具的同時(shí),全棧開(kāi)發(fā)者需要敏捷地分配伺服器端和客戶(hù)端任務(wù),提供解決方案並對(duì)比不同方案的優(yōu)劣。