0

我正在 GWT 中制作应用程序。它就像一个仪表板,并且没有小部件。

现在,当我们发布它时,有一个用例,客户可能希望创建自己的 GWT 小部件并在仪表板应用程序中使用它。

据我了解,他们将无法做到这一点,因为一旦他们的小部件/模块的标签进入我的应用程序的 gwt.xml 文件,我们就无法发送再次编译整个应用程序所需的源代码。

我不能使用 GWT 以外的任何东西来制作这个仪表板。他们的小部件可以说是一个 flash heapmap、一个 jquery 小部件/插件、另一个 GWT 模块、一个从后端呈现可视化的 jsp 页面。

到目前为止,我的想法是在我的应用程序中提供一个小部件,它是一个 iframe 形式的包装器并调用他们的主页(他们将提供 url),并有一个 api 让我的应用程序和他们的小部件交谈。

但我想知道是否有其他/更好的方法?

4

2 回答 2

0

这正是 google 的OpenSocial小部件解决的问题。有一些开源实现:http ://shindig.apache.org/就是其中之一。您可以考虑将其集成到您的应用程序中。一个额外的好处是您可以显示来自其他应用程序(例如atlassian jira)的小部件,这些应用程序也提供 opensocial 小部件。

于 2011-02-17T22:17:38.123 回答
0

根据您的应用程序的源代码封闭程度(可以将自定义 JS/HTML 添加到页面中吗?),您始终可以为某些自定义仪表板小部件提供本机 Javascript (JSNI) API。我想到的最简单的解决方案是 JSNI 方法,您的客户可以调用该方法来设置所述小部件的 HTML 内容。这种方法将允许他们使用各种选项,例如 JQuery 小部件、他们自己的 GWT 小部件生成的 HTML,甚至是指向他们的 JSP 页面的 IFrame 等......然后您可以提供额外的 JSNI API 方法,允许他们与您的应用程序/小部件也可以通过其他方式进行。这将比 IFrame 方法更好,因为您不必处理跨域脚本安全问题。

于 2011-02-19T06:35:00.407 回答