Web applications 使用OSGi和GWT的Web应用程序

Web applications 使用OSGi和GWT的Web应用程序,web-applications,gwt,osgi,Web Applications,Gwt,Osgi,对于使用OSGI和GWT作为UI的Web应用程序来说,哪种体系结构比较好 目的是使用bundle来创建web界面部分的bundle。如果我添加新捆绑包,它将在用户界面上添加新功能(例如菜单),这些功能与现有功能配合。请参阅GWT邮件列表上的类似讨论- 概括而言— GWT的体系结构与您在运行时加载多个模块的需求是正交的。在GWT中有实现动态模块的方法,但它永远不会是最优的 通常,您会为每个模块定义一个javascript接口,然后使用从GWT导出这些方法。然后独立编译每个模块。然后,这些模块将在运

对于使用OSGI和GWT作为UI的Web应用程序来说,哪种体系结构比较好


目的是使用bundle来创建web界面部分的bundle。如果我添加新捆绑包,它将在用户界面上添加新功能(例如菜单),这些功能与现有功能配合。

请参阅GWT邮件列表上的类似讨论-

概括而言— GWT的体系结构与您在运行时加载多个模块的需求是正交的。在GWT中有实现动态模块的方法,但它永远不会是最优的

通常,您会为每个模块定义一个javascript接口,然后使用从GWT导出这些方法。然后独立编译每个模块。然后,这些模块将在运行时使用您导出的javascript方法进行交互


你付出的代价就是表现。每个模块都将复制通用框架代码(GWT+您自己的框架代码),您无法避免它。

这是一个有趣的想法。我想看看是否可以这样做,因为您必须运行GWT编译器才能将其转换为JS/HTML格式。每次添加/删除模块时,您都必须运行编译器吗?我不会每次添加模块时都运行编译器。那么您将如何提供页面?我的印象是,你需要运行编译器,让它吐出HTML/JS,所以只要你的代码库发生变化,你就会再次运行它。我没有一个GWT模块,但有许多模块可以交互。想象一下有一个带菜单的基本应用程序。默认实现不执行任何操作。如果我安装了一个新的捆绑包,其中包括一个具有应用程序新功能(如客户管理)的GWT模块,该模块将在菜单中自动显示,单击相应的菜单项将打开一个窗口,其中包含捆绑包中定义的接口。