Ideas for a brand new widget toolkit
Joakim
joakim at airpost.net
Tue Aug 13 13:33:44 PDT 2013
On Tuesday, 13 August 2013 at 20:13:05 UTC, Adam D. Ruppe wrote:
> On Tuesday, 13 August 2013 at 20:00:31 UTC, Joakim wrote:
>> The concept is to build a client-server GUI runtime that is as
>> simple as possible on the client side.
>
> Are you familiar with X11? It is the 80's version of that
> concept. There's some downsides though to this model; it is
> pretty sensitive to network latency, especially.
You mentioned X11 to me before, when we talked about this idea
over email. I'm not very familiar with X11, but when I looked at
the X11 reference, it seems that it provides for a lot more
commands and complexity in the client than I have in mind. I
don't think X11 is well optimized, as I've found it laggy simply
when running xterm or small GUI apps on a local wifi network with
extremely low latency.
Yes, such networked GUIs assume low latency, just as most of the
web assumes a working internet connection. ;) This is not a
solution for offline GUIs, and so wouldn't work as a
general-purpose GUI toolkit. I wonder if offline is a niche
worth serving these days however.
> I've been wanting to do a network transparent gui myself, and
> is one thing I might do with my crappy implementation once it
> is a little more complete. I'd make the display a little
> thicker though, with basic widgets being there so it can just
> communicate in higher level events. I also want the ability to
> detach and reattach elsewhere, ala gnu screen.
Yeah, I saw your DWS writeup, seems like we have some similar
ideas: :)
http://arsdnet.net/dws/
What basic widgets do you have in mind, to keep on the
client-side? Also, just widgets in the client or some basic
layout too?
With my idea, the client is only given sizes and absolute
positions of rectangles, with pngs or text to render inside the
rectangle: it has no conception of what it is rendering and can't
do any layout on its own. For example, an offline web browser
can layout a page anew when the window is resized, but all layout
for my client is done on the server.
As for detaching and reattaching, that is easier to do, the more
state is kept on the server. :) You could do it in most webapps
today, after you login at the new location, but since it's more
complicated to code all that reattaching functionality and isn't
necessary for most apps, most app devs don't bother.
More information about the Digitalmars-d
mailing list