免责声明:我现在为Liferay工作;但是,早在我开始在这里工作之前,我就回答了这个问题。此外,Liferay在这些年里也有所转变。尽管如此,我相信答案的核心仍然适用。
我的公司我工作的公司是Liferay Inc.的合伙人,所以我在这方面有很多经验。另外,也许你想把我的意见当作一粒盐:)
我们使用了各种Java门户工具,事实是:作为企业门户,Liferay是市场上最好的AFAIK门户。它功能丰富,bug很少,代码写得很好,社区非常有用,而且灵活且可定制,适用于各种必需品。
尽管如此,Liferay是一个门户工具,因此它作为一个以内容为中心的平台表现出色。如果您管理大量内容(例如新闻,文章,博客,wiki和论坛),那么我很乐意推荐Liferay作为您的平台。在其他情况下,我建议进行更好的考虑。例如,您可以使用类似ERP的东西。
无论如何,我已经看到Liferay在各个地方被用作通用开发平台,结果是合理的。使用Liferay时,人们可以显著提高生产力。您无需考虑用户,权限,内容管理...Liferay甚至可以处理复杂的低级问题,如聚类和分片。Liferay Service Builder是我见过的最好的Java脚手架工具之一。当我想到它时,我觉得Liferay,以及各种开箱即用的应用程序和它的Service Builder,就像一个Ruby on Rails/Django for Java。
OTOH,Liferay是巨大的,它可能是一个问题。您可能会遇到很多未使用的东西,使您的平台变得混乱。你将不得不学习一个庞大的应用程序,这将需要你花费大量的时间和精力。不幸的是,Liferay的文档很差,让事情变得更糟。(我会说Liferay的文档自从我最初发布这个答案以来有了很大的改进。由于Liferay确实解决了各种各样的问题,因此它的代码库很大。这种复杂性在许多(如果不是大多数)应用中都是可有可无的。
此外,如果您的应用程序不使用大量内容,Liferay可以提供各种有用的工具,但它不会是使用Liferay的自然环境。您也会被锁定在Liferay平台中,这可能会限制您的选择。你可能想分析Liferay工具,但我不知道它是否是一个好的平台。
总而言之,我会说:
- 如果你想使用一个基于Java的门户,或者构建一个广泛而复杂的门户,我建议Liferay没有限制;
- 如果你想创建一个管理大量内容的应用程序,Liferay是一个很好的平台,我认为它可能是最好的选择;
- 如果您的应用程序很大但不以内容为中心,我不会推荐Liferay,但它可能很有用;
- 如果您的应用程序无法管理大量内容并且可能很小,Liferay可能会增加比其价值更多的复杂性。