Over a million developers have joined DZone.

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

Discover how to focus on operators for Reactive Programming and how they are essential to react to data in your application.  Brought to you in partnership with Wakanda

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.

Learn how divergent branches can appear in your repository and how to better understand why they are called “branches".  Brought to you in partnership with Wakanda


Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


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

{{ parent.tldr }}

{{ parent.urlSource.name }}