我目前在flex中从事一个RIA项目,但最近遇到了openlaszlo。似乎很多大型项目都选择了它,而不是flex,比如流媒体音乐服务Pandora。我感兴趣的是为什么。到目前为止,我看到的最大的优势是它有一个抽象层,支持flash 6,7,8,9和dhtml,并且已经开发了更长的时间(所以可能更稳定)。
有没有经验丰富的人同时使用这两种工具,或者只使用openlaszlo?随着flash 9的流行,对dhtml和更老的flash版本的支持真的有那么大的优势吗?这是否仅仅是因为许多开发人员已经习惯使用javascript/ajax?除了语言偏好,为什么是openlaszlo而不是flex?
谢谢你的建议!瑞安
发布于 2012-04-28 20:41:33
当像潘多拉这样的公司选择OpenLaszlo时,Flex还只是一个商业产品(甚至是编译器)。Flex版本1.0和1.5并不是很稳定,只有随着Flex 2.0的发布,平台才变得更加稳定。由于Flex2.0与1.5不兼容,所有应用程序都必须为新版本重写,因此Macromedia让许多开发人员感到不安。在这种情况下,相当多的公司认为OpenLaszlo是一个不错的选择。
OpenLaszlo最强大的特性是LZX语言。该语言支持类、任何数字属性的动画、使用attribute="${}“语法的约束、混合支持、具有数据路径(基于xPath语法)映射的数据集。LZX语言的一些关键开发人员以前曾致力于苹果的Dylan语言,许多强大的Dylan概念已经进入LZX语言。
我做过OpenLaszlo和Flex的开发。Flex有很多IDE供应商提供的优秀的工具支持。但是Java3语言可能非常有限,因为在ActionScript中,您需要花费大量时间来考虑您的类模型。OpenLaszlo强调基于实例的开发(对于原型来说非常快,同时仍然可以使用100k+行的LZX代码构建非常复杂的应用程序)。我所知道的最大的OpenLaszlo应用程序是Laszlo Webtop ( LZX代码的120K+行)和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孵化器项目)之后,Adobe宣布他们一直在为下一代Flex编译器开发名为"FalconJS“的交叉编译功能。Adobe还表示,FalconJS (可能会在Q4 2012中贡献给Apache Flex )将无法将现有的Flex应用交叉编译成JavaScript。一个生成5MB未压缩JavaScript代码的简单列表示例(如2011年12月演示的),可以使用Google Closure编译器的高级模式将其简化为2.5MB。DHTML运行时中的一个类似的OpenLaszlo示例编译为不到750k的JavaScript代码。
发布于 2011-07-05 22:21:11
我认为你所说的‘许多大型项目’是非常相对的。是的,一些大公司使用过它,但我不认为它们中的任何一个都是大型项目。如果您查看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这样的post编译器消除了这些优势。此外,如果出现了新的东西(比如javascript/flash的硬件加速视频/3d),你必须等待OpenLazslo的人员更新后才能使用它(如果他们使用它的话)。
发布于 2012-07-27 02:40:04
我开始使用OpenLaszlo开发RIA,因为它提供了一种跨浏览器、随处运行的框架。它带来的用户体验也非常好。
我迁移到Flex (当时它还处于Beta版)是因为:
的Eclipse (也称为Flex )提供了良好的开发效率改进。(所以在上面花一次许可费根本不是问题) Flex
现在Flex也是Apache Software Foundation下的社区驱动的开源项目,OpenLaszlo现在提供了一个额外的特性(直到FalconJS交叉编译器发布之前),它可以使用单个代码库运行Flash和Ajax运行时环境。
但Flex还有一个额外的优势,那就是拥有非常好的开发环境(与其他Adobe designer工具集成)和良好的服务器端集成能力,因此对于企业应用程序,Flex显然是赢家。
https://stackoverflow.com/questions/6560936
复制相似问题