首頁  >  問答  >  主體

node.js - 讨论一下前端开发模式

目前有两种方案:

1.node作为前端服务渲染页面,页面写的是后端模板。用node跟服务器php进行交互。
2.node+react,node作为服务端只提供服务,页面由客户端渲染,交互逻辑也是写在react组件中,根据react的0DOM操作会提高页面的渲染速度。
请大家各抒己见,来探讨一下这两种开发模式哪种比较好,请说出原因。

ringa_leeringa_lee2712 天前594

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-17 14:50:44

    兩種方式各有適應場景,以下就簡單說下各自的优缺点适用场景

    方式一

    node作為前端服務渲染頁面,頁面寫的是後端模板。用node跟伺服器php進行互動。

    優點

    1. 對頁SEO友善:頁面在服務端渲染好,對SEO比較有利。

    2. 首屏呈現較快:node、php交互,假設部署在同一台機器,屬於本地通信,速度快,相應的 获取数据-> 渲染页面 -> 返回页面的時間相對方案二要快。

    缺點

    1. 兩次實作:同樣的渲染邏輯,可能需要在服務端、瀏覽器端分別實作一次。

    2. 服務品質可靠性更高:服務端邏輯相對重了,品質可靠性保障要求就上去了。

    適用場景:例如新聞入口網站、部落格等。

    方式二

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

    優點

    1. 前後端解耦:服務端負責提供數據,客戶端負責視圖渲染,可維護性更強。

    2. 無須兩次實現:上面已提及,不贅述。至於react本身帶來的好處這裡不展開。

    缺點

    1. 對SEO不友善:這種方案,返回前端的頁面大部分時候只是個骨架,內容尚未填充,因此,SEO效果不會很好。

    2. 首屏呈現速度較慢:react是個大傢伙,此外,加载js(包括react)-> 拉取数据 -> 渲染组件 相比方案一,速度一般會較慢,因為網路來回比較多。

    適用場景:重業務操作、互動較多的網站。例如管理後台、富客戶端應用程式。

    回覆
    0
  • 取消回覆