emscripten

Adam Ruppe destructionator at gmail.com
Thu Dec 16 05:54:24 PST 2010


Lars T. Kyllingstad wrote:
> find a better way of serving applications over
> the internet than running them in a glorified document viewer.

This is something I've been (very) slowly working on for a while,
with my D Windowing System project.

My idea was to take a fairly high level GUI API and put it over
the network. By adding a middleman program, it can handle multiple
user sessions, and most importantly, remember state across dying
processes, without complicating the application. So if you leave
the program on your desktop and connect from your laptop, it is
just as you left it. Like what Remote Desktop does, but for
individual applications.

It doesn't just do gui either, since there's more to an application
than graphics. I included sound, files, and a little more in the
setup too. (A lot of inspiration from Remote Desktop.)

With a high level API, latency can be kept to a minimum by doing
local processing, and integration with the local system is done
simply by *not* micro-managing it - let the widgets do their default
whenever possible so the local operating system handles the details.


An interesting side effect of this is some dws applications actually can run in
the browser. I've written a partial javascript viewer
that, so far, runs my three demo applications (aim, notepad, and
calculator)! While it is not as good of an experience as using
the Windows viewer, it does work.

Though, notepad, calculator, and a buggy aim client aren't
particularly taxing to a GUI's capabilities. I still have a lot
of work to do before being able to make a confident public release.
Last time I spent a good chunk of time on it, I was doing a low
level event api. Very difficult to get that working as well as I
want given network lag, but not impossible.

(And, of course, these programs don't have to be run over a network.
 They work just as well as stand alone local apps, but I'd like the
 network still be as fast as possible.)


More information about the Digitalmars-d mailing list