Adobe Flex vs openlaszlo

问题描述 投票:6回答:3

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

有没有人有过使用这两者的经验,或者甚至只是openlaszlo?是否支持dhtml和更老的flash版本真的那么大的优势与flash 9的流行这些天?可能这只是因为许多开发人员已经习惯了javascript / ajax?除了语言偏好,为什么openlaszlo而不是flex?

谢谢你的任何提示!瑞安

flex actionscript-3 ria openlaszlo
3个回答
5
投票

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

OpenLaszlo最强大的功能是LZX语言。该语言支持类,任何数字属性的动画,使用attribute =“$ {}”语法的约束,mixin支持,具有datapath(基于xPath语法)映射的数据集。 LZX语言的一些关键开发人员以前一直在使用Apple的Dylan语言,而Dylan的许多强大概念已经使它成为LZX语言。

我已经完成了OpenLaszlo和Flex开发。 Flex拥有各种IDE供应商提供的出色工具支持。但是ActionScript 3语言可能非常有限,因为在Java中你花了很多时间考虑你的类模型。 OpenLaszlo强调基于实例的开发(原型开发速度非常快,而仍然可以使用100k + LZX代码行构建非常复杂的应用程序)。我所知道的最大的OpenLaszlo应用程序是Laszlo Webtop(120K + 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(主干,未发布)。

在Adobe宣布将Flex SDK贡献给Apache Foundation(现在是Apache Foundation Incubator项目)之后,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代码。


3
投票

我认为你的“很多大型项目”的用语非常相关。是的,一些大公司已经使用过它,但我不认为其中任何一个大型项目。如果您在OpenLaszlo展示中查看所有这些内容,它们对我来说似乎相当简单。另请注意,OpenLazslo编译Flash,而不是Flex和相关框架。

对我来说,OpenLaszlo是一种创建简单RIA的替代方法,可以将最终代码编译为Flash或Javascript。 Haxe是另一种选择,我认为它比OpenLaszlo做得更好。

话虽如此,这些“通用”一次编写有问题,编译到Flash / Javascript框架;它没有利用每个特定平台的任何功能/优势。 Flash不断变化,Javascript增加了html5标签和css3。如果你曾经有过这两方面的经验,你会发现他们在做事方面的方式非常不同,算法可能适用于Flash,可能不适用于Javascript。

我的观点是,如果你要选择一种技术,那就选择一种更合适的技术。如果您的项目需要同时拥有Javascript和Flash,那么这可能是一个不错的选择,但请记住,您将失去每个项目的“权力”。例如,Flex具有非常好的皮肤架构和一组对企业开发至关重要的工具。 Javascript可以用选择器,css3和一些其他框架(如jQuery)做一些非常简洁的东西。

根据我的经验,像OpenLaszlo这样的后期编译器消除了这些优势。另外,如果有新的东西出现(例如硬件加速视频/ 3d for javascript / flash),你必须等待OpenLazslo的用户更新才能使用它(如果他们使用它)。


0
投票

我开始使用OpenLaszlo开发RIA,因为它提供了跨浏览器运行的任何类型的框架。随之提供的用户体验也非常好。

我转移到Flex(当它处于Beta版时)因为:

  1. Flex中提供了OpenLaszlo的所有功能。
  2. Flex具有额外的优势,因为它是来自领先的数字媒体内容创建公司Macromedia的支持商业产品,后来被Adobe收购。
  3. 基于Eclipse构建的Flash Builder(a.k.a Flex Builder)提供了良好的开发效率提升。 (因此花费一次许可证费用根本不是问题)
  4. 最重要的是Flex具有更好的服务器端集成/远程处理能力。
  5. Flex有很多教程和示例代码,所以增加一个新的开发人员非常容易。

现在Flex也是Apache Software Foundation下的社区驱动的开源项目OpenLaszlo现在提供了一个额外的功能而不是Flex(直到FalconJS交叉编译器发布),它可以运行具有单个代码库的Flash和Ajax运行时环境。

但是,Flex还有一个额外的优势,即拥有非常好的开发环境(与其他Adobe设计工具集成)和良好的服务器端集成功能,因此对于企业应用程序而言,Flex是一个明显的赢家。

© www.soinside.com 2019 - 2024. All rights reserved.