[Pythonmac-SIG] Objective C and Cocoa

Kevin Ollivier kevino at tulane.edu
Thu Oct 16 02:52:32 EDT 2003


On Wednesday, October 15, 2003, at 09:13  PM, Bob Ippolito wrote:

[snip wxWindows comments]

> I think that the point that Ronald was trying to make earlier is that 
> sometimes it's best to just develop multiple GUI frontends.  It's 
> definitely easier to develop a PyObjC+Cocoa application than a 
> wxPython application assuming you like using OS X (subjective, but I 
> don't think many of you will disagree).  Cocoa encourages good 
> model/view separation.  So theoretically if you write it with Cocoa 
> first, it shouldn't be terribly hard to write (or hope someone else 
> writes) another frontend on top of that, whether that's wxWindows, 
> GTK, or whatever.  Nothing you've said so far leads me to believe that 
> trying to make wxWindows fit both GUI paradigms (win32/linux and mac) 
> is less effort than making wxWindows do what it does best 
> (win32/linux) and spending the "mac thinking" time just writing a 
> PyObjC/Cocoa frontend for Mac.

To be honest, I doubt I could convince you as I think you're already 
sold on what approach you want to take, and considering your criteria 
for tools I think you chose what works best for you. I understand that. 
What I don't understand is that you debate the very usefulness of 
wxPython for Mac to anyone except "people who don't own Macs" or people 
who want a quick (and dirty) port to Mac. That, I think, is based more 
on how you feel about wxPython than anything else, but in any case 
contradicts my experiences with the wxPython developers I know of who 
are testing and tweaking their apps for Mac.

As for your comment about 2-3 frontends being less work than a wxPython 
interface, I think that's highly subjective and depends on many 
factors, like the developer's familiarity with both tools, free time to 
work on the app, access to appropriate hardware and/or the kindness of 
others to port the application. In any case, since there's no one who 
actually has done this, I think this sort of debate would be pointless 
as it would be based on opinions only, not experience. I will say that 
I've never heard of having to learn two toolkits as being easier than 
learning one (i.e. Cocoa + wxWindows) so this would likely become a 
multi-person effort.

> wxWindows makes porting to the Mac easiest for people who don't own a 
> Mac.  In which case, they'll probably design it such that it's not 
> consistent with the Apple HIG anyway.  Of course, in some situations 
> the application is more important than the interface, and the Mac user 
> just won't care so much because it does what they need it to do.

I own two Macs, I've 'ported' (not really, wxPackageManager was built 
on Mac) two apps with wxPython, and in both cases they just ran on 
platforms other than what I designed them on, without my thinking they 
looked out of place or non-native. I'm having more trouble getting PIMP 
to run on Windows than anything else. ;-) (Dependencies on a couple 
command line apps that aren't available on Windows.) To convince me 
that PyObjC is the only real way to go for native Mac interfaces, you'd 
have to convince me (for example) that wxPackageManager is a poor 
interface for Mac that needs serious revising (not tweaking), that the 
interface problems are the result of the tools I use and not interface 
design mistakes on my part, and that re-writing it in PyObjC would 
solve all my problems, and have almost zero learning curve.

Lastly, let me say that I'm not trying to argue that "wxPython is for 
everyone" or that "wxPython is superior" to PyObjC and I apologize if I 
gave anyone that impression. Such arguments are inherently pointless. 
It's all relative to the developer's needs. If I were developing 
Mac-only apps, I probably would be using PyObjC, but in the end all 
that matters is whether or not it can meet my needs/criteria. So when I 
promote wxPython, I'm not trying to win some battle or anything, I'm 
just sharing my own preferences and experiences with others in the hope 
that it may help some of them and maybe help wxPython or even Python as 
well. =)


More information about the Pythonmac-SIG mailing list