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