當前位置:首頁 » 網頁前端 » 前端數據分離
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端數據分離

發布時間: 2022-05-29 07:15:52

Ⅰ 怎麼理解前後端分離

對於前後端分離,認識上有個誤區,那就是很多人自稱:我們老早就分離了,全AJAX,使用Angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是逗如何解決家禽把蛋生在水草邊的問題看地,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答逗不讓去水邊就行了地,這顯然不在點子上。


兩年業界說的前後端分離,是限於偏展示類的系統(用A代替),而不是應用、管控類Web項目(用B代替),在B類項目里,前後端是天然分離的,對此,除了
少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是只做B類項目,在B類項目里,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論A類項目的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與數據結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:模板應當由前端人員去控制,主要原因有兩方面:

- 性能優化(尤其是外部資源的管理與發布,請求合並等等)
- 協作的順暢性(已形成模板的界面片段的返工等問題)

那麼,模板到底應該在什麼地方跟數據結合看

這個問題就比較折騰了,有部分人嘗試像B類項目那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏性能不夠,尤其對於首頁DOM量很大的電商類網站,差距很明顯。


以我們還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入Node層,在這一層把模板與數據進行合成,然後瀏覽器拿到的就
是生成好的HTML了,但也不是所有HTML都是這么生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

所以這一定會是一個混合方案,同一個系統中存在兩種模板,一種在服務端執行,一種在瀏覽器中執行,互為補充。


於說這個方案中,是否中間層一定要是node,我覺得無所謂,只要是能正常做web項目的東西都可以,這個還是要看所在企業的技術積累方向,當然node
做這塊是有一些優勢的,比如對前端人員的語言友好性,前後端模板的通用性等等,但這些都是細節,重點還是整體方案和流程。

這時候回頭看你問題中的這句:

> 前後端分離的意思是,前後端只通過 JSON 來交流,組件化、工程化不需要依賴後端去實現。

我相信你這里對前後端的限定是以瀏覽器為準的,但事實上,A類項目中,前後端的分界一定要延伸到伺服器端的模板層,也就是在這一層里,把各種來源的數據整合到模板中,這個數據未必是JSON格式的,會存在有JSON,XML,特定的二進制等等。


件化這個話題就更復雜了,在剛才組織形式中,很難說出究竟什麼才是組件。是某個商品的模板嗎看是數據嗎看是數據和模板的結合體嗎看沒法回答。在此,我說一
句自己的看法:像電商這種項目的前端部分,基本不存在組件的概念,甚至不存在組件化的價值,因為這裡面可復用的東西太少了,也不易提取,大多數東西都是不
帶邏輯的界面模板。

最近因為ReactJS的流行,帶來了一個Isomorphic的概念,這是一種很有意義的探索,但是否能解決這類問
題,尚不得而知,根據我的理解,它對B類項目是較好的補充方案,但對A類項目暫時還缺乏可用性,因為A類項目中,運行期的DOM變更並不多,多是整片的改
變,用這個方案去解決的話,有些牛刀殺雞的感覺。

關於B類項目的組件化,我之前那個沒寫完的系列是關於它的,但經過最近一年多的思考,我又覺得需要再重新寫一篇東西了。感謝你的問題提醒了我,這就寫。

Ⅱ VB.Net 前後端分離怎麼實現的

1.一般來說,要實現前後端分離,前端就需要開啟一個本地的伺服器來運行自己的前端代碼,以此來模擬真實的線上環境,並且,也是為了更好的開發。因為你在實際開發中,你不可能要求每一個前端都去搭建一個java(php)環境,並且在java環境下開發,這對於前端來說,學習成本太高了。
?2.但如果本地沒有開啟伺服器的話,不僅無法模擬線上的環境,而且還面臨到了跨域的問題,因為你如果寫靜態的html頁面,直接在文件目錄下打開的話,你是無法發出ajax請求的(瀏覽器跨域的限制),因此,你需要在本地運行一個伺服器,可是又不想搭建陌生而龐大的java環境,怎麼辦法呢?nodejs正好解決了這個問題。在我們項目中,我們利用nodejs的express框架來開啟一個本地的伺服器,然後利用nodejs的一個http-proxy-middleware插件將客戶端發往nodejs的請求轉發給真正的伺服器,讓nodejs作為一個中間層。這樣,前端就可以無憂無慮的開發了
?3.由於前後端分離後,前端和後台同時開發時,就可能遇到前端已經開發好一個頁面了,可是卻等待後台API介面的情況。比如說A是負責前端,B是負責後台,A可能用了一周做好了基本的結構,並且需要API介面聯調後,才能繼續開發,
?4.而此時B卻還沒有實現好所需要的介面,這種情況,怎麼辦呢?在我們這個項目里,我們是通過了mock來提供一些假數據,我們先規定好了API介面,設計出了一套API文檔,然後我們就可以通過API文檔,利用mock來返回一些假數據,這樣就可以模擬發送API到接受響應的整一個過程,
?5.因此前端也不需要依賴於後端開發了,可以獨立開發,等到後台的API全部設計完之後,就可以比較快速的聯調。

Ⅲ web前端開發,前後端分離具體是怎麼樣的工作模式

