2013-02-28 51 views
-1

我正在評估rAppid.js框架作爲新項目的候選人。該項目將成爲主要針對移動設備的Web應用程序(我將使用Web視圖將其作爲可提交給Apple和Android App Store的應用程序進行打包)。我意識到這不是rAppid.js的主要用例,但我認爲它可能有效,至少在我的情況下,這要歸功於rAppid.js的基於XML的UI語言。rAppid.js移動應用程序 - 服務器端渲染是否實用?

莫非我,在理論上,使用新的rAppid.js服務器有渲染模板和發送HTML呈現到客戶端?

考慮到我想要的頁面,以儘可能快地加載,應用程序並不需要脫機工作,我更願意呈現在服務器端的模板,並將其發送到客戶端爲普通的HTML。顯然,在這種情況下,框架只能爲我提供單向數據綁定(除非我重寫了rAppid.js代碼來支持與Derby框架類似的服務器呈現模型),但我認爲應用程序的性能改進可能是值得。

也許我過於悲觀,在移動設備上rAppidJS的客戶端的渲染速度,但在任何情況下,我會很想聽到這個意見。

回答

1

我理論上可以使用新的rAppid.js服務器在那裏呈現模板並將呈現的HTML發送到客戶端?

是,與節點渲染功能。但請記住,節點渲染是爲了SEO原因而開發的。 由於此背景,應用程序的唯一狀態是url。這可以適合你的應用程序概念(例如/ user/{userid}/news)來呈現用戶的新聞,但呈現的網站將完全是靜態的。

所以,如果你對用戶輸入,客戶端驗證中繼,你應該使用rAppid:JS的方式,它的設計,並在客戶端呈現完整的應用程序。

考慮到我想要的頁面,以儘可能快地加載,應用程序並不需要脫機工作,我更願意呈現在服務器端的模板,並將其發送到客戶端爲純HTML。很明顯,在這種情況下,框架只能爲我提供單向數據綁定(除非我重新編寫了rAppid.js代碼來支持類似於Derby框架的服務器渲染模型),但我認爲應用程序的性能改進可能是值得。

我從RIA的經驗是,有一個初步的加載階段(顯示裝載機Flex應用程序,iOS原生應用程序顯示一個圖像,直到應用程序已準備就緒)和應用程序的工作原理快速無需額外的加載時間。 如果您將應用程序分爲多個模塊(rAppid.js支持這一點),並且在需要啓動的時候加載模塊,應用程序應該加載非常快。如果您將應用程序封裝在Web視圖中,則JS性能比在移動瀏覽器中運行它稍好。

您也可以嘗試的服務器和客戶端繪製的組合,但沒有MIXIM起來。因此,在服務器上呈現頁面並在應用程序的加載階段顯示靜態html。只要應用程序完全加載切換視圖。

也許我對rAppidJS客戶端在移動設備上的渲染速度過於悲觀,但無論如何我都會好奇聽到有關這方面的意見。

在我們的最新項目中,我們還添加了一個預加載器,並將項目分爲模塊。 與Flash版本相比,我們也將其縮小了10倍,並且在桌面系統中加載速度更快。在移動設備上,由於Flash插件而無法加載,所以我無法比較它。

如果您想要在移動設備上獲得出色的性能,請將應用程序拆分爲多個模塊並僅在需要時加載它們。

rAppid:js支持基於路由的模塊加載,因此也可以使用預先選擇的模塊啓動應用程序。

+0

謝謝您的詳細解答;這絕對改變了我的觀點。在頁面呈現期間顯示靜態HTML的想法非常聰明!這可以通過服務器端的節點渲染功能來完成,對吧?關於網頁瀏覽與移動瀏覽器...網頁瀏覽會更快,因爲Javascript已經在電話上,而不需要下載,或出於其他原因? – 2013-03-01 20:04:01

相關問題