Is OpenLaszlo right for your project?

Even as a former employee of Laszlo Systems, deciding which Rich Internet Application framework to use for the new venture was harder than I thought it would be. Clint and I really wanted to use OpenLaszlo, but AJAX was making headlines. Furthermore, AJAX/DHTML applications were being successfully deployed all over the place. Even though it’s challenging to question using a technology that you’ve invested 2 years of your career on, when starting a new company, you better do it or risk paying for that decision later.

Some pros of OpenLaszlo include:

  • Clint and I know LZX, Laszlo’s markup language, really well (Clint was the lead developer on the ColorSmart Application for Behr Paints).
  • Since Macromedia tightly controls the Flash web browser, you can be sure that 99% of what you write will run in any browser that has flash 6 or higher installed. (At the time of this writing, Macromedia claims that flash 6 or higher is running in over 96% of web browsers out there)
  • At the moment, LZX is a lot more elegant, and fun to write when compared to AJAX. (though, there are several frameworks out there that are trying to change this)
  • LZX gives you constraints, delegates, animation, data binding/replication out of the box for free
  • No need to cobble together scraps of code from all over the place to build a framework…. it’s all there for you in one nice place
  • OpenLaszlo is open source, making deployment costs much lower. We thought we had enough experience with Laszlo that we could get by for a while without paying for support.

Some pros of AJAX include:

  • There are many examples of deployed AJAX applications out there. The developer community around DHTML/AJAX/whatever has been around a LONG time.
  • It’s not flash. Be it justified or not, developers are always wary of flash. I think this has something to do with the gratuitous flash animations that you occasionally see misplaced on corporate web sites. For our purposes, if we ever expected to sell our application, developers have to see this as something they could work with.
  • Javascript in the web browser is WAY faster than it is in flash. While this isn’t too much of an issue in Laszlo apps on fast hardware, slower hardware can have some issues in certain situations

(If you think I’m missing something critical in these lists, feel free to let me know and I’ll update it)

So what did we decide? We eventually concluded that utilizing our Laszlo skills would give us a competitive advantage, and decided that whatever project we choose to chase down (there were many) should be something that Laszlo is perfectly suited for, and would either be impossible or really hard to do in DHTML. We are really excited about the project we’ve started working on, and can’t wait to show it off soon!

Need help deciding if OpenLaszlo is right for your project? For a limited time, I’m available for one day consulting gigs. Email me at:

9 thoughts on “Is OpenLaszlo right for your project?

  1. Does OpenLazlo have a facility to make remote EJB calls? I would guess AJAX does. I know that in vanilla Flash you can make EJB calls (though it’s a bit of a pain). We are using Flash for some stuff here and re-using our server-side business logic was crucial.

  2. Laszlo supports Java RPC, so you could probably make something work…. I’m not sure what the details are, and I don’t know anyone who has done it. You could probably post to the Laszlo forums or mailing lists to get some better answers.

  3. the other option would be to make a request to a servlet from laszlo.. the servlet would handle remote EJB calls and respond back to laszlo with the data in xml format.

  4. I think that’s ultimately what the Flash/J2EE integration thing does that we are using (uses a servlet). It has a whole system to take your java classes, create AS classes and handle the translation for you.

  5. Hi chrisk,

    Since you’re a former Laszlo Systems employee, and have a few years of experience with the platform could you write up a few tutorials or examples of how to build bigger-than-the-examples OpenLaszlo apps?

    I’m currently working on a prototype for my app with OpenLaszlo – i.e. I haven’t written the “real” code yet. Any guidance on the following would be most helpful to the OpenLaszlo community:

    -What’s the best way to structure an app in OpenLaszlo?

    -How should we handle having a common “outer layout”, and change a central “content” area.

    For example, let’s say you have a menu at the top of your application – this is the “outer layout”. What’s the best way to switch out the content in reaction to the menu buttons? For my mock-up prototype I’ve been using the “state” tag, but I doubt that it’s the best way. (Not to mention I’m not sure it’s the best for OpenLaszlo performance.)

  6. Hi

    I am new to openlaszlo and developing an sample application that has 3 screens . one for login , one for forgot password and one for welcome .

    In my database i have 3 tables. First table stores login information, Second table stores the secretquestions amd its secretquestionID
    and third table stores the Employeedetails.

    i am facing difficulties in the database connectivity part. How to connect to database through servlets from openlaszlo. where i have to place my servlets and
    how should i call the servlets from my openlaszlo front ends.

    Another thing is regarding the validations. how to do validations in openlaszlo . what should i use for doing validations i.e, servlets or javascripts

    So please help me in solving this problem.

    I have searched in the google also , but i didnt get any satisfactory results.

    Thanks in Advance,


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s