views:

396

answers:

10

Hi,

I have quite a few years experience of developing PHP web applications, and have recently started to delve into Python as well. Recently I've been interested in getting into desktop applications as well, but have absolutely no experience in that area. I've seen very little written about PHP-gtk and wonder whether it's really a good area to get stuck in to.
What I'm really looking for is something that will allow me to quite quickly develop some decent small/medium sized apps, and be able to deploy them in Linux and Windows. Something in Python or PHP would be great (but I'd be happy to learn something else if it has big advantages).

What do you guys recommend?

Thanks

+8  A: 

Building applications in PHP with GTK is pretty well documented way of creating client-side cross-platform applications. There's a lot of information and code here:

http://gtk.php.net
http://www.cweiske.de/phpgtk.htm
Gnope.org
kksou

byte
+2  A: 

For PHP, I think winbinder is a strong choice.

Dinah
A: 

Why would you like to develop a desktop app in php??

Get yourself a descent programming environment (c/java/c#/) instead of abusing php

especially with c# and java you get pretty quick very nice results. And both are cross platform (although java is easier for cross platform stuff).

C(++) in combination with QT or GTK is also possible, but there the results appear slower

Henri
Downvoted, as I'm sure the entire development world associated with PHP-GTK would disagree that this is "abuse".
byte
They can disagree, but that doesn't mean it's not an abuse. ;)
mipadi
If php was a good language, all schools and universities would teach people php instead of c, java, c#, delphi, pascal.Ive seen the latter languages been taught in programming courses at a lot of places, but never php.
Henri
I'm pretty sure you're missing the point here of the question asked. The questioner preferred a PHP option as they know that language well - it's fine to point out alternatives, and by no means am I saying PHP is the best solution for desktop applications, but providing information for the question asked is priority. The additional answers on this page address the latter part of the question 'happy to learn something else if it has big advantages', but bashing one language isn't the right approach in my opinion.
byte
In addition, your comment is ill-informated, since a C++ solution isn't a slower option by any means in terms of 'results', nor are 'c/java/c#' programming 'environments' - they are languages, 2 of which are bytecode interpetted, one of which is not, and writing GUI applications in C isn't really ideal. C# and Java are excellent solutions, however, and there is a wealth of information.
byte
Java and C# are both languages and environments. Choosing the language of java or C# opens up a world of libraries, IDEs, virtual machines, deployment options, etc. that I would certainly describe as more of an environment than a language.
marr75
+9  A: 

For Python, PyQt is my favorite -- a really strong framework, with rich functionality and excellent integration with Python, as well as superb tools e.g. for cross-platform UI design.

Alex Martelli
A: 

I agree, java or python. If you're going to have to learn a new language, maybe don't learn java, learn python or ruby instead.

marr75
Was I downvoted for saying "maybe don't learn java" or for advocating a java, python or ruby solution? I will say that I think most applications could be written in a very fun efficient way in python and I think it's the kind of language that keeps you ahead of your competitors.
marr75
A: 

Appcelerator Titanium. Write in Python.

Create executables for PC, Mac, and Linux.

Nosredna
+1  A: 

Python and Java are both excellent for working on both Linux and Windows environment. They are generally hassle-free as long as you're not doing any OS specific type of work. Python for creating desktop apps is fairly simple and easy to learn as well if you're coming from a PHP background, especially if you're used to doing object oriented PHP.

AlbertoPL
A: 

for desktop applications,i don't think PHP is a good language.

anakin
+1  A: 

Appcelerator Titanium now supports building desktop applications using PHP (in addition to Javascript, Python, Ruby, too).

jhaynie
A: 

Well its too late to answer i guess but still for the sake of information may I suggest Open Application Platform (OAP) as a possible solution. OAP allows for PHP/MySQL applications to be distributed as installable Windows(tm) applications.
I stumbled upon it while I was looking for porting a PHP app to desktop and found this. Worked great for me. No extra tags for window creations like in winbinder etc.

Amit Kumar Jha