由于Web技術(shù)日新月異, 網(wǎng)站的前端也處在不斷的變化之中, 各種各樣的網(wǎng)頁趨于多元化, 導(dǎo)致網(wǎng)頁的制作難度在加大, 已經(jīng)逐漸地演變成了一門網(wǎng)頁前端開發(fā)的獨立技術(shù)。企業(yè)的網(wǎng)站如何提供給用戶一個良好的體驗
一、前端開發(fā)的三種技術(shù)
(一)HTML
HTML 只是標準通用標記語言其中一個應(yīng)用,它對標準通用語言來說具有規(guī)范性。瀏覽器網(wǎng)頁的文本結(jié)構(gòu)內(nèi)容的顯示是 HTML 提供的標記文本,是 WEB 編程的基礎(chǔ)。瀏覽器顯示網(wǎng)頁是按照標記符一定的順序和設(shè)置好的規(guī)則下出現(xiàn)內(nèi)容。所以網(wǎng)站的建設(shè)第一步就是運用 HTML 建設(shè)布局合理的框架, 而且要與當前的瀏覽器兼容。當然網(wǎng)頁建設(shè)開發(fā)只利用 HTML 技術(shù)是不行的,這時的網(wǎng)頁是不具備企業(yè)網(wǎng)站的可用性,還需要用到 CSS 語言進一步優(yōu)化網(wǎng)頁的可用性。
(二)CSS
層疊樣式(CSS)與 HTML 一樣是一種樣式語言,HTML 是一種網(wǎng)頁標準性樣式語言,CSS 是一種網(wǎng)頁描述性樣式語言。CSS 可以把網(wǎng)頁的數(shù)據(jù)和樣式兩種信息拆分而使得瀏覽器呈現(xiàn)網(wǎng)頁的信息達到最強化,它可以提供多種文檔的樣式外觀, 為一些元素和文本進行改造,修改頁面字體的顏色,增強了HTML 中的重要內(nèi)容標記。雖然說運用 CSS 和 HTML 兩種技術(shù)制作出來的網(wǎng)頁在外觀和功能已經(jīng)達到了可用性的要求,也可以滿足用戶對企業(yè)網(wǎng)頁的瀏覽需求,但是還有兩個問題需要注意。第一,CSS 在如今互聯(lián)網(wǎng)市場上的不同瀏覽器中或者同一個瀏覽器不同的版本中顯示有很大的差別,因為瀏覽器的核心設(shè)計和對網(wǎng)頁支持力度不同,有時候會有一些瀏覽器對網(wǎng)頁的本質(zhì)內(nèi)容顯示不出來,所以在編寫 CSS 時候需要考慮各種瀏覽器的兼容性問題。第二,這時候的網(wǎng)頁還處于靜態(tài),有瀏覽性但是不能交互數(shù)據(jù),還需要用到 JavaScript 技術(shù)。
(三)JavaScript
JavaScript 簡稱 JS,JavaScript 作為一種語言,隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)的進步,JS 已經(jīng)發(fā)展成為了一門全面且完善的直譯式腳本語言。JavaScript 的解釋器已經(jīng)作為各種瀏覽器的必須品,被人稱為 JavaScript 引擎,主要是在用戶端運用。之所以時候 JavaScript 已經(jīng)發(fā)展的非常完善,是因為它在網(wǎng)頁的開發(fā)和建設(shè)中應(yīng)用非常廣泛,可以處理各種復(fù)雜的計算問題,也有瀏覽器與 Web 服務(wù)器之間的交互功能,而且還可以是動態(tài)性的交互,它在服務(wù)端的作用也隨著技術(shù)的發(fā)展逐漸顯現(xiàn)出來了。JavaScript 與 HTML 之間的交互可以達到頁面行為與樣式間的
松散耦合效果,當瀏覽器有某種交互動作時,通過監(jiān)聽器的使用,綁定了特定元素的處理程序,這時候就會有觸發(fā)后的相應(yīng)處理函數(shù)來執(zhí)行任務(wù)。
二、前后分離 MVC 模式的 Web 開發(fā)
(一)劃分前后端
視圖層(V)是頁面的搭建,顯示各種數(shù)據(jù),劃分為前端; 模型層(M)是存儲各種數(shù)據(jù)和處理不同的業(yè)務(wù)邏輯,劃分為 后端。最關(guān)鍵是控制層的劃分,因為這關(guān)系到前后耦合問題的處理。控制層(C)是具備轉(zhuǎn)發(fā)和處理請求的功能,它是一個信息的調(diào)配處理器,解析客戶端的請求內(nèi)容并把此內(nèi)容發(fā)送給某個服務(wù)端,服務(wù)端得到內(nèi)容在模型層處理后,反饋內(nèi)容給控制層,再由此給客戶端發(fā)送正確的網(wǎng)頁頁面。雖然說控制層和模型層的交流比較簡單,用來進行數(shù)據(jù)交互。從控制層的作用來看,它是數(shù)據(jù)的交互和調(diào)度地方,沒有業(yè)務(wù)邏輯,所以把控制層劃分到前端比較合理。
(二)實現(xiàn)前后分離
大多數(shù)門戶網(wǎng)站在構(gòu)建中將 Node.js 作為中間層,利用 Express 開發(fā)企業(yè)網(wǎng)站。用戶訪問企業(yè)網(wǎng)站的門戶時,服務(wù)端進行判定且響應(yīng)。如果頁面需要動態(tài)型的數(shù)據(jù),Node 會把用戶id 作為請求的參數(shù)發(fā)送給后端的接口,后端接受請求處理后以 JSON 的形式返還給 Node 層。數(shù)據(jù)傳達到 Node 層后,運用函數(shù)回調(diào)渲染相應(yīng)的頁面,這些獲取的數(shù)據(jù)會注入到 EJS 模板, 將 JSON 數(shù)據(jù)轉(zhuǎn)換成 HTML,最終將文件顯示在瀏覽器里,這時用戶就可以看到。
(三)復(fù)用前后分離的數(shù)據(jù)
前后分離模式的應(yīng)用,它有一個優(yōu)勢就是后端的數(shù)據(jù)使用性非常強。舉個例子,我們今天查詢天氣預(yù)報非常方便,不過天氣預(yù)報的查詢功能調(diào)用的是外部接口,用戶發(fā)送請求某個城市的天氣情況請求,前臺獲取請求參數(shù),運用 AJAX 技術(shù)向 Node 層發(fā)出請求,由 Node 層發(fā)送二次請求給天氣預(yù)報接口, 然后天氣預(yù)報接口響應(yīng)請求參數(shù)處理后將響應(yīng)的數(shù)據(jù)原路反饋給 Node 端,再轉(zhuǎn)回前臺頁面,用戶刷新一下就得到某個城市的天氣預(yù)報。正式利用這種前后分離模式,使得天氣預(yù)報的后端只注重天氣數(shù)據(jù)的更新,而不需要再去關(guān)注頁面的結(jié)構(gòu), 前端只需要注重界面對用戶的呈現(xiàn),而不需要去更新數(shù)據(jù),而且這種平臺在任何網(wǎng)絡(luò)連接到的地方都可以用到天氣預(yù)報的數(shù)據(jù),這就說明了可以復(fù)用前后分離數(shù)據(jù)。
三、結(jié)語
在企業(yè)網(wǎng)站建設(shè)開發(fā)中采用前后端分離模式進行 Web 開
發(fā),這極大地簡化了網(wǎng)站建設(shè)的復(fù)雜性,也使得前后端的耦合性弱化,網(wǎng)站建設(shè)增強了一些數(shù)據(jù)的重復(fù)利用性。前端技術(shù)在企業(yè)網(wǎng)站的建設(shè)和開發(fā)中,可以快捷有效地建設(shè)企業(yè)網(wǎng)站,在后期的維護和網(wǎng)站的擴展中更加簡便,這提高了員工了的工作效率,增加了企業(yè)的整體效益。