You are here

Add new comment

GTK+ 3.8.2 (PRE1) for Windows... with Broadway !

I already made some points in a previous article about Broadway, this fantastic HTML5 backend able to turn a desktop GTK+ application into a web one, with no changes to code needed.

Latest GTK+ versions embark an independant web server called broadwayd, which can be launched multiple times and is able to display only apps "targetting" it. So you can have, for instance, a web server listening on a public IP with free-access applications, and on another IP address/port, another one with financial, accounting... apps used internally by a company.

Broadway never worked on Windows until now. As I'm doing some stuff on the Windows port of GTK+, and am trying to bring it back to the GNU/Linux quality standard, I posted some preliminary patches. So here is my work-of-the-day:

GTK+ 3.8.2 (RC1) for 32-bit Windows

gtk+-bundle_3.8.2-20130704_win32-RC1.zip (28.5 Mb)

(WARNING : this RC is still incomplete. Most notably, Microsoft Visual C++ import libraries aren't shipped yet)

Installation

Following some discussions we had with the GTK+ team, I am not shipping an installer anymore.
A ZIP archive should be enough. Just extract it wherever you want, and eventually copy all needed DLLs to your application folder.

How to use Broadway

%gtkdir% designates the folder where we extracted GTK+.

- Go into "%gtkdir%\bin". You should see a broadwayd.exe executable :

Run it, and you should get this type of console window :

Let it run in the background.

Now open a terminal (Start -> Run -> cmd) and move to the "%gtkdir%\bin" directory. Then type the following commands :

set GDK_BACKEND=broadway
start gtk3-demo.exe
start gtk3-demo.exe

You have just run the gtk3-demo application two times, targetting Broadway.

Now install latest Firefox (if you don't have it already ;-) ) and surf to the following address : http://127.0.0.1:8080

We can see our two applications, and interact with them !

If our machine is connected to a LAN, we switch to another computer, and connect to the machine's public IP (http://192.168.1.1:8080 e.g.), we'll be accessing our apps, too !

Now, suppose we want another Broadway server listening on an Internet-enabled IP (192.168.1.100 e.g.), on port 80. We will do :

start broadwayd :tcp2 --address 192.168.1.100 --port 80

Our server is running on the ":tcp2" port.
We only need to provide the new port to the application :

set BROADWAY_DISPLAY=:tcp2
start gtk3-demo

Here we go !

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.