前後端分離,顧名思義就是前端只負責前端的開發,後端只只負責後端的開發,如何通過介面來進行數據交互。
這樣做的好處就是:開發可以同時進行,代碼維護更加方便,前端只需要拿到後端提供的介面,傳遞對應的數據就可以了,然後再把後端返回的數據渲染到前端頁面上。
至於跨域問題是可以解決的,一般讓後端解決就行了。最後上傳到伺服器的也很簡單,你前端的就上傳你開發的前端代碼,後端的就上傳他後端的代碼就搞定了

Ⅳ web系統的前端,資料庫存儲文件是如何分離的

...
此人非子豪兄
不過給出一個建議
可以將所有變數用private封裝
並且用private封裝一個密碼
所有
下方法都先傳參用==判定密碼是否正確
正確方能運行
由於private封裝密碼
只有內部人員知道密碼
所以外部人員無法修改
連方法都不能調用
這樣應該不會被攻擊
但可讀性
和易於維修性都會降低

Ⅳ 前端就應該和後台徹底分離,用json傳遞數據有什麼不好

我覺著挺好的。但是現在很多開發環境都不是這樣做,其原因就是前後台不徹底分離的環境學習成本低,上手更快。而在許多軟體公司都是基於這些環境開發產品的。如果使用前後台徹底分離,那得需要很大的成本和一段時間。

Ⅵ 怎樣用前端代碼判斷後台輸出的一條數據是否有空格並按空格分離成多條數據

var a;//後台獲取的數據
var b;//分割後的數組;
if(a && a.indexOf(" ")>-1){
b = a.split(" ");
}
b就是你要獲取的分割之後的數組,你在循環遍歷他就行了

Ⅶ web開發中,怎樣做到前後端分離

一般情況下

  • 前端的工作:實現整一個前端頁面以及交互邏輯,以及利用ajax與伺服器(中間層)交互,使用javascript的模板技術

  • 後端的工作:提供API介面,與資料庫交互

Ⅷ 熟悉表現與數據分離 前端什麼意思

就是類似MVC結構,html控制結構,css控製表現,js的數據來聯系表現和結構,實現三者分離 又相互聯系。對於網頁的數據更新、維護、以及改版很有幫助。

Ⅸ 微服務架構下,進行前後端分離,前端怎麼寫

分離後的前端,不再是一個簡單的HTML文件,已經是一個獨立的應用系統。除了要考慮頁面的數據渲染展示,還要用工程化的思想來考慮前端的架構,前後端的交互和數據安全等事情。

RESTful介面交互
前後端分離之後,更多的是採用RESTful風格的介面與後端進行數據交互。

REST是「呈現狀態轉移(REpresentational State Transfer)」的縮寫,一種API的架構風格,在客戶端和服務端之間通過呈現狀態的轉移來驅動應用狀態的演進。

在 REST 樣式的 Web 服務中,每個資源都有一個地址。資源本身都是方法調用的目標,方法列表對所有資源都是一樣的。這些方法都是標准方法,包括 HTTP GET、POST、PUT、DELETE,還可能包括 HEADER 和 OPTIONS。
RESTful的API設計,使得後端通過介面向前端傳遞數據,數據的格式通常是JSON這種通用的格式。對前端來說,只要後端返回過來的是RESTful的數據就行,不管後端是用Java寫,還是用python或PHP,拜託對後端的依賴,做到前端系統的獨立。

工程化構建

Nodejs不止可以用來做前端伺服器,在開發階段,它也能發揮很大的作用。

前端生態的發展,是圍繞著Nodejs進行的。用npm來管理項目依賴,可以很好的維護和運行在Nodejs環境上。

打包工具grunt、gulp、webpack和rollup等,都是運行在nodejs上,再結合語法編譯、打包部署等插件,將應用輸入成一個完整的應用。

如果你使用了Angular、React或Vue框架,或者你使用瀏覽器暫時還不兼容的ES6語法,還需要在應用打包前用babel將語法編譯成瀏覽器可識別的ES5的語法。

SPA
SPA是單頁Web應用(single page web application,SPA)的簡寫,就是只有一張Web頁面的應用,是載入單個HTML 頁面並在用戶與應用程序交互時動態更新該頁面的Web應用程序。

像Angular、React或Vue就是為了SPA而設計的,結合前端路由庫(react-router、vue-router)和狀態熱存儲(rex、vuex)等,可以開發出一個媲美Native APP的Web APP,用戶體驗得到了很大的提升。

當然,SPA也不是完美的,也不是適合所有的web應用,需要結合項目和場景來選擇。

SPA有如下缺點:

  • 初次載入耗時增加。可以通過代碼拆分、懶載入來提升性能,減少初次載入耗時。

  • SEO不友好,現在可以通過Prerender或Server render來解決一部分。

  • 頁面的前進和後端需要開發者自己寫,不過現在一些路由庫已經幫助我們基本解決了。

  • 對開發者要求高,由於做SPA需要了解一整套技術棧,所以,要考慮後期是否有合適的人選進行維護。

Ⅹ web開發中,什麼是前後端分離

優秀的WEB架構,必定會應用一些分層設計的思想,這樣可以讓系統開發起來更靈活,同時後期維護也比較方便。

  • 前端的頁面基本都是使用 JavaScript 的富戶端頁面,主要應用的框架用,jquery、jquery ui、knockout js、Durandal。

  • 自己封裝的 UI 組件,後端的主要採用到的技術有 OData、MVC、Linq to SQL 以及自己寫的一個許可權管理組件,資料庫採用的是 SQL Server 2005。