Re: Cross-platform Cocoa?
Re: Cross-platform Cocoa?
- Subject: Re: Cross-platform Cocoa?
- From: Dave Thorup <email@hidden>
- Date: Thu, 30 Sep 2004 11:10:06 -0400
On Sep 29, 2004, at 6:45 PM, Alex Perez wrote:
Finally (for now) the best approach to produce native looking
applications and is free and liberally licensed is WxWindows (or
WxWidgets).
http://www.wxwidgets.org
It's unfortunately rather heavy and hs its own problem of the apps not
looking 100% native under OS X, which many Mac users are extremely
sensitive to.
This is the same problem you run into with any cross-platform toolkit.
You have the same problem with Java/Swing, GTK, Qt, etc. Although with
toolkits like these you _can_ build an app that runs on multiple
platforms, the app tends to look and feel the best on the platform it
was developed on/targeted for. You can certainly build a wxWidgets app
that looks and feels like any other Mac app (though it is much more
difficult than building a Cocoa app), but when you recompile that app
for Windows or Unix/Linix it will feel more like a Mac app than a
Windows/Unix/Linux app and feel out of place on that platform. This is
just a result of the differences of multiple platforms, they all tend
to do things differently.
In looking at some old NeXT/OpenStep applications I discovered that
NeXT had found a very elegant solution to this problem (correct me if
I'm wrong here as I never developed for NeXT/OpenStep). It appears
that within the application bundle (or maybe the Nib bundle) you could
have separate nib files for separate platforms (similar to how you have
separate nib files for separate languages right now on OS X). So you
could design one GUI for say the Mac OS X platform and then design
another GUI for the Windows or Solaris or whatever platform. You could
then have a single application bundle (that included separate binaries
as well as separate GUIs) that could run on any NeXT/OpenStep platform
and still look and feel like a native application for that platform.
Does GNUstep have this same kind of model? If not, it would be a great
and powerful feature to add.
Sadly you have to get out your caveman sticks and work in C++ and
produce ugly Win32(ish) code. IMHO C++ is a distant (inbred) cousin
to
Objective-C and you can probably get some port started but it will not
look anything like Cocoa and all that great stuff you get for free in
AppKit you will have to figure on rolling some of it yourself. That's
the compromise and the benefit is that you will have "native" looking
apps that are cross-platform. Sadly you still have to compile them on
each platform etc..
No reason why you can't code a GDI front end and have all your backend
logic be ObjC++ using GNUstep+Foundation under win32.
I was wondering about this. This sounds like it would be the best
option (right now) for what James is looking for. You could have all
of your back-end (non-GUI) logic coded using the Foundation framework
and then put a native Windows GUI on it using whatever Windows
tools/frameworks you want.
_____________________________
Dave Thorup
Software Engineer
email@hidden
http://www.kuwan.net
Defaults Manager - The premier editor for Mac OS X's User Defaults /
Preferences database.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden