繁体   English   中英

关于Liferay的Portlet开发方法的建议

[英]Suggestions on Portlet Development Approach on Liferay

我们正处于评估portlet开发的一些框架的阶段。 截至目前,我知道以下3个选项。 我想知道你和他人的经历

  1. Struts 2
  2. Spring Portlet MVC
  3. Liferay 6.x MVC框架

请尝试在以下方面分享优点/缺点以及您认为重要的内容

  • 发展速度
  • 保养
  • Geo Distributed团队易于开发

请建议任何其他框架,可以作为替代方案使用一些优点/缺点

从我的角度来看,使用没有Spring-mvc或Struts的MVCPortlet和JSP仅适用于简单的portlet。 我肯定会尝试至少一个示例portlet,看看如果开发人员没有完成portlet它是如何工作的。

使用Struts的唯一优势是Portal本身大量使用它,因为spring-portlet-mvc相对较新。 这样你就可以从各种例子中学到很多东西。 否则技术就会消失( 关于portlet开发 ),如果你还没有使用Struts,那么更好的选择就是使用spring-portlet。 我已经使用spring-portlet超过一年了,我必须说我很惊讶它是如何集成到portlet容器中以及在那里实现了哪些功能。 你可以像spring-mvc(servlet规范)那样做几乎所有事情,除了我发现冗余的一些小支持。

开发速度是一个了解spring-mvc的体验开发人员,只需少量弹簧控制器即可创建强大的应用程序。

维护源代码的数量明显少于弹簧然后支撑。 Spring-portlet实现了268 JSR,因此它可以节省几个变通方法。

Geo Distributed团队的易于开发我觉得你需要更大的东西,所以请开发人员询问他们使用Spring和Struts的经验并做出选择。 无论如何,Liferay是一个非常强大的门户解决方案,并且“学习”它并找到正确使用它的方法比如何开发portlet更重要。

也对开发人员对Javascript的了解感兴趣。 如果他们不了解JS或者你没有前端开发人员,我可能会给Vaadin或GWT portlet一个机会。 然而,Liferay有一个非常好的客户端支持,你会发现在Liferay中可以在客户端完成很多事情。 JSP标记库提供了大量的动态行为,构建在YUI之上的Alloy JS框架为您提供了一个很好的环境,并且不难使用。

编辑:Struts与Spring的比较是关于portlet规范,其中(我的意见)struts支持是旧的大众汽车和春天是宾利大陆GT :-)

另外:Liferay portlet开发的关键工具是所谓的ServiceBuilder,它是一个代码生成器,它生成持久层的重要部分,基于域模型和元数据的远程服务层。 如果您选择使用它,您的portlet将自动基于Spring。 我建议使用它,因为一旦你尝试它,你就不会放过它。 例如,从客户端到远程服务创建Ajax调用是一个2分钟的设置问题,并且能够调用它们甚至获得返回值。 Hibernate设置已完全优化,可在运行servicebuilder后立即使用。 还有更多。

它真的取决于你的要求,因为liferay MVCPortlet只是javax.portlet.GenericPortlet的简单子类,我不认为它是Web框架(如Strut 2或Spring MVC)之间的公平比较。

我建议使用Spring MVC或Struts 2 for 168&268 JSR portlet如果你想要交叉portlet-container可移植性,或者你有更复杂的表示要求,你应该找到两个框架的优缺点列表。

如果您的要求非常简单,那么请使用liferay MVCPortlet甚至是JSPPortlet。

我用过2)和3)但不是1) - 我不是Struts的粉丝。

Spring MVC为您提供Spring的强大功能,并将其无缝插入Spring后端,并允许连接到Liferay Spring服务。 如果您正确使用MVC并将Controller关注点分离到单独的Action类中,那么这是一个极其可扩展且灵活的选择,并且在与Liferay结合使用时效果很好。

Liferay的MVCPortlet在灵活性方面提供的更少,但如果使用得当,它仍然具有高度可扩展性和非常有用的选择。 它还与Liferay IDE / Liferay Development Studio相关联,可在开发过程中提供优势。 如果您可以访问Liferay Developer培训,那么第2天就会有广泛的报道。

总体而言,Spring有更大的好处,但也有更大的学习曲线和更大的错误做事风险,并且在做得不好时会更加困难。 Liferay的MVCPortlets做得很糟糕,最终看起来像香草portlet,因此是较小的邪恶。 我个人使用MVCPortlets来执行小任务,而将Spring MVC用于较大的任务。

在这两种情况下,“ 做得好 ”涉及正确使用框架和注释。

Liferay还支持Vaardin并使用它发布了新的Mail Portlet。 我没有使用过Vaardin,但肯定会对它进行计划,并且到目前为止已经听过很多好事。

从易于开发的角度来看,我认为Vaadin是最好的之一。 新的Liferay IDE 1.2已经包含了Vaadin支持,因此很容易入手。

应用程序维护和API也是如此。 使用Vaadin,应用程序代码只是Java代码,可以轻松划分工作,并维护现有代码(OOP优势)。

已经为Vaadin提供了大量的“附加组件”,它们演示了如何将Java代码“组件化”并在整个组织中进行开发。

唯一的缺点是Vaadin库与门户中的所有Vaadin-portlet共享这一事实,这意味着他们应该使用相同的Vaadin版本来保持部署更容易。

无论如何,我会说你的需求非常匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM