close

這裡的 SPA 當然不是溫泉之類的,是指 Single Page App

簡單來說,在web 上不進行換頁的單純由 client 來繪制的就算是 spa。

也如果非靜態的呢,可能就會以 ajax 的非同此方式來進行背後的資料更新,再由 client 來繪制。

相較於傳統的 ssr 方式,優點有,減少頻寬的浪費、較為好的使用者體驗。

而缺點就是 seo 上缺乏支援及開發上相對比較麻煩尤其是和網頁認證、保護內容之類的。

如果你是開發 web app 之類,也就是服務為主的,就忘了 seo 吧,如果不是,而是 cms 新聞類的?

那 seo 還是不能說放棄就放棄,也因此有了 hybrid 的出現。

當然 ssr 也是一個選項,或是使用付費的爬蟲網站,來幫你把 spa 先 render 成靜態的也行(有錢的話,這個大概是最簡單的方法了。)

hybrid 簡單來說,就是 server 把內容先以 隱藏方式在 body 中出現,seo 的 robots 們還是看得到,但 users 看不到,

然後再以 js parse 它加上 virtual-dom 的方式繪制出來,這樣不但 seo 也有了,也有了 spa 的特性,就是很麻煩。

如圖:

hybrid-spa.png

 

而且準備功夫是兩倍。 像是 router 就必須在 server 和 js 端都要有,不然就不是 spa 了。

另外 error 或是 session timeout 的問題,也必須有 server render 端的版本、js 端的版本,或是 lazy 點,全導到同一個靜態頁面。

複雜度就取決於使用者體驗的好壞。

幸運的是,目前有許多的 js 框架在處理這些問題上,都很好用(雖然還是很麻煩就是了)。

arrow
arrow
    全站熱搜

    本土毛牛 發表在 痞客邦 留言(0) 人氣()