亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

關(guān)于前后端分離與模板引擎

cnTomato / 1507人閱讀

摘要:但似乎他們的職責(zé)在以前甚至于現(xiàn)在都并不明確,雖然前端是跟瀏覽器打交道,但是最終瀏覽器拿到的頁面是服務(wù)器通過模板生成的一個臨時靜態(tài)頁面而已。當(dāng)然,一般傳統(tǒng)上的開發(fā)協(xié)作模式有兩種一種是前端先寫一個靜態(tài)頁面,寫好后,讓后端去套模板。

隨著不同終端(Pad/Mobile/PC)的興起,對開發(fā)人員的要求越來越高,純?yōu)g覽器端的響應(yīng)式已經(jīng)不能滿足用戶體驗的高要求,往往需要針對不同的終端開發(fā)定制的版本,為了提升開發(fā)效率,前后端分離的需要越來越被重視,后端負(fù)責(zé)業(yè)務(wù)/數(shù)據(jù)接口,前端負(fù)責(zé)展現(xiàn)、交互邏輯,同一份數(shù)據(jù)接口,可用于多個終端。

傳統(tǒng)的前后端:

  后端是跟數(shù)據(jù)庫跟服務(wù)器打交道的,前端是跟瀏覽器打交道的。但似乎他們的職責(zé)在以前甚至于現(xiàn)在都并不明確,雖然前端是跟瀏覽器打交道,但是最終瀏覽器拿到的頁面是服務(wù)器通過模板生成的一個臨時靜態(tài)頁面而已。所以,實際上后端也摻和進來了,因為他要處理模板。當(dāng)然,一般傳統(tǒng)上的開發(fā)協(xié)作模式有兩種:

  • 一種是前端先寫一個靜態(tài)頁面,寫好后,讓后端去套模板。靜態(tài)頁面可以本地開發(fā),也無需考慮業(yè)務(wù)邏輯只需要實現(xiàn)View即可。不足是還需要后端套模板,這些前端代碼后端需要瀏覽一遍,以免出錯。

  • 另一種協(xié)作模式是,前端直接去寫模板,這樣做的問題在于,前端編寫過程中很依賴與后端環(huán)境,如果當(dāng)后端沒寫完的情況下,前端幾乎沒法干活。

在做前后端分離時,第一個關(guān)注到的問題就是 渲染,也就是 View 這個層面的工作,模板引擎、前后端分離、單頁模式,它們本應(yīng)是三個完全分離的概念,但確實有很多現(xiàn)代 Web 項目同時使用了這些技術(shù),于是它們的概念就經(jīng)常被混淆。雖然它們各自并不閃耀,但當(dāng)它們一起使用時確實可以成為現(xiàn)代 Web 中一種優(yōu)秀的實踐。

模板引擎

  模板引擎是相當(dāng)古老的東西了,現(xiàn)在能看到的很多后端編程語言其實都是基于模板引擎的。但這種語言級的模板引擎其實很難讓開發(fā)者滿意。以前寫 ASP 的時候覺得用程序把數(shù)據(jù)庫查詢出來的數(shù)據(jù)填入頁面中是一件很痛苦的事情。不是寫出一堆凌亂的標(biāo)簽就是程序里做一堆字符串拼接。如果再考慮上內(nèi)容的安全性,要做各種過濾和轉(zhuǎn)義,簡直會讓人奔潰。

前后端分離

  前后端分離的故事得從 Ajax 說起。在 Ajax 流行起來后,大家都開始了「無刷新」之旅。當(dāng)時大部分網(wǎng)站都是以鏈接形式跳轉(zhuǎn)的時候,自己使用「無刷新翻頁」覺得已經(jīng)很先進了。后來無刷新翻頁也漸漸開始爛大街,百度搜一下可以搜出一坨東西,于是就開始考慮全頁面的無刷新操作。漸漸地「Web 接口」這種東西出現(xiàn),但是此時的「接口」其實主要還是直接輸出 HTML,并沒有考慮結(jié)構(gòu)化之類的東西

