Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GNOME/Vala application to run on Windows

I want to port my C# WinForms application to be usable both with Windows and Linux. I have some experience with Java and more experience with Python but I don't really like the first and I'm concerned with the second (I mean the obfuscation, need to install Python on the target PC, etc.) so I've chosen to use Vala and GTK3 toolkit... it is created mainly for making GNOME applications but I've read that it's multiplatform and is compiled fully to C also with all the dependences needed for running the software - but is it right? I mean: would I meet any limitations while creating my application on Linux? I don't want to finish it and then to discover it can't be run on Windows because I've used some GNOME library...

like image 479
smsware Avatar asked Aug 09 '12 14:08

smsware


People also ask

Is Vala cross platform?

Vala is a cross platform development tool with third party distributions providing binaries for Windows, macOS, Linux, *BSDs and other platforms.

What is Vala used for?

Vala is intended to provide runtime access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings. To use a library with Vala, all that needed is an API file (. vapi) containing the class and method declarations in Vala syntax.

Why is Vala a language?

Why Vala? Comfortably write your code in an object-oriented way with high level abstractions, while having access to deep integrations with GNOME technolgies such as: GObject, GTK and more! Vala compiles code down to blazingly fast, fully native binaries.


1 Answers

There are a lot of GTK applications that currently work on Windows with no problem.

For example:

  • GIMP (raster graphics tool - the application for which GTK was built initially)
  • Inkscape (vector graphics tool)
  • Geany (Text editor)
  • Pidgin

Vala apps will work anywhere a GTK apps will. Can't name a Vala app i've seen running on windows but i'll take an interest in this and get back to you.

By the way there are two (maybe several) approaches to writing the app in Vala/GTK, for example including the entire GTK library into the app or not. Geany offers 2 different binary installers meant to allow you to choose if you already have GTK on your windows download a lighter geany-only instaler, if not download the full installer which incorporates its version of GTK.

Here's a site and a tool that will help you with configuring your vala compiler to output windows executables.

I'm not sure if you can use all the tools that Vala needs on Windows. You may have to develop on a linux box.

like image 69
Mihai Stancu Avatar answered Sep 20 '22 00:09

Mihai Stancu