> Ok, now here's a question for you: if crossplatform toolkits/frameworks > are sooooo great and automagically allow to produce superlickable and > native-looking/feeling applications on all three major platforms, why is > there so few of those applications on OS X ? > > "Because Mac users are elitists assholes" is not the good answer by the > way :) >
You've got a ridiculous straw man here. Nobody has ever said that they do this, and nobody with any experience would. I don't actually think you're interested in what is possible and what isn't, and I don't even think that you actually evaluate the screenshots in a context where it's possible for you to have any other opinion. wx is the only popular toolkit of it's kind - it's a wrapper toolkit, that uses actual native controls, not just ones designed to look like them. For many wxPython/wxWidgets applications, there is *no difference* between an app written directly to cocoa and a wxwidgets app besides the API the author used. None, zero, zilch. Any "feel" issues you claim to be present are solely because the author either didn't know about or didn't care about a convention on the mac platform. The only other major cross platform toolkit with good mac support is Qt, and I don't follow it's development closely. It may also use native controls, at least in some cases, or it may still render everything via the presentation manager, but regardless it's got a lot of work and again, in most cases, it's hard if not impossible to tell the difference between a "native" app and a qt one. I'm not a qt expert so I won't spend too much energy defending it. The look is easiest, of course. There's more to the look than just that, of course, there's things like the stock behavior of controls. wxPython gets that mostly for free, because it's using actual native controls. There's things like the button order and layout, and wx provides APIs to address that. Not everyone uses them, which is too bad. There's some standard platform conventions like where your menu items go. wx provides support for that. There's the fairly minor issues of making sure your layout works with differently sized controls and text, the wx layout mechanism addresses that. Finally, there's some poorly defined "mac style" issues. wx, and no toolkit, not even the native one, can address that. Many cross platform apps are written on Windows with windows users in mind and use windows assumptions, like that it's fine for a context menu to be the only way to interact with something. This category is where almost all complaints against cross platform apps fall, and it's ridiculous because it's not something that a toolkit can address. You can, and people do, write exactly the same sort of interface into mac native applications. FinkCommander is a good example. There's a few more caveats I haven't addressed, and there are places where wx isn't perfect. In wxPython, there are quite a few commonly used controls that are custom controls hand-designed in Python, and don't wrap native controls, so that can be a problem. It's not a panacea, and anyone who sells it as such is wrong. But it doesn't "suck", either. And it's a lot easier than maintaining multiple GUI codebases, especially for platforms that don't see as much use. Why are there so few applications? The real answer is probably that the mac developer community is smaller than either the windows or linux dev community, and people who develop for the mac tend not to care about any other platform. So most of the crossover comes from the other direction, and the mac community, being elitist assholes, makes scathing comments about how it assumes you have 2 mouse buttons. FYI: OS X ships with wxWidgets installed. How many applications built into OS X are built using it? Are you sure? How would you know? -- http://mail.python.org/mailman/listinfo/python-list