{{announcement.body}}
{{announcement.title}}

PHP-GTK to HTML5: coordinating technologies for better remote access

DZone 's Guide to

PHP-GTK to HTML5: coordinating technologies for better remote access

· Web Dev Zone ·
Free Resource

Running applications on one machine while displaying the user interface on another is nothing new.

There are two basic ways to do this: first, transmit an image of the server screen to the remote client; and second, send rendering instructions from the server to the client machine.

The second way is obviously much more bandwidth-efficient. Even when the transmitted image is nicely compressed (e.g., JPEG), image data will always be much larger than simple rendering instructions.

UNIX's X has used the rendering-instruction method since 1984. The problem with using X over the Internet has to do with security: X has nothing to do with HTTP, but tightly locked-down servers on the Internet will often try to allow as little non-HTTP traffic as possible. The result is that the much less efficient first method, the image-transmission method, has been used in popular Internet remote desktop applications (e.g., VNC).

Now comes an article from Manuel Lemos showing how the slow-developing PHP-GTK project -- language bindings allowing GTK+ apps to be written in PHP -- could be combined with some new features of GTK+3 (specifically the wayland and broadway graphical-output backends) to create highly efficient, X-like remotely served applications...




...and then display those PHP-written desktop apps in a browser using HTML5 Canvas.

So: bandwidth-efficient remote desktop via browser; no special client software necessary.

As a one-time remote desktop support tech, I totally love this idea.

Some practical stumbling-blocks remain, though. In particular, Manuel notes:

It may not be hard to make [PHP-GTK] work with GTK+ 3 too but the fact is that currently there is not much development going on in the PHP-GTK project. A group of motivated developers would need to get back to the project and update it to make it run with GTK+ version 3.

 
If you're interested and maybe even inspired, check out the full article.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}