Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用gwt的插件解决方案_Gwt_Plugins - Fatal编程技术网

使用gwt的插件解决方案

使用gwt的插件解决方案,gwt,plugins,Gwt,Plugins,我们有一个封闭源代码的gwt应用程序/框架,我们将其分发给不同的部分,然后将其安装在各自的服务器上 现在,我们希望允许第三方开发人员为我们的应用程序编写插件,然后我们的合作伙伴可以安装插件 做到这一点的最佳方法是什么,甚至不分发java代码也可能吗 例如,我们的应用程序确实有一个名为SpecialMagicPageInterface的接口。然后,第三方开发人员可以开发一个实现该接口的页面,我们的软件应该能够在运行时创建这种类型的对象,并对其调用方法 如果第三方只拥有我们的界面,而不是整个应用程序

我们有一个封闭源代码的gwt应用程序/框架,我们将其分发给不同的部分,然后将其安装在各自的服务器上

现在,我们希望允许第三方开发人员为我们的应用程序编写插件,然后我们的合作伙伴可以安装插件

做到这一点的最佳方法是什么,甚至不分发java代码也可能吗

例如,我们的应用程序确实有一个名为SpecialMagicPageInterface的接口。然后,第三方开发人员可以开发一个实现该接口的页面,我们的软件应该能够在运行时创建这种类型的对象,并对其调用方法


如果第三方只拥有我们的界面,而不是整个应用程序,这是否可能?如果是,如何做到这一点?

以这种方式设计您的应用程序框架:

编写接口,如MagicInterface1、MagicInterface2等,并在同一个JAR中使用源文件和类文件进行JAR。您可以分发这个JAR,因为它只包含接口。 在另一个项目/JAR中编写应用程序,不要分发这个JAR,从这个JAR构建编译的、缩小的、模糊的javascript。-显然,这个JAR将依赖于前面包含所有接口的JAR。 现在,将生成的javascript和第一个JAR连同接口打包到一个zip中,并提供给插件开发人员。 他们可以编译他们的GWT项目——他们的插件代码将取决于您的接口JAR,他们的插件项目也将最终成为一个javascript文件。 在最后一个应用程序中,确保首先引用框架脚本文件,然后依次引用所有插件脚本文件。 结果:

插件开发人员只看到框架的缩小JS,但他们可以创建插件。 框架项目和各种插件项目各有一个JS文件。 所有的JS文件都以正确的顺序在最终的应用程序中引用 框架中的代码是以这样一种方式编写的,即它可以查找并实例化加载文档后存在的所有插件。
很抱歉耽搁了,但我因为另一个紧急问题而被解雇了。但你确定这个解决方案会奏效吗。根据我想要的,我真的做不到。但我将在两周内再次花时间研究gwt,然后我将尝试实现您描述的内容。