在liferay上发展的良好实践

时间:2014-03-18 12:46:42

标签: liferay-6

我请你在Liferay上获取有关开发规则的信息:

  1. 在同一个项目liferay插件中为每个项目组合多个portlet,以便开发单个portlet?
    1. 在liferay门户网站中每页开发一个portlet或每页更多?
  2. 用于可视化层(HMI)(LiferayMVC,JSF,Vaadin)的最佳框架是什么?
  3. 提前谢谢。

1 个答案:

答案 0 :(得分:2)

  • 从问题1开始:当同一个liferay项目中有多个portlet时,它们将在同一个.war文件中导出。结果:

    1. 所有这些都将一起部署。如果它们之间有一个钩子项目,它将在每个门户网站
    2. 中进行部署并生效
    3. 在开发时,其中一个portlet的更改将导致重新部署该项目中的所有portlet。如果您的项目变得太大,这可能会成为一个巨大的开销。但除此之外,这个功能应该很方便。
    4. 如果使用“服务”构建器,则所有项目(除了挂钩)都可以访问您的服务

    5. 所有portlet将/可以共享相同的本地化密钥和实用程序功能

为了使它更简单,每次你必须决定是否在同一个项目中捆绑它们时,你应该回答这个问题:“在每个门户网站中将所有这些portlet一起部署在一起是一个好主意吗?”

  • 在liferay门户网站中每页开发一个portlet或每页更多?

不确定您是在讨论可实例化的portlet,还是可以在不同portlet中拆分的复杂表单。如果该页面中的所有表单都是为了相互交互,那么最好在同一个portlet中移动它们,因为portlet间通信是一个问题。

  • 现在,关于框架,对此没有明确的答案。每个框架都有它的好处和粉丝群。我发现LiferayMVC对于非常简单的portlet很方便(一些页面,简单的控件,开箱即用,以及少量的操作)。对于其他所有情况,我建议使用JSF,原因如下:

    1. 适用于具有复杂后端或大量页面的大型项目。
    2. 对于要求过高,过于自定义或太过于ajax / javascript的表单更好。与JSP库相比,像primefaces这样的JSF标记库功能强大,完整,文档齐全,并且具有更好的社区支持
    3. 很多次,我发现写一个干净的jsp页面是不可能的,没有巨大的java和javascript代码块,与html混在一起。 jsf / xhtml页面可以更清晰。
    4. 也许只是我,但我发现自己在使用JSF时编写了更好,更优雅的代码。我也发现重构和设计我的架构更容易。