【问题标题】:Errai experience: user interface, communication, dependency injectionErrai 经验:用户界面、通信、依赖注入
【发布时间】:2014-08-05 09:33:57
【问题描述】:

我在 GWT、GIN 和 GWTP-dispatch 方面拥有丰富的经验,由于我对 Errai 没有任何经验,所以我想问你,构建整个 单页富网络是否真的是一个不错的选择以 Errai 为基础的应用程序。 如果您对 Errai 有丰富的经验,很高兴收到您的来信。

我正在构建一个视频流网络应用。假设这是另一个 YouTube(布局、动作、流程等),但使用了类固醇(不相关)。

我已阅读 Errai 的全部文档,以下是我的疑虑/问题。

  1. Errai JAX-RS - 我对任何复杂的消息传递都不感兴趣 Errai 以服务器->客户端、客户端->客户端、广播、对话等而闻名。我想要通过 RS 进行简单的 AJAX 调用。明显关注的是通信性能,没有冗余调用,只是单个 HTTP 请求和响应?
    此处提到的限制 (How do you integrate GWT with a JAX-RS/RESTEasy server using Errai?) 怎么样:这些东西是最新的吗?我必须在考虑 Errai 限制的情况下实现 REST 服务?

  2. Errai IoC/CDI - GIN 对我来说似乎更成熟,肯定更受欢迎(具有所有优点)。但看起来它们可以完美共存,还是我宁愿选择其中之一?很高兴有许多 Errai bean(如 Caller)注入一个注解。就我的理解而言,我不需要 CDI。如果我在我的项目中使用 Errai IOC,我可以通过 CDI 获得哪些附加功能?我是否必须将它放在我的类路径中,以便所有内容都由 ioc 容器实例化?
    我是否理解正确:IoC 支持简单的布线,而 CDI 是我可以实际配置和实例化将被注入的 bean 的地方?例如@Produces 在 CDI 中,而不是在 IOC 中。在纯 DI 的背景下,您能解释一下 Errai IOC 和 CDI 之间的区别吗?我知道一个是另一个的超集,但我还是不太明白。

  3. Errai 数据绑定:非常棒的功能,但它扭曲了 MVP 模式。目前我用基本的 MVP 编写了我的应用程序(没有 mvp 框架,模型和视图之间没有交互)。我可以从演示者而不是视图管理@Model 上的数据绑定吗(这将使用带有 Errai UI 的 HTML 模板)?

  4. Errai UI:在数据绑定和使用模板连接 View 类的上下文中,GWT 的现有小部件(如 CellTable)怎么样?
    一般来说,在使用 Errai 编写更复杂的小部件(例如带有寻呼机的图片库)时,您使用什么方法?您是否使用现有的 GWT 小部件(如 CellTable) - 单个重型小部件 - 或者更确切地说在 html 模板中布局所有内容,并将某些 div 连接到 View 类中的相应数据字段 - 更轻量级的小部件?我遇到了 Errai UI 的一位作者的这种观点:
    Errai UI 的好处是你只需将这个模板文件转储到你的项目中,然后你说“好的,这个模板属于这个组件”或“这块模板属于这个其他组件”。您可以将这些东西连接在一起,您的模板就会在您面前栩栩如生 - 就在浏览器中。
    因此,假设我有整个图片库的 html 布局。显然,我不想用 CellTable 重新创建它,而是利用那个布局,所以我必须能够: 将整个图像库创建为一个 Composite,它本身必须连接到布局中的最外层元素,并将每个数据字段连接到我的 Composite 类中的相应属性。这可能吗?

服务器应该与 GWT/Errai 无关: 在服务器端,我希望尽可能少地使用 Errai(因为我不想要我所说的任何花哨的通信功能)并在 Jetty 或 Tomcat 上使用 Spring 维护应用程序。

以添加新技术为基础,即在其上构建整个应用程序,总是存在不够灵活的风险,这意味着需要一些技巧来克服不可预见的障碍或在某些可怕的情况下整个技术将不得不放弃。

最后一个简单的问题:erai 的在线 javadoc 在哪里?

【问题讨论】:

  • 也许你可以在Errai user forum得到一个正确的答案。
  • @piotrb86 目前面临同样的问题。您是否找到任何可以回答您的问题的资源?
  • 您使用了什么技术?

标签: gwt inversion-of-control jax-rs cdi errai


【解决方案1】:

简短的回答,使用 GWT 构建大大简化,使用 Errai 构建。

基于 HTML 的模板允许您使用标准 Web 技术构建 Web 应用程序,而无需处理 UiBinder 或域特定语言,页面驱动方法允许您逐页处理应用程序域问题,这更对于任何 Web 应用程序来说都很自然,毕竟我们是逐页浏览网页的。

您会喜欢 JBoss Errai 框架的更多功能。

我希望这能回答您长期隐藏的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    相关资源
    最近更新 更多