在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 傳統(tǒng)web開發(fā)如何進(jìn)行前后端分離,或者說是否有必要進(jìn)行前后端分離

傳統(tǒng)web開發(fā)如何進(jìn)行前后端分離,或者說是否有必要進(jìn)行前后端分離

這里希望做到的分離是:

  1. 前端獨(dú)立開發(fā),獨(dú)立發(fā)布
  2. 必要的頁面實(shí)現(xiàn)服務(wù)器端渲染,
  3. 瀏覽器兼容常規(guī)版本,例如ie8+

想知道有沒有好的方案,或者是否有必要這樣做

回答
編輯回答
紓惘

1.有利于工作分模塊化,形成流水線,畢竟術(shù)業(yè)有專攻

2.前后分離是主流,相比以往服務(wù)器生成頁面,前端請(qǐng)求后端的模式相比,前端自主請(qǐng)求的方式更加高效。

當(dāng)然還有很多優(yōu)點(diǎn),既然大家都這樣干肯定是有它的道理在嗯。

2017年1月16日 10:31
編輯回答
懶豬

個(gè)人覺得前后端分離是一個(gè)未來趨勢。ajax和誕生使前端工作從原始社會(huì)的時(shí)期進(jìn)入了農(nóng)業(yè)社會(huì),而node的誕生使前端進(jìn)入了工業(yè)化時(shí)期,前端不用再依靠后端才能實(shí)現(xiàn)一個(gè)頁面的渲染,前端承接了后端人員的頁面渲染邏輯任務(wù),自成一個(gè)項(xiàng)目,能更大的實(shí)現(xiàn)一個(gè)前端項(xiàng)目的復(fù)用,以及更快速的把一個(gè)網(wǎng)站新型UI的更替,雙方工作人員能更加明確雙方的工作任務(wù),雙方的工作可以同時(shí)進(jìn)行不必相互牽制與扯皮。
不過我同事說了一個(gè)有趣的真理::
前后端分離只是為了更好的壓榨程序員的勞動(dòng)力。本來前后端一起開發(fā)就很影響開發(fā)效率,分離開就各干各的,項(xiàng)目就可以并行開發(fā),爭取早上線,早掙錢!
最后附上作者張亞濤的文章:https://segmentfault.com/a/11...

2017年6月15日 04:53
編輯回答
影魅

前后端分離、服務(wù)端渲染,都有它的好處和必要性,當(dāng)然也有適用場景,之前回答過類似的問題,原問題傳送門《討論一下前端開發(fā)模式

原問題如下:

目前有兩種方案:
  1. node作為前端服務(wù)渲染頁面,頁面寫的是后端模板。用node跟服務(wù)器php進(jìn)行交互。
  2. node+react,node作為服務(wù)端只提供服務(wù),頁面由客戶端渲染,交互邏輯也是寫在react組件中,根據(jù)react的0DOM操作會(huì)提高頁面的渲染速度。

請(qǐng)大家各抒己見,來探討一下這兩種開發(fā)模式哪種比較好,請(qǐng)說出原因。

回答如下:

兩種方式各有適應(yīng)場景,下面就簡單說下各自的優(yōu)缺點(diǎn)、適用場景。

方式一

node作為前端服務(wù)渲染頁面,頁面寫的是后端模板。用node跟服務(wù)器php進(jìn)行交互。

優(yōu)點(diǎn)

  1. 對(duì)頁面SEO友好:頁面在服務(wù)端渲染好,對(duì)SEO比較有利。
  2. 首屏呈現(xiàn)較快:node、php交互,假設(shè)部署在同一臺(tái)機(jī)器,屬于本地通信,速度快,相應(yīng)的 獲取數(shù)據(jù)-> 渲染頁面 -> 返回頁面的時(shí)間相對(duì)方案二要快。

缺點(diǎn)

  1. 兩次實(shí)現(xiàn):同樣的渲染邏輯,可能需要在服務(wù)端、瀏覽器端分別實(shí)現(xiàn)一次。
  2. 服務(wù)質(zhì)量可靠性更高:服務(wù)端邏輯相對(duì)重了,質(zhì)量可靠性保障要求就上去了。

適用場景:比如新聞門戶、博客等。

方式二

node+react,node作為服務(wù)端只提供服務(wù),頁面由客戶端渲染,交互邏輯也是寫在react組件中,根據(jù)react的0DOM操作會(huì)提高頁面的渲染速度。

優(yōu)點(diǎn)

  1. 前后端解耦:服務(wù)端負(fù)責(zé)提供數(shù)據(jù),客戶端負(fù)責(zé)視圖渲染,可維護(hù)性更強(qiáng)。
  2. 無須兩次實(shí)現(xiàn):上面已提及,不贅述。至于react本身帶來的好處這里不展開。

