|
We have just deployed our first Laszlo-based application and I thought I'd take a moment to share some of our experiences. What follows may seem fairly critical because it focuses mainly on the problems we ran into and how we solved them. So I should start by mentioning that the project was a complete success. The clients love the application in a large part due to Laszlo's great looking UI. I personally had a lot of fun working with Laszlo and would not hesitate to use it in future projects. The Project In August '05 we were contracted to build a disease registry system for doctors and case managers working with diabetes patients. This is a data-centric application with about 200 data items on each form and a new form for every visit with a patient. The Decision When we started we had plenty of experience building Java-based web applications and some of us had experience building Rich Clients with XUL, dotNet and wxWindows. We decided to try OpenLaszlo for several reasons:
The Details Getting basic functions to work was easy; just drop a few controls on the page and hook them up with a bit of _javascript_. But getting the UI right is all about the details and this is where we sometimes found ourselves struggling. I attribute this mainly to the immaturity of the Laszlo components, in most cases we were able to find solutions on the forums or fix them directly in the source ourselves. Here are some examples of the things we ran into:
Another more fundamental issue we ran into was getting the alignment and layout right in complex screens. Eventually we were able to get things to look the way we wanted but it seemed to take a great deal of trial and error, typically involving turning on bgcolor's for views to see what was happening. Before we were done we wrote a debug utility to highlight views on mouseover, but I think the real solution is a good screen layout tool. One that lets you manipulate layouts, sizes, positions and alignment and see the results immediately. We did get better at this as we gained more experience, the best bit of advice I can give is to draw your view/layout hierarchy on a piece of paper first. Performance The evil Flash message has one advantage, it forces you to keep user wait time below 20 seconds. I never want my users to see that message and we worked pretty hard to make sure they didn't. We ran into speed issues in three places.
Development Process Over the years I have gotten used to advanced development environments like Visual Studio and Eclipse. Maybe I've gotten soft but when coding in Laszlo I really want that little red underline to appear when I misspell a function or attribute name. However, Laszlo does support isolated component testing very well. Typically we would extract the small piece we were working on, include only the files it needed, and attach it to an in-line dataset instead of a remote one. This allowed a very quick edit/compile/debug cycle. The ability to easily switch between file-based and remote datasets also allowed us to develop UI pieces while the database access code was still being written. Creating custom components is Laszlo is very easy. We created several from simple expandable views and Yes/No controls to complex object list controls. It does take a little while to completely understand what is going on with replication but that is partly because it is a fairly novel concept. Summary We spent about four months working on the project with three developers spending time working in Laszlo. The end result was great, we shipped on time and the client is very happy with the application. Those of us who have had experience developing HTML applications certainly never want to go back to that. I'll be watching the progress of OpenLaszlo with great interest and looking for opportunities to use it in future projects. Regards, Garth |
_______________________________________________ Laszlo-user mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-user
