apache-flex - Adobe Flex 与 openlaszlo

标签 apache-flex actionscript-3 ria openlaszlo

我目前正在 Flex 中从事 RIA 项目,但最近遇到 openlaszlo 。似乎很多大型项目都选择了它而不是 Flex,例如流媒体音乐服务 Pandora。我很感兴趣为什么。到目前为止,我看到的最大优点是它有一个支持 flash 6,7,8,9 和 dhtml 的抽象层,并且已经开发了更长的时间(因此可能更稳定)。

有没有人有使用两者的经验,或者只是使用 openlaszlo 的经验?随着如今 Flash 9 的流行,对 dhtml 和旧版 Flash 版本的支持真的有这么大的优势吗?这可能只是因为许多开发人员已经熟悉了 javascript/ajax?除了语言偏好之外,为什么是 openlaszlo 而不是 flex?

感谢您的任何提示! 瑞安

最佳答案

当像 Pandora 这样的公司选择 OpenLaszlo 时,Flex 仍然是一个商业产品(甚至是编译器)。 Flex 1.0 和 1.5 版本不是很稳定,直到 Flex 2.0 版本发布后,平台才变得更加稳定。 Macromedia 让很多开发人员感到不安,因为 Flex 2.0 与 1.5 不兼容,所有应用程序都必须为新版本重写。在这种情况下,不少公司认为 OpenLaszlo 是一个不错的选择。

OpenLaszlo 最强大的功能是 LZX 语言。该语言支持类、任何数字属性的动画、使用 attribute="${}"语法的约束、mixin 支持、具有数据路径(基于 xPath 语法)映射的数据集。 LZX 语言的一些关键开发人员之前一直在研究 Apple 的 Dylan 语言,Dylan 的很多强大概念都融入到了 LZX 语言中。

我完成了 OpenLaszlo 和 Flex 开发。 Flex 拥有来自各个 IDE 供应商的出色工具支持。但 ActionScript 3 语言可能非常有限,因为在 Java 中您需要花费大量时间思考类模型。 OpenLaszlo 强调基于实例的开发(原型(prototype)制作速度非常快,同时仍然可以使用 10 万多行 LZX 代码构建非常复杂的应用程序)。我所知道的最大的 OpenLaszlo 应用程序是 Laszlo Webtop(12 万多行 LZX 代码)和 IBM Websphere Commerce Edition (http://ibm.co/Kid5tc)。我听说其他公司已经使用 OpenLaszlo 创建了同样大型的应用程序。

自版本 4.2 起,OpenLaszlo 集成了 Flex SDK。 OpenLaszlo 编译器将 LZX 代码生成为 JavaScript 2,然后生成 ActionScript 3 代码。如果您将应用程序编译为 DHTML 和 SWF10+,即使您的应用程序仅针对 DHTML/HTML5 运行时进行部署,您也可以从 Flex 编译器更好的类型检查中获益。

OpenLaszlo 非常稳定。最后一个主要版本 (4.0) 是在 2007 年 3 月,尽管 OpenLaszlo 团队认为 4.2 版本相当于主要版本升级,因为它向平台添加了 ActionScript 3 和 SWF9 支持。 4.2 于 2008 年 12 月发布,当前的稳定版本是 4.9 版本 - 尽管许多社区成员和 Laszlo 已经在生产中使用 OpenLaszlo 5.0(主干,未发布)。

在 Adob​​e 宣布向 Apache 基金会(现为 Apache 基金会孵化器项目)贡献 Flex SDK 后,Adobe 宣布他们一直在为下一代 Flex 编译器开发名为“FalconJS”的交叉编译功能。 Adobe 还表示,FalconJS(可能会在 2012 年第四季度贡献给 Apache Flex)将无法将现有的 Flex 应用程序交叉编译为 JavaScript。 FalconJS 的一个简单列表示例(如 2011 年 12 月演示)生成了 5 MB 未压缩的 JavaScript 代码,使用 Google Closure 编译器的高级模式可以将其缩减为 2.5 MB。 DHTML 运行时中的类似 OpenLaszlo 示例编译为不到 750k 的 JavaScript 代码。

关于apache-flex - Adobe Flex 与 openlaszlo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560936/

相关文章:

asp.net - RIA + LINQ to SQL 与 RIA + Entity Framework

java - Vaadin、Gwt、gwt + 服务器端的东西,还有其他东西吗?

actionscript-3 - Adobe Air Socket servlet的共享托管服务提供商?

actionscript-3 - 如何访问 ActionScript 中的顶级包?

actionscript-3 - 使用 。或 [ ] 访问对象属性 - 有什么区别?

actionscript-3 - ActionScript 3中无类型变量的基本原理是什么?

actionscript-3 - Adobe Flash Player 设置不可点击

android - 使用 Flex 4.5 定位多个分辨率

apache-flex - 合并 2 数组集合 - Flex 3

web-services - 使用 Silverlight 上传照片 - Ria 服务