On Mar 24, 2007, at 12:16 PM, David Temkin wrote:
mt1,
IDE4Laszlo -- we (Laszlo Systems) haven't done anything with it and
don't plan to. Doesn't mean someone else can't do something with it.
One idea that we're discussing now is to kick off a project to make
an LZX-based graphical editor. It's scope would be limited to the
graphical layout, positioning, linkage, attributes, etc of LZX
objects. It would not be code editing-focused -- there are tons of
tools for that. It would be written in LZX, and would run in the
browser. It would support "round-trip" editing, so that you could
edit with an IDE/code editor, and then the visual editor, and then
the code editor again, without loss. The back-end, which would read
and manipulate the LZX files, would be written in Java, and would
run in the same context as OL itself.
What do you think of this approach? Right now it's just a concept.
- D.
I did thought experiments and prototyped a system like this bit back.
It is doable, with a set of limitations as to what can be edited. You
couldn't see the effects of editing Javascript in the IDE (you'd have
to compile because eval isn't strong in there) but you could see the
effects of adding and removing attributes, changing layouts, etc. To
me the concept hinged on building components - classes with
specifications that could be read by the IDE - that would become
available to use. It wouldn't just be any set of LZX code, but an
easily extendable ever growing list of "prepared" classes. This way
the parameters to any class could be known and displayed properly.
I saw something similar to RealBasic's IDE coming out of this approach.
I had this running in Blooms (a laszlo templating system) and
although i wasn't targetting reading from LZX - it was going to
choose a Blooms language intermediate that would render to LZX - I
had some interesting ideas as to how the layout of the IDE would
work. For instance, since the blooms thing has "server" transforms
that build XML datasources, datasources would also be included in the
IDE in a "cloud" that you'd pair and move around in groups of their
functionality (in python fwiw). From a visual standpoint, i thought
it would be nice to describe complete applications with server side
resources in a single environment.
The proof of concept system properly read in the list of components
and their attributes, and allowed you to make new components on
screen, to prove it was possible. It seems so.
Hope this is topical,
James.