• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Cross-platform Cocoa?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


References: 
 >RE: Cross-platform Cocoa? (From: Alex Perez <email@hidden>)

  • Prev by Date: Re: Area covered by image in an NSImageView
  • Next by Date: Re: linking to private frameworks
  • Previous by thread: RE: Cross-platform Cocoa?
  • Next by thread: Re: Cross-platform Cocoa?
  • Index(es):
    • Date
    • Thread