winequartz.drv Mac OS X UI discontinued?

Chris Robinson chris.kcat at gmail.com
Thu Jul 9 10:32:21 CDT 2009


On Thursday 09 July 2009 1:46:59 am Rolf Kalbermatter wrote:
> Adam Strzelecki [mailto:ono at java.pl]
>
> > Cocoa is the proper Obj-C API for OSX UI & graphics. OSX is
> > NextStep based objective oriented GUI & OS. And Obj-C is a
> > basement of both NextStep and OSX. So if you want to write
> > OSX GUI application properly you have to use Obj-C, same as
> > C++ & KDE and so on.
>
> With the same argument you could say that writing COM objects has
> to be done in C++. Yet Wine has lots and lots of COM code written
> all in standard C.

It has to, because the class vtable layout and calling convention can be 
different in Windows than how the host system's compiler will generate it. COM  
objects have to interface with existing Windows code, and so need to be setup 
in memory in a specific way.

By contrast, an OSX-specific driver can use Obj-C without consequence to 
existing Windows code. As long as said driver can expose a C-only interface 
for gdi32 or whatever, the Obj-C code is entirely self-contained and anything 
outside the app is none-the-wiser.

If OSX will always have Obj-C support, and the Obj-C code can be restricted to 
OSX-only code, then the only sticking point, in my eyes, would be how 
maintainable it is. After all, if only one or two people can work with Obj-C 
code, it can bit-rot that much more quickly.



More information about the wine-devel mailing list