- Web全棧開(kāi)發(fā):從入門(mén)到實(shí)戰(zhàn)
- 董雪燕編著
- 1901字
- 2021-09-30 19:57:03
1.4 什么是前端、后端和全棧
全棧是Web開(kāi)發(fā)技術(shù)的總稱,簡(jiǎn)單來(lái)說(shuō),以客戶端程序?yàn)橹鞯拈_(kāi)發(fā)稱為前端開(kāi)發(fā),以服務(wù)器端程序開(kāi)發(fā)為主的稱為后端開(kāi)發(fā)。因此,很容易知道,全棧開(kāi)發(fā)人員必須既熟悉前端開(kāi)發(fā)技術(shù),又掌握后端開(kāi)發(fā)技術(shù)。
1.4.1 吸引用戶的前端
Web應(yīng)用的“前端”其實(shí)是指開(kāi)發(fā)的程序能夠在瀏覽器中解析和運(yùn)行。這些程序可以實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容的添加和設(shè)計(jì),包括文字、圖片、視頻以及各種不同內(nèi)容的布局,還包括一些動(dòng)態(tài)效果,比如發(fā)表評(píng)論、倒計(jì)時(shí)等。這些功能的實(shí)現(xiàn)是由瀏覽器解析、處理、渲染相關(guān)HTML、CSS,JavaScript代碼后呈現(xiàn)出來(lái)的。前端開(kāi)發(fā)的目標(biāo)之一就是要讓網(wǎng)頁(yè)足夠漂亮,吸引更多人來(lái)使用。
隨著網(wǎng)頁(yè)的流行,網(wǎng)站僅僅作為瀏覽信息的功能就不夠用了,于是人們希望在網(wǎng)頁(yè)上與網(wǎng)站產(chǎn)生交互,比如發(fā)表日志和評(píng)論,還可以刪除日志,單擊實(shí)現(xiàn)網(wǎng)頁(yè)上元素的動(dòng)態(tài)變化等。這些主要是依靠瀏覽器對(duì)象技術(shù)(BOM),文檔對(duì)象技術(shù)(DOM)和JavaScript,通過(guò)瀏覽器自帶的解析器程序?qū)@些代碼進(jìn)行解析。這就是前端開(kāi)發(fā)的目標(biāo)之二:注重與用戶的交互,關(guān)注用戶體驗(yàn)。
前端開(kāi)發(fā)的主流技術(shù)包括HTML、CSS、BOM、DOM和JavaScript;除了這些基礎(chǔ)的編程技術(shù)外,還有一些第三方的庫(kù)和框架可以用于快速開(kāi)發(fā),比如Bootstrap、jQuery、Vue.js和AngularJS等。
1.4.2 數(shù)據(jù)為王的后端
Web應(yīng)用的“后端”是指用運(yùn)行在后端服務(wù)器上的程序,通常用來(lái)針對(duì)前端程序發(fā)出的請(qǐng)求,做出回應(yīng),比如“反饋是否登錄成功”,還可以是管理前端用戶查詢的數(shù)據(jù)(比如京東商城的商品),以及用戶自己產(chǎn)生的數(shù)據(jù),比如用戶名、文章、評(píng)論等。這些主要依靠后端服務(wù)器技術(shù)(如PHP)和數(shù)據(jù)庫(kù)技術(shù),讓用戶能夠與數(shù)據(jù)庫(kù)打交道,主要通過(guò)Apache服務(wù)器、后臺(tái)服務(wù)器解析器、數(shù)據(jù)庫(kù)管理器來(lái)實(shí)現(xiàn)。因此,后端開(kāi)發(fā)的最重要的目標(biāo)之一就是管理數(shù)據(jù),另一個(gè)目標(biāo)則是實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容的動(dòng)態(tài)更新。
后端開(kāi)發(fā)的主流技術(shù)包括服務(wù)器端腳本語(yǔ)言PHP、Node.js、Python、JSP和ASP.NET,以及數(shù)據(jù)庫(kù)技術(shù)MySQL、SQLServer和Oracle。后端開(kāi)發(fā)也有一些框架,比如MongoDB和Express。
1.4.3 綜合型全棧及案例分析
全棧最初是由Facebook的工程師提出的,單純從程序開(kāi)發(fā)的角度來(lái)說(shuō),就是開(kāi)發(fā)人員承擔(dān)包括前端和后端在內(nèi)的所有功能的開(kāi)發(fā)任務(wù)。下面結(jié)合具體案例,讓我們分別來(lái)看看前端開(kāi)發(fā)、后端開(kāi)發(fā)以及全棧技術(shù)可以實(shí)現(xiàn)什么樣的網(wǎng)站。
1.前端應(yīng)用案例
前端的應(yīng)用十分廣泛,我們作為消費(fèi)者所有在互聯(lián)網(wǎng)上打開(kāi)的網(wǎng)頁(yè)都屬于前端應(yīng)用。如果你有網(wǎng)購(gòu)經(jīng)驗(yàn)的話,京東一定不陌生。我們以京東首頁(yè)為例,可以看到其首頁(yè)包含頁(yè)面間的導(dǎo)航和左側(cè)分類列表,以及中間的圖片輪播效果和右側(cè)的圖文列,這些網(wǎng)頁(yè)的內(nèi)容和排版都可以通過(guò)前端技術(shù)實(shí)現(xiàn)。一般來(lái)說(shuō),網(wǎng)站的前端是服務(wù)于廣大用戶瀏覽網(wǎng)站,用戶主要瀏覽網(wǎng)頁(yè)上的內(nèi)容獲取資訊、資源等。
2.后端應(yīng)用案例
后端開(kāi)發(fā)的重點(diǎn)是管理數(shù)據(jù),因此,純后端開(kāi)發(fā)的案例常常是某后臺(tái)管理系統(tǒng),比如一個(gè)博客管理后臺(tái)系統(tǒng),它主要是對(duì)博客相關(guān)的數(shù)據(jù)進(jìn)行管理,比如文字、圖片、影音和其他日常使用文件的發(fā)布、更新、刪除等操作,同時(shí)也包括用戶信息、留言信息、流量信息的統(tǒng)計(jì)和管理。簡(jiǎn)單來(lái)說(shuō),該系統(tǒng)就是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和文件的操作和管理,以使得面向大量消費(fèi)者用戶的前端網(wǎng)站內(nèi)容得到及時(shí)更新。一般來(lái)說(shuō),網(wǎng)站的后端只是由少數(shù)具有管理員權(quán)限的人可以使用,他們主要負(fù)責(zé)管理數(shù)據(jù)的更新和刪除,以及一些統(tǒng)計(jì)工作。
3.全棧應(yīng)用案例
全棧應(yīng)用其實(shí)你一點(diǎn)兒都不陌生,現(xiàn)在很多網(wǎng)站都會(huì)允許用戶主動(dòng)修改和添加網(wǎng)頁(yè)中的數(shù)據(jù)和信息,這些網(wǎng)站都屬于這一類。因此,一些具有復(fù)合型功能的網(wǎng)站都采用前端和后端結(jié)合的方式,讓網(wǎng)站實(shí)現(xiàn)包括評(píng)論功能、下單功能、關(guān)鍵詞搜索功能。為什么說(shuō)這些網(wǎng)站是全棧技術(shù)實(shí)現(xiàn)的呢?因?yàn)樗粌H能夠?qū)崿F(xiàn)前端技術(shù)的目標(biāo):關(guān)于網(wǎng)頁(yè)內(nèi)容的布局和用戶的交互,比如整個(gè)頁(yè)面的布局,通過(guò)按鈕的單擊實(shí)現(xiàn)型號(hào)的選擇和加入購(gòu)物車等功能。另外,關(guān)于商品的價(jià)格、評(píng)價(jià)數(shù)量、版本、型號(hào)等描述數(shù)據(jù),都是通過(guò)訪問(wèn)相關(guān)的數(shù)據(jù)庫(kù)才得知的。這種類型的網(wǎng)站是前端和后端的一個(gè)綜合體的呈現(xiàn),也就是全棧的體現(xiàn)。
總結(jié)一下,前端更偏重于界面和內(nèi)容的設(shè)計(jì),后端則更側(cè)重于對(duì)數(shù)據(jù)的操作和管理。從界面來(lái)看,前端頁(yè)面和后端頁(yè)面開(kāi)發(fā)重點(diǎn)不同:前端要求頁(yè)面漂亮,給用戶提供良好的交互性;后端界面則要簡(jiǎn)潔便利,把功能和查詢信息顯示在同一頁(yè)面。現(xiàn)在大多數(shù)網(wǎng)站,比如京東和新浪網(wǎng)都是前端和后端的結(jié)合。其中,前端負(fù)責(zé)網(wǎng)頁(yè)內(nèi)容的展示,后端負(fù)責(zé)數(shù)據(jù)的動(dòng)態(tài)查詢與更新,這就必須依靠全棧開(kāi)發(fā)技術(shù)才能得以實(shí)現(xiàn)。
至此,本書(shū)的重點(diǎn)已經(jīng)非常明確,就是希望帶你去體會(huì)如何開(kāi)發(fā)與實(shí)現(xiàn)一個(gè)“全棧”型的網(wǎng)站。簡(jiǎn)單來(lái)說(shuō),所有關(guān)于向用戶展示的網(wǎng)頁(yè)內(nèi)容,由前端負(fù)責(zé),而關(guān)于需要后端服務(wù)器給出響應(yīng)消息以及數(shù)據(jù)庫(kù)查詢結(jié)果的,則要依靠后端技術(shù),通過(guò)前端和后端的配合,你才能搭建一個(gè)Web全棧應(yīng)用。
- 網(wǎng)絡(luò)科學(xué)視角下的推薦系統(tǒng)研究
- Axure RP 原型設(shè)計(jì)實(shí)踐(Web+APP)
- 網(wǎng)站建設(shè)與管理
- 走進(jìn)搜索引擎
- 計(jì)算機(jī)網(wǎng)絡(luò)
- Learning SaltStack
- pfSense 2.x Cookbook
- 云計(jì)算基礎(chǔ)教程(第2版)
- 開(kāi)源網(wǎng)絡(luò)模擬器ns-3:架構(gòu)與實(shí)踐
- Kubernetes實(shí)戰(zhàn):構(gòu)建生產(chǎn)級(jí)應(yīng)用平臺(tái)
- 云計(jì)算架構(gòu)技術(shù)與實(shí)踐(第2版)
- ASP.NET 3.5教程
- Instant PageSpeed Optimization
- 系統(tǒng)工程的藝術(shù):用基于模型的系統(tǒng)工程方法構(gòu)建復(fù)雜系統(tǒng)(原書(shū)第2版)
- 矛與盾:黑客攻防命令大曝光