• 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 Obj-C?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cross Platform Obj-C?


  • Subject: Re: Cross Platform Obj-C?
  • From: Nathan Zamecnik <email@hidden>
  • Date: Sun, 05 May 2002 23:04:55 -0500

You know, I have thought about this at length before for the same reason. My
rational is this:
I would write all your generic objects, like containers, lists, manipulators
etc. in ANSI C++. Anything that manipulates data behind the scenes really.
That way it is transferable to any platform. Or, you could write it all in
Objective C so long as you don't use any of the Cocoa Objects...which IMO is
where Objective C gets it's power.
But using the Standard Library and C++ (Or the standard library of C w/
Objective C) for the generic parts of your program would be acceptable.
Basically, anything that is not interface. This leads to the second part.
I would then create the interface for all my programs in their native code.
Cocoa for OS X, C++ with the Windows Foundation Classes for Windows and
whatever your using for UNIX (most likely X86). Then have your UI objects
communicate with all your data objects seeing as Objective C can communicate
with C++ fairly well.
The way I think of it is everything on stage is native and the folks behind
the scenes are the same, C++...or non-Cocoa Objective C.
To me, this seems to be the best modal as you you get lots of reuse and a
native interface that all you have to do is "hook-up" to the data objects.
I'm open for better ideas though.

-- NAteZ


On 5/5/02 10:53 PM, "Casey O'Donnell" <email@hidden> wrote:

> I'm currently in the throws of designing a piece of software that must be
> cross platform. Our windows development platform (like so many others) is
> Visual Studio. Is there an objective-c compiler available for Visual
> Studio?
>
> I have no problems understanding how to call C++ code from Obj-C, and have
> played with it at length. However, some of the robustness of Obj-C is nice,
> and if I could implement almost entirely in Obj-C, I probably would.
>
> What it comes down to is, should I be writing the components of this project
> that are cross platform in nature in C++? I don't want to start a obj-c
> versus C++ battle, what it comes down to simply is, what would you do
> knowing that you must support all major modern platforms (MacOS X, Win32,
> Un*x's), and you'd like to keep as much code in common as possible?
>
> Much thanks,
> Casey O'Donnell
>
> P.S. Has there been any follow up on an Apple implemented XML parser in
> cocoa that is a bit more robust (read, "I am a lazy programmer and really
> want something simple.") than the foundation class implementation? I'm
> currently looking at Omni's library, which is cool, but if there were
> something for me to look forward to, I might put off a bit of that work...
> _______________________________________________
> cocoa-dev mailing list | email@hidden
> Help/Unsubscribe/Archives:
> http://www.lists.apple.com/mailman/listinfo/cocoa-dev
> Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: Cross Platform Obj-C?
      • From: Graeme Hiebert <email@hidden>
    • Re: Cross Platform Obj-C?
      • From: Ondra Cada <email@hidden>
References: 
 >Cross Platform Obj-C? (From: "Casey O'Donnell" <email@hidden>)

  • Prev by Date: Cross Platform Obj-C?
  • Next by Date: Re: Retain, then autorelease and then release does what?
  • Previous by thread: Cross Platform Obj-C?
  • Next by thread: Re: Cross Platform Obj-C?
  • Index(es):
    • Date
    • Thread