前端和后端是計算機(jī)行業(yè)最常用的兩個術(shù)語;在某種程度上,它們成了流行語。它們決定了你作為軟件開發(fā)人員的工作類型、你使用的技術(shù)以及你得到的報酬。如果你對前端感興趣,可以報名參加Web前端培訓(xùn),通過系統(tǒng)全面的學(xué)習(xí)和專業(yè)老師的面授指導(dǎo)教學(xué),你可以獲得快速進(jìn)步。
那么,讓我們來談?wù)勥@兩個術(shù)語之間的區(qū)別,它們?yōu)槭裁词紫却嬖?,以及你在軟件開發(fā)職業(yè)生涯中可以采取的不同路徑。
站點呈現(xiàn)
用外行的話說,站點呈現(xiàn)意味著生成或呈現(xiàn)HTML輸出。HTML是web開發(fā)人員用來創(chuàng)建網(wǎng)頁的標(biāo)記語言。據(jù)說站點呈現(xiàn)可以在服務(wù)器端或客戶端級別進(jìn)行,那么這意味著什么呢?值得注意的是,前端和客戶端是同義詞,后端和服務(wù)器端也是如此。
客戶端呈現(xiàn)(前端)
在更現(xiàn)代的時代,出現(xiàn)了一種新的站點渲染形式,稱為客戶端渲染或前端開發(fā)。
通過客戶端呈現(xiàn),內(nèi)容的呈現(xiàn)在你的計算機(jī)中進(jìn)行,而不是使用事實上的web語言Javascript在遠(yuǎn)程web服務(wù)器中進(jìn)行。實際上,這意味著服務(wù)器只需為原始web應(yīng)用程序提供服務(wù),瀏覽器將負(fù)責(zé)以最終形式HTML呈現(xiàn)此應(yīng)用程序。它還意味著創(chuàng)建網(wǎng)頁所涉及的一些邏輯,特別是負(fù)責(zé)處理如何在屏幕上向用戶呈現(xiàn)事物的邏輯(稱為呈現(xiàn)邏輯),在客戶端進(jìn)行處理。
隨著Angular、React和Vue等Javascript庫的出現(xiàn),客戶端呈現(xiàn)變得越來越流行。想學(xué)習(xí)前端框架、庫和工具的使用,可以參加Web前端培訓(xùn),可以在短時間內(nèi)學(xué)有所成,讓你更高效地學(xué)會使用它們。
服務(wù)器端呈現(xiàn)(后端)
直到很久以前,服務(wù)器端渲染或后端web開發(fā)才成為創(chuàng)建網(wǎng)站和web應(yīng)用程序的實際方式。你訪問頁面,發(fā)送內(nèi)容請求,服務(wù)器處理該請求并創(chuàng)建一個響應(yīng),該響應(yīng)將發(fā)送回瀏覽器。
當(dāng)站點呈現(xiàn)服務(wù)器端時,創(chuàng)建web瀏覽器可以理解的HTML頁面所涉及的所有過程都在承載該網(wǎng)站或web應(yīng)用程序的遠(yuǎn)程服務(wù)器上處理。這包括查詢數(shù)據(jù)庫中的信息和處理web應(yīng)用程序所需的任何邏輯。
遠(yuǎn)程服務(wù)器工作繁忙時,你的web瀏覽器處于空閑狀態(tài),等待服務(wù)器完成處理請求和發(fā)送響應(yīng)。當(dāng)收到響應(yīng)時,web瀏覽器將對其進(jìn)行解釋并在屏幕上顯示內(nèi)容。
同構(gòu)呈現(xiàn)
也稱為通用呈現(xiàn),是現(xiàn)代web開發(fā)中使用的一種新技術(shù)。同構(gòu)呈現(xiàn)背后的思想是,在第一次加載頁面時在服務(wù)器端呈現(xiàn)使用Javascript框架(如Angular、React或View)開發(fā)的web應(yīng)用程序,之后在客戶端呈現(xiàn)。更為復(fù)雜的是,還有另一種形式的呈現(xiàn)稱為預(yù)呈現(xiàn),它在編譯時呈現(xiàn)內(nèi)容。
在何處呈現(xiàn)站點通常取決于應(yīng)用程序的類型和應(yīng)用程序統(tǒng)計信息,并且會因團(tuán)隊和企業(yè)而異。
什么是前端開發(fā)?
現(xiàn)在我們了解了不同類型的站點呈現(xiàn)方法,更容易理解前端開發(fā)是創(chuàng)建在客戶端呈現(xiàn)的站點和web應(yīng)用程序的藝術(shù)。在Web前端培訓(xùn)中,不僅有理論知識和學(xué)習(xí),還有企業(yè)級實戰(zhàn)項目的訓(xùn)練,讓你獲得實踐經(jīng)驗,在面試中脫穎而出,獲得高薪工作。
用于前端開發(fā)的技術(shù)
雖然有許多不同類型的技術(shù)和堆棧,但大多數(shù)前端web開發(fā)人員使用HTML、CSS和Javascript,它們是web事實上的構(gòu)建塊,以及客戶端框架,如Angular、React、Stencil和Vue。不過,并非所有事情都發(fā)生在前端。客戶端呈現(xiàn)的應(yīng)用程序仍然依賴于在后端遠(yuǎn)程服務(wù)器或云上運行的服務(wù)和API。
什么是前端工作?
網(wǎng)頁設(shè)計師:你猜對了,網(wǎng)頁設(shè)計師設(shè)計網(wǎng)站。不過,網(wǎng)頁設(shè)計師的頭銜相當(dāng)寬泛。網(wǎng)頁設(shè)計師可能只是在Photoshop或Fireworks之類的程序中設(shè)計網(wǎng)站的人,而且永遠(yuǎn)不會觸碰代碼。但在另一個地方,網(wǎng)頁設(shè)計師可以在Photoshop中完成所有的設(shè)計組合,然后負(fù)責(zé)創(chuàng)建所有的HTML和CSS(有時甚至是Javascript)來配合它。
用戶界面(UI)設(shè)計器:這基本上是一個可視化設(shè)計器,通常側(cè)重于設(shè)計。他們通常不參與設(shè)計的實現(xiàn),但他們可能知道輕松的HTML和CSS,這樣他們就可以更有效地與前端開發(fā)人員交流他們的想法。
用戶體驗(UX)設(shè)計師:UX設(shè)計師在前端工作,研究人們?nèi)绾问褂镁W(wǎng)站。然后,他們通過大量測試進(jìn)行更改。
前端開發(fā)人員:也稱為前端設(shè)計師,他們可以創(chuàng)建一個沒有任何后端開發(fā)的站點。他們在沒有web開發(fā)人員或使用后端的情況下創(chuàng)建的站點是靜態(tài)站點。靜態(tài)站點類似于餐廳或發(fā)廊的站點。它不需要在數(shù)據(jù)庫中存儲任何信息。頁面幾乎總是保持不變,除非是時候重新設(shè)計了。前端開發(fā)人員可能需要掌握測試,并且精通HTML、CSS和Javascript。此人可能有也可能沒有在設(shè)計程序中創(chuàng)建設(shè)計的經(jīng)驗。這個標(biāo)題的另一個版本是前端工程師。使用特定前端語言(如Javascript
developer)的人也被視為前端開發(fā)人員。通過參加Web前端培訓(xùn),可以幫助你快速掌握前端使用技能,更好地進(jìn)行開發(fā)工作。
什么是后端開發(fā)?
前端開發(fā)是讓站點和web應(yīng)用程序在客戶端呈現(xiàn),而后端開發(fā)則是讓這些應(yīng)用程序在服務(wù)器端呈現(xiàn)。但它比這要復(fù)雜一點。雖然前面的說法是正確的,但后端開發(fā)人員也創(chuàng)建處理業(yè)務(wù)邏輯和訪問其他資源(如數(shù)據(jù)庫、文件服務(wù)器、云服務(wù)等)的服務(wù)。這些服務(wù)是任何應(yīng)用程序的主干,不僅可以由服務(wù)器端渲染應(yīng)用程序訪問和使用,還可以從客戶端渲染應(yīng)用程序訪問和使用。
用于后端開發(fā)的技術(shù)
當(dāng)后端開發(fā)人員創(chuàng)建在服務(wù)器端呈現(xiàn)的應(yīng)用程序時,他們使用與前端開發(fā)人員相同的構(gòu)建塊:HTML、CSS和Javascript。
后端開發(fā)人員還使用軟件堆棧,包括操作系統(tǒng)、web服務(wù)器、框架、語言、編程API等。這些堆棧中的框架、語言和編程API用于呈現(xiàn)服務(wù)器端站點和web應(yīng)用程序,并創(chuàng)建其他應(yīng)用程序可以使用的服務(wù)。
什么是全棧開發(fā)?
作為一名完整的堆棧開發(fā)人員,您可以同時完成前后端兩項工作。全棧開發(fā)人員可以創(chuàng)建同時在客戶端(前端)和服務(wù)器端(后端)呈現(xiàn)的站點和web應(yīng)用程序。
他們還創(chuàng)建服務(wù)、組件和API來封裝業(yè)務(wù)邏輯、解決特定的業(yè)務(wù)問題和訪問數(shù)據(jù)庫、文件服務(wù)器、云服務(wù)等基礎(chǔ)設(shè)施。他們的工作與完整的堆棧,這是最好的兩個世界。想學(xué)習(xí)前端的同學(xué),建議報名參加web前端培訓(xùn),這里有清晰的學(xué)習(xí)路線,課程緊跟市場和企業(yè)需求,讓你學(xué)有所成,快速找到滿意的工作。