【问题标题】:Would you use Laszlo to develop a Flash-based front end to a Java web app?您会使用 Laszlo 为 Java Web 应用程序开发基于 Flash 的前端吗?
【发布时间】:2010-09-28 20:27:27
【问题描述】:

如果您有一个基于 Java 的 Web 应用程序(J2EE Web 应用程序 - 不关心正在使用哪些其他底层框架),并且您想引入一个基于 Flash 的前端,您会使用 Laszlo 还是更愿意公开一个 ReST-像 XML 接口并构建和部署使用它的 Flash 应用程序?

一方面,Laszlo 非常了不起 - 为 Flash 做 JSP 为 HTML 做的事情。它很容易使用。它非常适合 Web 应用程序的其余部分(基于 JSP)。

另一方面,开发一个与服务器分离的完整 Flash 应用程序并使用 XML-over-HTTP 机制将两者绑定可能会更好。如果需要,这将具有额外的优势,即能够为 AJAX 前端使用相同的 XML 接口。

你会做什么,为什么?

【问题讨论】:

    标签: java ajax flash jsp laszlo


    【解决方案1】:

    我会创建契约优先服务,单独部署它们,然后编写 RIA 客户端来访问它们。

    首先提出架构还有一个额外的好处,那就是在开发过程中将两者完全解耦。 RIA 开发人员可以在等待服务上线时创建一些合成 XML 流以用于数据。

    【讨论】:

      【解决方案2】:

      我过去可能考虑过 Laszlo,但今天,我会留在 Java 堆栈中并使用 JavaFX

      【讨论】:

      • JavaFX 似乎有点不成熟。如果不是 Laszlo,那么 Flash/Flex/AIR 似乎是正确的选择
      • 我同意大卫的观点,我认为 JavaFX 有很大的潜力。 +1
      【解决方案3】:

      Laszlo 是从未成功的产品,它周围没有足够大的开发者生态系统。

      我会在前端使用 Adob​​e Flex。使用标记语言进行 Flash 具有相同的好处,但它具有更大的开发人员基础和可供利用的开源项目。对于数据通信,请使用 REST,或者如果您想变得更聪明,请使用 BlazeDS。

      【讨论】:

      • BlazeDS 对我来说是新的。你知道它与 DWR 相比如何吗?
      • 我相信 BlazeDS 使用二进制格式 (AMF),在将数据从服务器推送到客户端方面比 HTTP 更好,尤其是像流视频这样的东西。
      • BlazeDS 可让您处理 Flash 使用的“本机”对象格式,因此如果您要发送复杂的内容,它可能更易于使用。但是,您将失去服务可被其他类型的客户端重用的好处。
      【解决方案4】:

      OpenLaszlo 是一个完整的 RIA 框架,所以我很确定您可以将它“编译”成一个完全独立的应用程序,通过 HTTP 与服务器通信。它与 Flex 非常相似。 Flex 的优势在于更大的社区、成熟的 IDE 和更多资源 (Adobe),而 OpenLaszlo 更具创新性,您可以从一个代码库部署到 Flash 或 AJAX。

      【讨论】:

      • 作为自 2006 年以来在 OpenLaszlo 中开发的程序员,我可以确认您可以将 OpenLaszlo 客户端应用程序编译为完全独立的应用程序(作为 Flash SWF 文件或 DHTML/HTML5 (HTML+JavaScript)并与任何可以接受 HTTP POST 并返回 XML 文本的语言的任何服务器端脚本进行通信。确实,Flex 拥有更大的社区和成熟的 IDE(OpenLaszlo 没有)。但是,由于 Flash 是从 iPad 和 Android 手机中删除我现在推荐 Java 或其他平台而不是 Flex 和 OpenLaszlo。
      【解决方案5】:

      我实际上已经花了一些时间来研究与您所建议的类似的实现。我有一个编译好的 Open Laszlo 前端嵌入到一个网页中,后端有一个 Django(一个 python MVC 库)REST 接口,没有 Open Laszlo 服务器。它工作得相当好,但有几件事需要注意。 Open Laszlo 仅支持对 GET 和 POST 的调用,因此您将无法在 REST API 中轻松使用 DELETE 和 PUT 方法。另一个是 Laszlo 周围缺乏社区(如其他地方所述)。在使用 Laszlo 时,我有时很难回答一些基本问题,尤其是围绕框架中的 XML HTTP API 和 XML 复制特性。我个人从来没有真正认真地看待过 Laszlo 后端服务器,因为我想要一个可以被其他客户端轻松使用的开放 API。

      话虽如此,但如果您愿意解决上述限制,该实施确实有效并且可以有效。此外,Open Laszlo 是免费的,如果您的预算有限,这将是一个非常大的优势。

      【讨论】:

      • 许多专业的 OpenLaszlo 开发人员最近决定开始使用堆栈溢出而不是 OpenLaszlo 官方论坛来提问和回答问题。它们被标记在 OpenLaszlo 标记下,当我们的一位成员有足够的代表添加标记时,LZX 也将很快添加为标记。 LZX 是您创建 OpenLaszlo 应用程序时使用的 XML+JavaScript 语言的名称。如果社区决定创建 OpenLaszlo 的分支,将来将使用 LZX 来描述平台。