單頁模式

  單頁模式是前后端分離的一種應(yīng)用。而單頁應(yīng)用最主要的特點就是局部刷新,這通過前端控制路由調(diào)用AJAX,后臺提供接口便可以實現(xiàn),而且這樣的方式用戶體驗更加友好,網(wǎng)頁加載更加快速,開發(fā)和維護成本也降低了不少,效率明顯提升。 ? ? 前后端分離的實現(xiàn)對技術(shù)人員尤其是前端人員的要求會上升一個層次,前端的工作不只是切頁面寫模板或是處理一些簡單的js邏輯,前端需要處理服務(wù)器返回的各種數(shù)據(jù)格式,還需要掌握一系列的數(shù)據(jù)處理邏輯、MVC思想和各種主流框架。 ? 優(yōu)勢與意義 1、徹底解放前端   前端不再需要向后臺提供模板或是后臺在前端html中嵌入后臺代碼 2、提高工作效率,分工更加明確   前后端分離的工作流程可以使前端只關(guān)注前端的事,后臺只關(guān)心后臺的活,兩者開發(fā)可以同時進行,在后臺還沒有時間提供接口的時候,前端可以先將數(shù)據(jù)寫死或者調(diào)用本地的json文件即可,頁面的增加和路由的修改也不必再去麻煩后臺,開發(fā)更加靈活。 3、局部性能提升   通過前端路由的配置,我們可以實現(xiàn)頁面的按需加載,無需一開始加載首頁便加載網(wǎng)站的所有的資源,服務(wù)器也不再需要解析前端頁面,在頁面交互及用戶體驗上有所提升。 4.降低維護成本   通過目前主流的前端MVC框架,我們可以非??焖俚亩ㄎ患鞍l(fā)現(xiàn)問題的所在,客戶端的問題不再需要后臺人員參與及調(diào)試,代碼重構(gòu)及可維護性增強。 ?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/2203.html

相關(guān)文章

  • 淺談 Web 中前后模板引擎的使用

    摘要:前端模板的出現(xiàn)使得前后端分離成為可能。總結(jié)本文簡單介紹了模板引擎在前后端的使用,下文我們回到,重點分析下的使用方式以及源碼原理。樓主對于模板引擎的認(rèn)識比較淺顯,有不正之處希望指出感謝 前言 這篇文章本來不打算寫的,實話說樓主對前端模板的認(rèn)識還處在非常初級的階段,但是為了整個 源碼解讀系列 的完整性,在深入 Underscore _.template 方法源碼后,覺得還是有必要記下此文,...

    chenjiang3 評論0 收藏0
  • 淺談前后分離實踐(一)

    摘要:前后端的界限是按照瀏覽器和服務(wù)器的劃分。前后端彼此互不關(guān)聯(lián)。關(guān)于作者本文部分圖片段落參考文章實踐中的前后端分離。淘寶前后端分離實踐本文源碼詳見服務(wù)端代碼。 一、起源 (故事純屬虛構(gòu),如有雷同,純屬巧合)傳說在很久很久以前,我們有志之士有了個創(chuàng)業(yè)的想法,于是乎開始了自己的創(chuàng)業(yè)之夢,但是人手不足啊,于是乎所有角色老子一個人全包了: Roles: PM, DBA, RD, FED, Des...

    dantezhao 評論0 收藏0
  • 淺談前后分離實踐(一)

    摘要:前后端的界限是按照瀏覽器和服務(wù)器的劃分。前后端彼此互不關(guān)聯(lián)。關(guān)于作者本文部分圖片段落參考文章實踐中的前后端分離。淘寶前后端分離實踐本文源碼詳見服務(wù)端代碼。 一、起源 (故事純屬虛構(gòu),如有雷同,純屬巧合)傳說在很久很久以前,我們有志之士有了個創(chuàng)業(yè)的想法,于是乎開始了自己的創(chuàng)業(yè)之夢,但是人手不足啊,于是乎所有角色老子一個人全包了: Roles: PM, DBA, RD, FED, Des...

    yy13818512006 評論0 收藏0
  • 最近學(xué)到的前后分離知識

    摘要:文本已收錄至我的倉庫,歡迎前后端分離這個詞相信大家都聽過,不知道大家是怎么理解的呢。流下不學(xué)無術(shù)的淚水目前我了解到的前后端分離,首先部署是分離的至少不會跟綁定在一起部署接口只返回數(shù)據(jù)關(guān)于前端這幾大框架這幾個我都是沒有寫過的,所以也就不多了。 前言 只有光頭才能變強。文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y ...

    MoAir 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<