2011-05-01 18 views
2

我最近一直在研究java服務器端web框架,作爲新的B2C網站項目的渲染平臺。根據我的研究,我會大致劃分可用的解決方案分爲兩大陣營:搜索引擎優化友好的基於Java的RIA有沒有這樣的事情?

  1. 那些如JSF和Tapestry,其本質歸結編程HTML和servlet和
  2. 那些諸如檢票不同,Vaadin和回聲,無需使用HTML模板,並根據窗口,視圖組件和事件的層次結構提供類似於SWT胖客戶端的編程模型,並根據此層次結構輸出客戶端HTML。

第二組 - RIA框架的一個分支 - 在服務器端控制,開發人員生產力(例如簡單性,無需處理servlet重入問題等)方面提供了許多理想的功能,查看小部件,開箱即用的跨瀏覽器兼容性和酷視覺效果。

對於B2C而言,不太理想的是RIA框架提供單頁面接口。在一天結束時,他們不會自然地允許瀏覽器歷史記錄和書籤(它可以完成,但它是混亂和有限的,例如只對URL片段),並且可能最重要的是,他們對SEO是無動於衷的,這是一個一個以消費者爲中心的網站的展示者。

這將委託給框架的servlet和HTML控制。問題是,有兩種方法可以兼得,或者是太烏托邦?一個服務器端RIA類型的框架,帶來了IMHO帶來的所有好處,但是具有靈活和友好的用於書籤的URL以及SEO意識?

這樣的解決方案當然可能不是一個單一的框架,而是分層。順便說一下,框架itsnat似乎提供了上述許多內容,但由於它的實現方式,我會對服務器開銷(CPU和內存)有很多擔憂 - 雖然我確實認爲它是一種RIA框架不可避免地會比Servlet /模板編程方法更加重視服務器。

有人知道關於替代方法嗎?

+1

我很難理解這兩個羣體之間的分離。你是否試圖在*組件導向*和非組件導向*框架中打破它們?我認爲你的問題(不知何故)是哪個框架是RESTFul和基於組件的。 – Augusto 2011-05-01 10:22:17

+1

我的經驗主要是使用Wicket,我可以保證您不會提供單頁面界面,並且能夠生成非常類似REST的URL。你確定你已經正確表徵了其他框架嗎?你所描述的問題似乎更多地適用於GWT,這是一個客戶端框架。 – 2011-05-01 10:26:09

+0

用最一般的術語來說,是的。是否有框架(或框架組合)提供了基於組件和REST的模型的特徵。 – Geoff 2011-05-01 10:30:00

回答

1

JSF和Tapestry可以管理像開箱即用的URL。檢票口可以擴展支持他們。

對於檢票口this

掛毯支持URLRewriter。如果您想要更改網址並保持與舊網址的向後兼容性,這很有用。

+1

謝謝,很好的信息,但也許不是我正在尋找的答案。 RESTfulness並不是唯一的標準。根據我的理解,JSF和Tapestry不像Vaadin和Echo那樣是「基於組件的」(根據我的理解),並且根據我的分類,它是RIA從中遠離的servlet編程的變體。另一方面,Wicket是基於組件的,但在看API時比另外兩個稍弱,因此我不確定它是如何「RIA」的。 – Geoff 2011-05-01 11:05:02

+1

Geoff,我不知道該說什麼,因爲JSF(1&2)和Tapestry 5都是基於組件的。你能擴展你對*基於組件*的理解嗎? – Augusto 2011-05-01 13:09:47

+1

確實,奧古斯托。這完全是關於定義。所以基於組件的有一點「它取決於」它!根據我的理解,有兩種基本類型的框架:基於請求和基於組件的 - 例如如RIFE中所述:http://en.wikipedia.org/wiki/RIFE#Web_engine。在我使用的定義中,基於請求的方式意味着servlet,請求,控制器和操作,或者它們周圍的簡單包裝。這裏描述了JSF和Tapestry,並且是第一個組。基於組件的我意味着抽象的小部件和基於事件的處理。在其最先進的,我們得到RIA,第二組。 – Geoff 2011-05-01 14:08:13

0

看看這個複雜的ItsNat based example,單頁接口可以很容易搜索引擎優化,內存消耗可以很低,讀取「斷開與客戶端的子節點」,知道如何在服務器中節省內存。

相關問題