Adobe Flex vs openlaszlo
Asked Answered
P

3

6

I am currently working on a RIA project in flex, but have recently come across openlaszlo. It seems a lot of large projects have chosen it over flex, such as the streaming music service Pandora. I'm interested in why. So far the biggest advantage I have seen is that it has an abstraction layer for support of flash 6,7, 8, 9 and dhtml and has been in development for a longer time (so possibly more stable).

Has anyone had much experience using both, or just openlaszlo even? is the support for dhtml and older flash versions really that big of an advantage with the popularity of flash 9 these days? Might this just be because of many developers are already comfortable with javascript/ajax? Besides language preferences, why openlaszlo and not flex?

Thanks for any tips! Ryan

Pepi answered 3/7, 2011 at 3:26 Comment(6)
Right now there are 20 question tagged "openlaszlo" and 12695 tagged "flex" on StackOverflow...Contradiction
something made by volunteers, and something made from a corporation, with clear toughs and roadmap ... well, a hard choice :D. I will bet on the corporation development - Flex.Unilobed
Good points, commercial vs community, though I have seen many great community projects. I like the flex/flash builder ide / visual development environment. If openlaslo does not have that, I think there are lots of other browser ria platforms/frameworks out there that are also really good, used by large sites and do not have gui builders.Vasoconstrictor
commercial vs community doesn't mean anything. In that cause I guess all php developers should ditch php and mysql and go with ASP and MSSQL.Radman
@yordan openlaszlo was actually started by a corporation and the bulk of the contribution probably came from that corporationBastian
OpenLaszlo is still being funded by Laszlo Systems Inc. Laszlo Systems has been acquired by Critical Path in early 2012, and Critical Path claims that they plan to continue funding the OpenLaszlo project. On the other hand, there doesn't seem to be much activity based on the number of reviews sent into the laszlo-reviews mailing list.Kimberlite
K
5

When companies like Pandora chose OpenLaszlo, Flex was still a commercial product (even the compiler). The Flex versions 1.0 and 1.5 were not very stable, and only with the 2.0 release of Flex the platform got a lot more stable. Macromedia upset a lot of developers, since Flex 2.0 was no compatible with 1.5, and all applications had to be rewritten for the new release. In that situation quite a few companies thought that OpenLaszlo is not a bad choice.

The most powerful feature of OpenLaszlo is the LZX language. The language supports classes, animation of any numeric property, constraints using a attribute="${}" syntax, mixin support, datasets with datapath (xPath syntax based) mapping. Some of the key developer of the LZX langauge had been working on Apple's Dylan language before, and a lot of the powerful concepts of Dylan have made it into the LZX language.

I've done both OpenLaszlo and Flex development. Flex has excellent tooling support by various IDE vendors. But the ActionScript 3 language can be very limiting, as in Java you spend a lot of time thinking about your class model. OpenLaszlo emphasizes instance based development (very fast for prototyping, while it's still possible to build very complex applications with 100k+ lines of LZX code). The largest OpenLaszlo applications I'm aware of are Laszlo Webtop (120K+ lines of LZX code), and IBM Websphere Commerce Edition (http://ibm.co/Kid5tc). I've heard that other companies have created equally large applications using OpenLaszlo.

Since version 4.2 OpenLaszlo integrates the Flex SDK. The OpenLaszlo compiler generates the LZX code into JavaScript 2, and then into ActionScript 3 code. If you compile an application to both DHTML and SWF10+, you can profit from the better type checking of the Flex compiler, even if your application will only be deployed for the DHTML/HTML5 runtime.

OpenLaszlo is very stable. The last major release (4.0) has been in March 2007, although the OpenLaszlo team considered the 4.2 release to be equal to a major version upgrade, since it added the ActionScript 3 and SWF9 support to the platform. 4.2 was released in December 2008, the current stable release is the 4.9 version - although many community members and Laszlo are already using OpenLaszlo 5.0 (trunk, unreleased) in production.

After Adobe's announcement to contribute the Flex SDK to the Apache Foundation (now an Apache Foundation Incubator project), Adobe announced that they had been working on a cross-compilation feature for the next generation Flex compiler called "FalconJS". Adobe said as well, that FalconJS (which will probably be contributed to Apache Flex in Q4 2012) will not be able to cross-compile existing Flex applications into JavaScript. A simple list example of FalconJS (as demoed in December 2011) generated into 5 MB of uncompressed JavaScript code, wich could be boiled down to 2.5 MB using the Google Closure compiler's advanced mode. A similar OpenLaszlo example in the DHTML runtime compiles to less than 750k of JavaScript code.

