windows dev, cross-platform GUI?

This is a discussion on windows dev, cross-platform GUI? within the Programming Languages forums in category; I'm developing a GUI app on Windows XP. I'd like it to look native (or at least, look good) on Windows, but I would also like to be able to port it to another platform if a future client wants. Of course I'm hesitant to use Windows API, since to port it requires rewriting the whole display part. Is there a simple solution? A cross-platform GUI library? After a day's work on GTK+, I haven't figured out how to get a test program to compile in Windows environment. :P I probably could if I kept up the effort (though strangely ...

Go Back   Application Development Forum > Programming Languages

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 08-27-2008, 10:24 AM
steve.breslin@gmail.com
Guest
 
Default windows dev, cross-platform GUI?

I'm developing a GUI app on Windows XP. I'd like it to look native (or
at least, look good) on Windows, but I would also like to be able to
port it to another platform if a future client wants.

Of course I'm hesitant to use Windows API, since to port it requires
rewriting the whole display part.

Is there a simple solution? A cross-platform GUI library? After a
day's work on GTK+, I haven't figured out how to get a test program to
compile in Windows environment. :P I probably could if I kept up the
effort (though strangely there's no tutorial). Is this the way I
should go, or should I be looking into other options?

(I also looked into perl/Tk, but IMHO the GUI windows didn't look very
good.)
Reply With Quote
  #2  
Old 08-27-2008, 10:52 AM
Juha Nieminen
Guest
 
Default Re: windows dev, cross-platform GUI?

steve.breslin@gmail.com wrote:
> Is there a simple solution? A cross-platform GUI library? After a
> day's work on GTK+, I haven't figured out how to get a test program to
> compile in Windows environment.


It is possible to compile and run Gtk+ programs for Windows, but IMO
they have the inconvenient requirement that the Gtk+ runtime environment
DLLs must be installed in the system for the program to work
(alternatively you could supply these DLLs with the program itself,
which is only a slightly better option, but not much).

If I'm not mistaken, the wxWidgets is portable and can produce native
applications which do not rely on third-party DLL files.

http://www.wxwidgets.org/
Reply With Quote
  #3  
Old 08-27-2008, 11:16 AM
Friedrich
Guest
 
Default Re: windows dev, cross-platform GUI?

steve.breslin@gmail.com writes:

> I'm developing a GUI app on Windows XP. I'd like it to look native (or
> at least, look good) on Windows, but I would also like to be able to
> port it to another platform if a future client wants.
>
> Of course I'm hesitant to use Windows API, since to port it requires
> rewriting the whole display part.
>
> Is there a simple solution? A cross-platform GUI library? After a
> day's work on GTK+, I haven't figured out how to get a test program to
> compile in Windows environment. :P I probably could if I kept up the
> effort (though strangely there's no tutorial). Is this the way I
> should go, or should I be looking into other options?

Hm, I did not found getting an gtk+ example running unders windows
that hard. You just have to have the proper includes and libraries. I
guess you've downloaded the windows binaries? IIRC there are some
project files part of it which you just can load into MSVC and run
them.

>
> (I also looked into perl/Tk, but IMHO the GUI windows didn't look very
> good.)

Hm Tk on Windows looks as windoish as can on Windows, what you are
objections?

there are other cross-platform choices. E.g if you'd use some
Smalltalk then you would get a decent gui stuff also (check e.g Cincom
Smalltalk) LispWorks provides CAPI which looks good enough for me on
Windows. So what you can try is some other language which has been
ported to diverse platforms....

Regards
Friedrich



--
Please remove just-for-news- to reply via e-mail.
Reply With Quote
  #4  
Old 08-27-2008, 11:58 AM
steve.breslin@gmail.com
Guest
 
Default Re: windows dev, cross-platform GUI?

Friedrich wrote:

> Hm, I did not found getting an gtk+ example running unders windows
> that hard. You just have to have the proper includes and libraries. I
> guess you've downloaded the windows binaries? IIRC there are some
> project files part of it which you just can load into MSVC and run
> them.


Yes, at the point when I temporarily halted my efforts, I was having
trouble getting the compiler directive to work properly. (cmd.exe
doesn't know what to do with backticks.) I was making a weak effort
using MinGW, which was giving me more trouble. The compiler couldn't
find the header file, which I think I could fix by changing the
include directive in the sourcecode or maybe by adding another PATH.
etc.

It was just a frustrating day of zero progress, each 'solution'
leading to more problems. Maybe you know the feeling.

> Hm Tk on Windows looks as windoish as can on Windows, what you are
> objections?


Mostly cosmetic. I mean that this...

http://www.perltk.org/images/stories...arted/fig5.gif

....doesn't really look like normal windows.

Also, it doesn't "feel" like native. I'm not sure why I say that; it
might be just visual, or it might be subtle functional differences as
well, which I would have a difficult time pinning down. Anyway, this
is really just another cosmetic/aesthetic 'issue,' since obviously Tk
is functionally fine, no question about that!

It might just be a matter of re-skinning, and there's probably Windows-
skins already available, so maybe I'll do some more research in this
direction.

> there are other cross-platform choices. E.g if you'd use some
> Smalltalk then you would get a decent gui stuff also (check e.g Cincom
> Smalltalk) LispWorks provides CAPI which looks good enough for me on
> Windows. So what you can try is some other language which has been
> ported to diverse platforms....


Thanks for suggesting more alternatives! Choice is good!
Reply With Quote
  #5  
Old 08-27-2008, 12:55 PM
steve.breslin@gmail.com
Guest
 
Default Re: windows dev, cross-platform GUI?

Juha wrote:
> If I'm not mistaken, the wxWidgets is portable and can produce native
> applications which do not rely on third-party DLL files.
>
> http://www.wxwidgets.org/


That looks perfect! I can't wait to get home and try it out! Thanks
for the link.
Reply With Quote
  #6  
Old 08-28-2008, 09:59 PM
cr88192
Guest
 
Default Re: windows dev, cross-platform GUI?


<steve.breslin@gmail.com> wrote in message
news:cf3991b0-a0d9-486f-b902-fd0cf5a7ac4b@w7g2000hsa.googlegroups.com...
> I'm developing a GUI app on Windows XP. I'd like it to look native (or
> at least, look good) on Windows, but I would also like to be able to
> port it to another platform if a future client wants.
>
> Of course I'm hesitant to use Windows API, since to port it requires
> rewriting the whole display part.
>
> Is there a simple solution? A cross-platform GUI library? After a
> day's work on GTK+, I haven't figured out how to get a test program to
> compile in Windows environment. :P I probably could if I kept up the
> effort (though strangely there's no tutorial). Is this the way I
> should go, or should I be looking into other options?
>
> (I also looked into perl/Tk, but IMHO the GUI windows didn't look very
> good.)


....

would be nice though if there were some standard or de-facto standard for
inter-OS GUIs.

in my case, there was not, and since I mostly use GL (which is far more
common than most GUI frameworks), I ended up making my own GUI stuff in GL.
of course, GL-based GUIs are not exactly "native" though.

now, as for "look and feel", it looks to me like at times not even like MS
and friends can exactly preserve these between windows versions (when using
the most "classic" style GUIs, not the big funky GUIs MS has been using by
default recently for whatever bizarre reason...).

for example, XP has many subtle visual differences from 2K, and Vista has
further differences from XP.
2K was again different from NT4.


is a result, just showing a few apps on an NT4 box, and a Vista box, one
will likely notice that the "look" is not exactly the same, even if set up
right the Vista box will look fairly similar...

of course, go and use some 3rd partly library, and things look a little more
different.

also possibly "interesting":
part of the Windows API has been standardized (albeit, the Win16 API).
however, other OS's have generally not implemented it (and, even if they
did, it would not help much with porting "most" windows software, which no
longer uses many of these calls...).



Reply With Quote
  #7  
Old 08-29-2008, 12:16 AM
Dann Corbit
Guest
 
Default Re: windows dev, cross-platform GUI?

"cr88192" <cr88192@NOSPAM.hotmail.com> wrote in message
news:16b39$48b7506c$7937d7da$12800@saipan.com...
>
> <steve.breslin@gmail.com> wrote in message
> news:cf3991b0-a0d9-486f-b902-fd0cf5a7ac4b@w7g2000hsa.googlegroups.com...
>> I'm developing a GUI app on Windows XP. I'd like it to look native (or
>> at least, look good) on Windows, but I would also like to be able to
>> port it to another platform if a future client wants.
>>
>> Of course I'm hesitant to use Windows API, since to port it requires
>> rewriting the whole display part.
>>
>> Is there a simple solution? A cross-platform GUI library? After a
>> day's work on GTK+, I haven't figured out how to get a test program to
>> compile in Windows environment. :P I probably could if I kept up the
>> effort (though strangely there's no tutorial). Is this the way I
>> should go, or should I be looking into other options?
>>
>> (I also looked into perl/Tk, but IMHO the GUI windows didn't look very
>> good.)

>
> ...
>
> would be nice though if there were some standard or de-facto standard for
> inter-OS GUIs.
>
> in my case, there was not, and since I mostly use GL (which is far more
> common than most GUI frameworks), I ended up making my own GUI stuff in
> GL. of course, GL-based GUIs are not exactly "native" though.
>
> now, as for "look and feel", it looks to me like at times not even like MS
> and friends can exactly preserve these between windows versions (when
> using the most "classic" style GUIs, not the big funky GUIs MS has been
> using by default recently for whatever bizarre reason...).
>
> for example, XP has many subtle visual differences from 2K, and Vista has
> further differences from XP.
> 2K was again different from NT4.
>
>
> is a result, just showing a few apps on an NT4 box, and a Vista box, one
> will likely notice that the "look" is not exactly the same, even if set up
> right the Vista box will look fairly similar...
>
> of course, go and use some 3rd partly library, and things look a little
> more different.
>
> also possibly "interesting":
> part of the Windows API has been standardized (albeit, the Win16 API).
> however, other OS's have generally not implemented it (and, even if they
> did, it would not help much with porting "most" windows software, which no
> longer uses many of these calls...).


I have not read the thread, but I imagine someone has mentioned wxWidgets:
http://www.wxwidgets.org/


** Posted from http://www.teranews.com **
Reply With Quote
  #8  
Old 08-30-2008, 04:04 PM
Ole Nielsby
Guest
 
Default Re: windows dev, cross-platform GUI?

<steve.breslin@gmail.com> skrev i en meddelelse
news:86b40655-4b1d-4378-bee6-73f78431d3db@z72g2000hsb.googlegroups.com...
> Juha wrote:
>> If I'm not mistaken, the wxWidgets is portable and can produce native
>> applications which do not rely on third-party DLL files.
>>
>> http://www.wxwidgets.org/

>
> That looks perfect!


It isn't.

The juce framework http://www.rawmaterialsoftware.com/juce/index.php
isn't perfect either, but it's much easier to find the bugs and deal with
them.

wxWidgets may have a more native look but juce is more consistent
across platforms.

Things like document-centric single-instance applications are a pain
in wxWidgets, in juce it just works.


Reply With Quote
  #9  
Old 08-31-2008, 05:15 AM
Juha Nieminen
Guest
 
Default Re: windows dev, cross-platform GUI?

Ole Nielsby wrote:
> wxWidgets may have a more native look but juce is more consistent
> across platforms.


What is more important from the point of view of the user, that the
program works like all the other programs in the same OS, or that the
program looks identical in all possible OS's (from which the user
probably uses just one)?
Reply With Quote
  #10  
Old 08-31-2008, 05:29 AM
Juha Nieminen
Guest
 
Default Re: windows dev, cross-platform GUI?

Ole Nielsby wrote:
> http://www.rawmaterialsoftware.com/juce/index.php


As seems to be *way* too common nowadays, also this project seems to
provide only doxygen-generated lists of classes and member functions,
and nothing else. That's great when you already know very well how to
use the library, and only need a reference manual for the details.
However, it's completely unhelpful for the first-time user who wants to
get started.

What on earth happened to first-time tutorials and simple
introductions? I mean, like this:

http://library.gnome.org/devel/gtk-tutorial/stable/

Can't developers understand that it's extremely hard to start using a
complicated library when all you have is basically its commented header
files? (Doxygen-generated documentation is nothing more than just a bit
more convenient way of browsing the (preferably commented) header files.
They are not *real* documentation.)
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 05:11 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.