缺點(diǎn)

  1. 對(duì)SEO不友好:這種方案,返回前端的頁面大部分時(shí)候只是個(gè)骨架,內(nèi)容尚未填充,因此,SEO效果不會(huì)很好。
  2. 首屏呈現(xiàn)速度較慢:react是個(gè)大家伙,此外,加載js(包括react)-> 拉取數(shù)據(jù) -> 渲染組件 相比方案一,速度一般會(huì)較慢,因?yàn)榫W(wǎng)絡(luò)來回比較多。

適用場景:重業(yè)務(wù)操作、交互較多的站點(diǎn)。比如管理后臺(tái)、富客戶端應(yīng)用。

2018年1月12日 07:52
編輯回答
薄荷綠

前后端分離哪有你想那么復(fù)雜
后臺(tái)寫好接口
前臺(tái)根據(jù)接口實(shí)現(xiàn)頁面不就完了么
至于兼容性 ,根據(jù)產(chǎn)品需求來啊。
前后臺(tái)分離哪有那么高大上,只是各自提升兩端的效率罷了

2017年6月8日 23:08
編輯回答
安若晴

前后端分離確實(shí)是一個(gè)比較不太好處理的問題,關(guān)于這點(diǎn),阿里的同學(xué)有在研究,附上鏈接http://blog.jobbole.com/65513/
我說下我們公司的前后端分離方案吧
要做到前后端分離的話,那么必須要求前端開發(fā)人員將數(shù)據(jù)加載的工作承接過來,后端的同學(xué)只負(fù)責(zé)提供接口以及后端業(yè)務(wù)實(shí)現(xiàn),可以客戶端以及前端共用一套接口
我們的前端頁面是純靜態(tài)的html文件,通過ajax調(diào)用接口獲取數(shù)據(jù)后,使用vue框架進(jìn)行渲染
vue提供了一套模板渲染的方式,使用方法類似jsp,php這樣的模板引擎,速度還算理想,可以嘗試一下看看。
另外,前端人員盡量功能做到前端工程化,如果純html進(jìn)行編寫的話,很多后端類似jsp的特性會(huì)滿足不了,比如include頁面,但是前端可以使用gulp進(jìn)行前端的工程化處理,能夠解決一些px轉(zhuǎn)rem,圖片壓縮,文件include等一些提升效率的方案。
這樣一來前端的部署就簡單多了,而且本地不需要啟動(dòng)服務(wù)器,打開頁面就可開發(fā)調(diào)試
至于線上部署,完全可以部署到nginx下面。

2017年12月20日 03:18
編輯回答
筱饞貓

我覺得還是有必要分,業(yè)務(wù)簡單還好說,業(yè)務(wù)復(fù)雜起來,一個(gè)是可能會(huì)相互依賴或者相互扯皮,另一個(gè)是并發(fā)之類的??梢钥紤]用中臺(tái)(阿里的叫法?),就是用node或者php這樣的輕后臺(tái)處理調(diào)用后臺(tái)接口或者是拉頁面數(shù)據(jù)這樣的活,進(jìn)一步的話可以嘗試php掛模板或者直接搞vue、react這類MVVM配合node搞同構(gòu),這樣把渲染放到后端,就沒必要等頁面框架出來后再拉數(shù)據(jù)渲染一遍,提高了效率降低了用戶等待(純用戶信息頁連ajax庫都可以省了),也直接避開了跨域的坑,另外后臺(tái)細(xì)節(jié)也一并藏起來了(比如都用阿里云的話,直接內(nèi)網(wǎng)通信就得),數(shù)據(jù)處理放在中臺(tái),前臺(tái)可以直接調(diào)整想要的東西,跟后臺(tái)也少了對(duì)接復(fù)雜度,比純粹用HTML+CSS+JS要?jiǎng)澦愫芏唷?/p>

2018年5月11日 02:37
編輯回答
替身

簡單回答一下吧,我贊成 @ypinchina 的回答,前后端分離并不是什么高大上的事情。
其實(shí)前后端分離的本質(zhì)就是誰去渲染頁面,傳統(tǒng)的方式是后臺(tái)渲染數(shù)據(jù),甚至后臺(tái)也會(huì)用 ajax 調(diào)接口處理數(shù)據(jù)。
分離的話就是前端渲染數(shù)據(jù),所以只要用一個(gè)模板引擎就可以了,比如 Handlebars、ArtTemplate 等,這和 jsp、php 寫頁面的方式非常類似,不過這里有一個(gè)頁面緩存的問題。
很多人有一個(gè)誤區(qū),認(rèn)為前后端分離必須使用框架,其實(shí)兩者并沒有什么必然的關(guān)系,前后端分離并不一定需要使用框架,而使用框架也不等于前后端分離。

2018年9月5日 08:58