2011-05-01 17 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,单页接口可以很容易搜索引擎优化,内存消耗可以很低,读取“断开与客户端的子节点”,知道如何在服务器中节省内存。

相关问题