前端開發(fā)是做什么的,后端是做什么的?
一般來說前端和后端就是前者是為了用戶的可視化開發(fā),后者是為了前端需要的一些數(shù)據(jù),通過業(yè)務處理。
兩者相輔相成,但并非不可或缺。
沒有前端,程序仍然運行,但用戶可以我看不見,但他能感覺到。例如定時任務
沒有后端,用戶看到的是靜態(tài)頁面。這種靜態(tài)意味著數(shù)據(jù)是固定的或者沒有數(shù)據(jù)。比如純html。
說了這么多,前端開發(fā)和后端開發(fā)也針對不同的平臺劃分了不同的崗位。技術要求也不一樣。
比如一個web系統(tǒng)或者b/s架構(gòu)的網(wǎng)站,前端開發(fā)人員統(tǒng)稱為web前端開發(fā)工程師,后端開發(fā)人員統(tǒng)稱為后端開發(fā)工程師。
后端用了不同的技術,片頭也是。比如用Java做后端,后端開發(fā)就是Java開發(fā)工程師。圍棋是圍棋開發(fā)工程師等等。
剛才我講了web方向。其實對于移動端來說,前端可以細分為Android和ios開發(fā)工程師。
還是那句話,因為技術不同。
但無論如何,前端要求最基礎的語言是htmlcssjs和angularreactvu
如何通俗地講解Web是什么意思?
簡單來說,Web就是用戶在互聯(lián)網(wǎng)上瀏覽信息的服務。Web服務是動態(tài)的、交互式的、跨平臺的和圖形化的。
Web服務為用戶獲取互聯(lián)網(wǎng)服務打開了一扇大門,互聯(lián)網(wǎng)服務不僅包括信息瀏覽服務,還包括各種互動服務,包括聊天、購物、學習等。可以說,Web的出現(xiàn)釋放了互聯(lián)網(wǎng)的巨大力量。
Web應用程序打開經(jīng)過幾代技術發(fā)展,Web開發(fā)仍然是最重要的開發(fā)內(nèi)容之一。說到Web開發(fā),肯定會涉及到Web技術的基本呈現(xiàn)。基本技術包括超文本標記語言(HTML)和HTTP協(xié)議。HTML是一種呈現(xiàn)數(shù)據(jù)的(給人看),而HTTP是一套通信標準(語法、語義、時序),可以簡單理解為HTTP攜帶HTML。
為了對網(wǎng)絡有更全面的了解,讓讓我們簡單梳理一下Web發(fā)展的歷史,并介紹一下所涉及的技術。
早期的Web服務相對簡單。用戶向服務器發(fā)送請求后,服務器給出相應的響應,用戶通過瀏覽器解析(呈現(xiàn))響應的內(nèi)容(HTML)。看一張圖:
圖中有幾個重要的元素需要簡單解釋一下。Browser代表瀏覽器,是發(fā)送和接收消息的終端,是用戶與Web服務交互的基本手段。用戶的內(nèi)容的請求將被封裝到一個請求對象中,然后發(fā)送到服務器。ruquest封裝了用戶的元信息和提交的數(shù)據(jù)信息,其中元信息是用戶的基本信息,包括瀏覽器版本號、服務端口、使用的操作系統(tǒng)等等。
Httpd是一個處理HTTP請求的服務(進程)。httpd將啟動相應的服務來處理用戶請求,并且經(jīng)常把服務器對應的文件(HTML)打包成一個響應對象返回給用戶。用戶的瀏覽器解析響應中的內(nèi)容,并最終呈現(xiàn)給用戶。整個過程需要了解瀏覽器、服務器和資源(文件)之間的關系,以及它們的部署位置。
早期的Web應用大多基于靜態(tài)資源,提供靜態(tài)資源服務的Web服務被稱為Web站點。為了豐富Web服務,定義了能夠提供動態(tài)服務的Web應用。看到一個身影:
Web應用的功能非常強大,可以動態(tài)處理業(yè)務邏輯。有兩個新的重要角色,一個是CGI(公共網(wǎng)關接口),一個是Database(數(shù)據(jù)庫)。CGI提供業(yè)務處理能力,數(shù)據(jù)庫提供數(shù)據(jù)存儲服務。CGI在服務器上的執(zhí)行過程如下所示:
CGI的出現(xiàn)解決了Web上的動態(tài)交互問題,可以說Web服務的形式更加豐富,從而開啟了Web發(fā)展的偉大時代。
雖然CGI可以解決動態(tài)交互的問題,但是CGI本身也存在很多問題,比如擴展性差、處理能力弱、平臺依賴、重量級等。此時,在Web領域引入了JavaWeb技術,可以有效地解決這些問題。參見處理流程圖:
通過與CGI的對比,可以看出s。Ervlet技術消耗的資源更少。由于JavaWeb的優(yōu)異性能,它在Web開發(fā)領域得到了廣泛的應用。后來JavaEE技術進一步解決了性能問題,為Web服務構(gòu)建大型應用奠定了基礎。看到一個身影:
雖然目前針對JavaWeb技術的解決方案比較多,比如Spring,但是JavaWeb是目前大型互聯(lián)網(wǎng)平臺常用的解決方案。看兩個圖:
以上是Webservices的開發(fā)過程,包括技術開發(fā)的簡單介紹。
我做JavaWeb開發(fā)很多年了,目前領導一個Java開發(fā)團隊。我會陸續(xù)在頭條寫一些關于Web技術的文章。對Web技術感興趣的朋友可以關注我的頭條號,相信我會有所收獲。
如果你有任何關于Web開發(fā)的問題,也可以咨詢我。
謝謝你