* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

wxWidgets anyone?

I know multiplatform development for desktop apps was discussed here a lot, so sorry to bring this up again.

I lately realized that FileZilla, free FTP client I am using for years now and it was Windows only, now supports Mac too. And apparently was made using wxWidgets. I though wxWidgets is dead by now, but their site seems active.

So, is this a viable alternative to Qt? I am talking about C++. Porting a Windows (MFC) based app to Mac maybe would be easier with wxWidgets.

Is anyone using wxWidgets for Windows/Mac development?
ThistimeAnon Send private email
Thursday, November 13, 2014
 
 
This seems like the recent announcements by Microsoft would be relevant, where they open-sourced .NET, made Visual Studio free and announced cross-platform availability for Mac OS X and Linux.

See link: http://readwrite.com/2014/11/12/microsoft-dot-net-open-source-full-plunge
Scorpio Send private email
Thursday, November 13, 2014
 
 
I used it for two projects, one is still active. I wouldn't use it again, qt is  a much better framework. I didn't use qt originally because of cost, that is no longer an issue with the license changes.
Ducknald Don Send private email
Thursday, November 13, 2014
 
 
I have heard that WxWidgets is rather stagnant. But I haven't used WxWidgets, so I am not speaking from personal experience.

On the other hand, Qt has had some serious money and engineering put in it over the last few years.
Andy Brice Send private email
Thursday, November 13, 2014
 
 
I use wxWidgets quite heavily. Unlike Qt, wx wraps native widgets - so even if some functionality is missing, you can still access underlying Cocoa object (e.g. NSButton) on OSX or  HWND on Windows.

Also, it is nice if size matters (wx is quite small) and if you need static linking - Qt's LGPL license is not quite flexible with this...

I've used wx for standalone projects as well as for plugin development (currently).
exim Send private email
Thursday, November 13, 2014
 
 
@Ducknald Don,
> qt is  a much better framework.

Why do you think that?

I've used wxPython (the Python wrapper around wxWidgets) extensively and like it, for what it's worth.

@Andy
> I have heard that WxWidgets is rather stagnant.

wxWidgets 3.02 came out last month, and they had a Google Summer of Code with six participants, so that's something. I guess it depends what "rather" means.
Racky Send private email
Friday, November 14, 2014
 
 
Thank you guys!

@exim:
would it be possible to develop on Linux and then just compile on Mac for the Mac version? I ask this as I still don't have a Mac and wonder what it takes to move a working Linux wxWidgets app to Mac.
ThistimeAnon Send private email
Friday, November 14, 2014
 
 
>Why do you think that?

Less bugs, better documentation, quicker at keeping up with platform changes.
Ducknald Don Send private email
Friday, November 14, 2014
 
 
> would it be possible to develop on Linux and then just compile on Mac for the Mac version?

I do this with Qt.

You seemed to imply using wxWidgets made it easier to port from MFC.  I don't so much about wxWidgets or MFC so I cannot comment on that aspect.

However, you should be aware that you're still going to have to do a lot of modifications to your GUI and fine tuning to make sure you follow the Mac look and feel.

For example, on Mac when you change a preference setting it takes immediate effect, there is no OK, Apply or Cancel - unless it's something like changing screen resolution. About dialogs do not have OK, Cancel. There are a lot of small changes like this.

There are also all the Mac frameworks that you can/should take advantage of, such as App Nap, Accelerate or QuickLook, for example.

And don't forget testing.

So, the answer is that quick and dirty ports are fairly easy;  a lot of people wouldn't necessarily notice that you haven't optimised your application for Mac.
koan Send private email
Friday, November 14, 2014
 
 
Edit:
I don't so much => I don't know so much
koan Send private email
Friday, November 14, 2014
 
 
@ThistimeAnon

Sure, no problem with developing on one platform and later building it on another - that's why it is called cross-platform ;)

You can also consider using CMake for projects generation for e.g. MSVC (on Win) and xcode (on OSX).

You can as well have virtualised OSX and use it for building. VMware handles this nicely on Windows (with some "unlocking"), should be fine for Linux as well.
exim Send private email
Friday, November 14, 2014
 
 
I have been using wxWidgets for the last few years and am really happy with it.  IMHO it is well designed. And for something that is free, I found the documentation surprisingly good.

I won't call it "stagnant" at all; YMMV.
Victory Send private email
Saturday, November 15, 2014
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz