Talking to yourself, huh?? Please let us know when you start staring
at the walls, or chewing on bricks, will ya ;o) ?

Seriously though;
I have too little experience with GUI development to have a serious
and valid opinion about what you are suggesting.
I know that the VB/Delphi way of programming (which is what I think
you are suggesting) is very addictive, and in those environments
deadly from a maintenance point of view. Hopefully we have that
covered by other mechanisms and good architectural patterns.


Cheers
Niclas

On Mon, Apr 28, 2008 at 6:10 PM, Rickard Öberg <[EMAIL PROTECTED]> wrote:
> Hey,
>
>  I just had the following conversation with myself. I'd like your
>  feedback on these topics!
>
>  Me: So, now we have support for scripting! Cool!
>  Me2: Yeah, neat. What are we going to use it for?
>  Me: No idea.
>  Me2: Well, let's think about it. Using script languages to define API's
>  is a bad idea. Documentation is very difficult, not to mention IDE
>  support and refactoring. I want my tab completion and "Find usages", damnit!
>  Me: Right. Scripts are probably better for stuff that is not used by any
>  other code. Like building UI's.
>  Me2: Yeah, I saw some really cool Ruby demos where they built Swing UI's
>  interactively. Maybe that's what we should use it for?
>  Me: Could be. But what is the problem we are solving really?
>  Me2: Well, there seems to be two problems. One is that the Java code
>  needed to do the same thing is very verbose, and another is that if we
>  do it in Java then we have the whole compile-deploy-run cycle to
>  consider. If you're building the UI with a domain expert by your side
>  that's not going to be fun. Too slow.
>  Me: The verbosity is not so much an issue. I use code completion all the
>  time, so typing speed is a non-problem. It's been a loooong time since I
>  last typed a whole method name really. Sure, some of the junk needed to
>  do Swing UI's is a bit of a mess, but with decent frameworks like
>  JGoodies that can be dealt with. The long roundtrip cycles is a real
>  issue though.
>  Me2: Hm... maybe we ought to think about what is involved with doing
>  UI's anyway. It's not all the same.
>  Me: How do you mean?
>  Me2: Well, there's two very different kinds of coding involved when
>  doing UI's. First there's the work needed to build widgets. This can be
>  done in relative peace and quiet, and you can spend time making the
>  widget feature-rich and of high quality. The second is when you take
>  these widgets and put them together into a real application, which deals
>  with a specific problem or domain. That's where speed really is an
>  issue, and you want to be able to quickly get things done, and try out
>  different ways of solving a problem.
>  Me: So scripting then would be good for the second, but terrible for the
>  first?
>  Me2: Yeah, probably.
>  Me: Ok, so we have narrowed it down to which problem it is we want to
>  solve. Next question is, is scripting the best way to solve it?
>  Me2: Maybe. If all we are doing is glue code, i.e. take this widget and
>  attach it to this domain object, there's other ways to do it. For
>  example, it might be possible to do a drag&drop UI builder where you
>  simply create the UI using a widget toolbox, and attach it to the
>  existing model. Then serialize the whole thing and deserialize it at
>  startup to recreate it. No coding involved.
>  Me: This sounds a bit like Visual Basic style apps. Is that going to
>  work? How complex stuff can you do if all you have is drag&drop? What
>  about actual business logic?
>  Me2: No idea.
>  Me: What if we combine it? Use drag&drop visual style to do the outline,
>  and then use scripting for the glue code. Would that work? The script
>  code could be part of the serialized state of the UI actually, so it's
>  still the same basic idea, just a bit more intelligent.
>  Me2: I guess it's possible. So, then we'd want some kind of base
>  platform for building these UI's, which has two modes: build-time and
>  production-time. When in build-time you would have extra toolboxes that
>  you can use to create the UI, and in production-time it's just being run.
>  Me: Sort of.
>  Me2: Cool.
>
>  WDYAT?
>
>  /Rickard
>
>  _______________________________________________
>  qi4j-dev mailing list
>  [email protected]
>  http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to