Ember.js 推出FastBoot走向伺服器端渲染

banq發表於2014-12-25
使用Javascript能夠編寫快速 互動的Web應用,這在過去幾年已經得到普遍認可,js應用提供了很多超過伺服器端技術(PHP JSP ASP)應用的功能,豐富的互動性和輕量快速的反應,這些已經不只是原生應用獨有的專利了。

JS的重量應用是產品性應用,在Web上載入一個應用遠好於原生應用的下載和安裝體驗。

富內容應用如新聞和影片也開始使用JS,以便獲得更好的互動性,不像產品性應用,使用者在一天開始之時登入一次後,就一直處於登入狀態,內容豐富的網站每天需要登入很多次,經常都是透過搜尋引擎和社會媒體共享等途徑反覆登入。

在這個場景下,js應用看上去是"正常"的web網頁,載入延遲卻讓人感覺不是十分像Web,的確,這也是2012年Twitter從客戶端javascript遷移回伺服器端渲染內容的原因。

能夠在伺服器端啟動Javascript應用,然後在瀏覽器再“補充水分rehydrate”,這已經被認為是一個美好的事情,但是,大部分努力都是聚焦在伺服器端將View檢視層渲染成HTML(JSP等輸出為HTML),這是很重要的一步,但是不足以解決問題。

解決整個問題不只是包括檢視層,還包括整個應用從啟動開始的生命週期,路由 抓取模型 和渲染(整個MVC過程),現在透過FastBoot將這些複雜的過程整合進入了Ember.js。

FastBoot將允許你傳遞一個頁面的HTML和CSS,然後允許Javascript在完成這些載入後實現掌控,你的Ember應用行為將和伺服器端應用沒有差別,無論使用者來自搜尋引擎 移動使用者或CURL工具,甚至使用者失效了Javascript。

此外,你還可以擁有原來的好的響應性和互動性。

詳細見:Ember.js - Inside FastBoot: The Road to Server-Sid

相關文章