Kimberlite answered 28/4, 2012 at 12:41 Comment(1)
couldnt have asked for a better answer!Pepi
F
3

I think your term of 'a lot of large projects' is very relative. Yes, some large companies have used it, but I don't consider any of them large projects. If you look at all of them in the OpenLaszlo showcase, they seem fairly simple interfaces to me. Also note that OpenLazslo compiles Flash, not Flex and associated framework.

To me, OpenLaszlo is an alternative for creating simple RIAs in a way that the end code can be compiled into Flash or Javascript. Haxe is another alternative to this, and I think it does a better job than OpenLaszlo.

With that said, there's a problem with these "generic" write once, compile to Flash/Javascript framework; it doesn't harness any of the power/advantages of each specific platform. Flash is constantly changing and so is Javascript with the addition of html5 tags and css3. If you ever have experience in both, you'll notice that they're very different in the way they do things and on algorithm might work well with Flash, might not with Javascript.

My point being, if you are to choose a technology, go for the one that's more appropriate. If your project has a need to have both Javascript and Flash, then this might be a good choice, but remember that you'll then be losing the 'power' of each. For instance, Flex has a very good skinning architecture and a set of tools that is essential for enterprise development. Javascript can do some pretty neat stuff with selectors, css3, and some other frameworks like jQuery.

In my experience, post compilers like OpenLaszlo eliminates those strengths. Plus, if there's a new thing that comes outs (like say, hardware accelerated video/3d for javascript/flash), you have to wait for the people at OpenLazslo to update before you can use it (if they use it).

Firebug answered 5/7, 2011 at 14:21 Comment(3)
I just meant large as in widely used, and mostly was referring to Walmart, H&R block and Pandora. But yes, thank you very much. That is exactly what I was looking for.Pepi
Widely used? In my 5 years of professional experience, I've yet to encounter anyone using OpenLazslo (that I've worked for). And I can't say I'm seeing it as a requirement for a job either. Same for HaXe. To me, seems like more of an experiment than anything else and won't be used for any important project for the same reasons I listed above since you'll eventually hit a wall and have shot yourself in the foot since you can't do more.Firebug
forget i said anything about anything being large. I just was wondering why projects meant to be more than 2-3k hit a day websites( walmart, pandora, h&r block) had chosen openlaszlo instead of just using flex/as3. I didn't know if maybe there was something I was overlooking that they had seen. Anyways, I was just curious and you answered the big ones. It's always nice to know about alternative projects.Pepi
C
0

I started developing RIAs with OpenLaszlo as it offered a cross browser run-anywhere kind of framework. The user experience delivered with it was also very good.

I moved to Flex (when it was in Beta) because:

  1. Every capability of OpenLaszlo was available in Flex.
  2. Flex had an extra advantage as it was a supported commercial product from a leading digital media content creation company Macromedia & later acquired by Adobe.
  3. Flash Builder (a.k.a Flex Builder) built on Eclipse provided a good development productivity improvement. (so spending one time license fee on it is not at all an issue)
  4. Above all Flex had better server-side integration / remoting capability.
  5. Flex had plenty of tutorials & sample codes so ramping up a new developer was very easy.

Now Flex is also community driven open source project under Apache Software Foundation OpenLaszlo now provides an extra feature over Flex (until FalconJS cross compiler is released) that it can run both Flash & Ajax runtime environment with a single code base .

But still Flex has an added advantage of having very good development environment (with integration to other Adobe designer tools) and good server side integration capability so for enterprise applications, Flex is a clear winner.

Changeable answered 26/7, 2012 at 18:40 Comment(1)
FalconJS is not going to support compiling Flex applications into JavaScript/HTML5. The demo apps which Adobe showed in late 2011 amounted to multiple megabytes of JavaScript code for a simple list, which would be compressed to around 1.5 MB using gzip. FalconJS will be donated to Apache by the end of 2012, and it's absolutely not a finished product, and Adobe does not believe it can ever be.Kimberlite

© 2022 - 2024 — McMap. All rights reserved.