http://code.google.com/p/jsqt/
Would it be possible to do something like this with lazarus? Use the Lazarus Designer and have some middle layer convert the LFM file like they are converting the output of the QT designer?
I did look at that before I started and it looked abandoned. In any case, the converter included with ExtPascal is already far ahead of the jsqt converter.
http://code.google.com/p/extpascal/The Lazarus form designer always creates a .pas file for every .lfm file you create. If it were a generic designer, using it for JavaScript widgets (or iOS Cocoa Touch controls or Android Java widgets) might make sense. But it's not that kind of designer - look at the property editors - they all assume Pascal, FPC and LCL runtime, etc. A qooxdoo client app is JS, not Pascal.
The only JS client designer I've seen that actually works well is Apple's Dashcode:
http://dl.dropbox.com/u/28343282/MacXPlatform/MacXPlatform_Part9.htmlDashcode attempts to address some of the issues of designing a mobile Web app JS client:
(1) Phone-sized pages often don't have much on them - maybe a list and a standard title bar with a standard back button. A designer might be overkill here.
(2) Widget visual appearance is set via CSS styles, not by setting individual properties.
(3) A widget's content is usually not set programmatically (nor at "design" time). Rather, a widget's data is supplied by a data binding to a data store that is populated asynchronously.
(4) Widget positioning is also done via CSS. CSS has 5 types of positioning. The default is "document flow" ("static" in CSS). Widgets expand and contract at runtime to accommodate content and browser window dimensions. For example, a qooxdoo "list" is not a box that you draw on the screen that has a scroll bar - rather, it's like an iOS UITableView, with optional sections and section titles, filing up the page and scrolled by touch.
(5) Rendering a page in a designer is harder to do when document flow, touch look and feel, and data binding are involved. Easier just to click Reload on your external browser and run the app.
Web UI frameworks are all written in JavaScript and all documentation will be in terms of JS. Just use JS for the client. Stock JS is used less and less. For example, qooxdoo adds interfaces, "mixins", typed properties, private and protected class members, etc.
Writing a proper mobile Web app (or mobile native app) involves unlearning the LCL / VCL. While it's possible to think of a qooxdoo page as being analogous to a "form", pages are not used like dialogs. Rather, they're displayed ala iOS, typically by selecting a "disclosure" item in a list or by touching a standard title bar back button - not by popping up the page like a dialog or "closing" the page by choosing OK or Cancel. A mobile app is not just a "little" LCL / VCL app.
Thanks.
-Phil