You are here

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 !

Comments

Any updates on Vala or Valama (Valide)?

(originally posted by Vasileios Anagn...)

:-D

Vasileios, I'm going to provide a win32 bundle for Vala 0.20.1 / GTK+ 3.6.4 quickly.

As for Val(a)IDE the new 0.7.3 release is ambitious. Here are a few improvements (with screenshots of my dev machine) :
- auto-completion works a lot better, now gets more precise as you type ;
- syntax errors are detected at runtime and displayed in the "Messages" panel ;
- a new Glade plugin integrates a GTK+ RAD interface directly in the IDE. It comes along with a new Glade project type;
- lots of other improvements and bugfixes...

The Glade plugin is still unstable and gave me headaches ; I stalled as I had other priorities. See the code on Launchpad if you'd like to help.

Now if you are really concerned with delays, hire me. I'm serious. It would boost my motivation and switch my priorities very easily.

Btw, your nickname may be a clue that you are Greek ! If that's the case -or you simply want to chat a bit- please use the contact form to send me a mail. Always very appreciated.

When will you ship it with import libraries for MSVC ? Everything else is fine :)

Hi Stephan,

You can get the corresponding import libraries from this other bundle (which by itself doesn't have broadway). Just grab the .lib files. Hope this helps.

Thanks very much it works just nice, but i wonder if there does already exist a glade version for win32 that supports GtkRevealer etc.

Just checked ; looks like the latest stable (3.16) supports it. I'll eventually build it and provide it here when I have time (which is sparse now ;-) ).

Add new comment

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.