image
image

Go Back   macosx.com > Design, Media, Programming & Scripting > Software Programming & Web Scripting

Reply
 
Thread Tools
  #1  
Old April 14th, 2005, 06:28 PM
Registered User
 
Join Date: Apr 2005
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
gamehack is on a distinguished road
Coming from the Linux/Windows World

Hi all,

I just wanted to ask what are my available options writing native mac os x application? I do not want to learn Obj-C nor I want to write programs in C. I'm looking for using my C++/C# skills. Any suggestions are welcomed.

Kind regards,
gamehack
Reply With Quote
  #2  
Old April 14th, 2005, 07:09 PM
Viro's Avatar
Registered User
 
Join Date: Nov 2003
Location: Oxford, UK
Posts: 2,492
Thanks: 0
Thanked 1 Time in 1 Post
Viro will become famous soon enoughViro will become famous soon enough
Forget C#. It isn't really usable on OS X since Mono is way way way behind on OS X compared to Linux. Stick with C++ and your options are Qt, wxWidgets or Carbon. I'd personally recommend Qt because it's portable, and applications look kinda native. wxWidgets applications look even better, but the toolkit itself isn't as well documented as Qt.

Or you could learn Objective-C. It's quite a nice language, once you get used to it.
Reply With Quote
  #3  
Old April 14th, 2005, 07:16 PM
ElDiabloConCaca's Avatar
U.S.D.A. Prime
 
Join Date: Aug 2001
Location: San Antonio, Texas
Posts: 10,275
Thanks: 3
Thanked 108 Times in 100 Posts
ElDiabloConCaca is a jewel in the roughElDiabloConCaca is a jewel in the roughElDiabloConCaca is a jewel in the rough
C++ is fine for Mac OS X development.

You'll need a copy of XCode 1.5, which includes everything you need to write, compile, and create an interface for any project you want. It's available for free either by downloading it from Apple's Developer website, or from the CD that comes with retail versions of Mac OS X.
__________________
Power Macintosh G4/500MHz "Yikes!" 10.4.11 Server • 1024MB • 3 x 120GB + 320GB • DVR-111D • 2 x Radeon 7000 PCI • 2 x 17" CRT
MacBook 2.0GHz Core 2 Duo - White 10.5.5 • 2048MB • 80GB • CD-RW/DVD-ROM
iPod Photo 60GB • iPod nano 1GB • AT&T DSL 6Mb/768k
http://www.jeffhoppe.com
Reply With Quote
  #4  
Old April 15th, 2005, 01:16 AM
Registered User
 
Join Date: Nov 2000
Posts: 948
Thanks: 0
Thanked 0 Times in 0 Posts
kainjow is on a distinguished road
Straight C++ for Mac development means you will be doing "legacy" Carbon coding. Personally, this isn't what you want to do if you'll be investing time creating software for Mac OS X.

Objective-C is what you do want to learn. Objective-C is a superset of C, however Xcode allows you to develop in Objective-C++, so all that C++ code you have is usable in your Cocoa program.

I'd suggest you do learn Objective-C for the UI interaction, but for your logic stick with C++ if that's what you know best. Mac OS 10.3 makes UI easy with bindings which requires no code at all. Just some connections in Interface Builder and you have a program!
Reply With Quote
  #5  
Old April 15th, 2005, 01:17 AM
Registered User
 
Join Date: Nov 2000
Posts: 948
Thanks: 0
Thanked 0 Times in 0 Posts
kainjow is on a distinguished road
Oh, and if you know C# well, then you could learn Cocoa-Java easily, and make native Cocoa apps using Java.

Just a thought...
Reply With Quote
  #6  
Old April 15th, 2005, 03:15 AM
Registered User
 
Join Date: Apr 2005
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
gamehack is on a distinguished road
Thanks a lot for the replies. I've some other questions though So can I use C++ with Carbon or Cocoa? From what I understand Cocoa is like an abstraction on top of Carbon, which itself is written in C(Obj-C?). Does Apple provide C++ bindings for either Carbon or Cocoa?

Thanks a lot
Reply With Quote
  #7  
Old April 15th, 2005, 03:33 AM
Viro's Avatar
Registered User
 
Join Date: Nov 2003
Location: Oxford, UK
Posts: 2,492
Thanks: 0
Thanked 1 Time in 1 Post
Viro will become famous soon enoughViro will become famous soon enough
No, Cocoa and Carbon are separate. Carbon is for legacy apps, and is a C based API very similar to Win32. In fact, there is nearly a one to one mapping between function calls as Win32 and Carbon are so similar. That's been my experience anyway, for my little exploits into carbon.

Apple doesn't provide C++ bindings for either Carbon or Cocoa. There are C++ bindings for Carbon. Qt and wxWidgets use Carbon to render all widgets, so if you use these toolkits, your resulting application will behave just like a carbon app. For Cocoa, at the moment only wxWidgets has a Cocoa backend, and it looks quite nice!

The benefit of both wxWidgets and Qt is that your programs are going to be highly portable. I personally suggest you try one of these.
Reply With Quote
  #8  
Old April 15th, 2005, 06:20 AM
Registered User
 
Join Date: Apr 2005
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
gamehack is on a distinguished road
Is there a difference between the visual appearance between Carbon and Cocoa applications? And are there XML etc libraries so I can use them straight away?

Thanks
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
The Second Coming of Apple King Shrek Apple News, Rumors & Discussion 0 December 21st, 2004 10:50 PM
World Book 2003 Crashing Yogi Bear Mac OS X System & Mac Software 1 October 27th, 2004 08:43 AM
safari & runners world cfleck Mac OS X System & Mac Software 16 August 14th, 2004 01:24 PM
Appleworks 7 coming? hmurchison Apple News, Rumors & Discussion 27 August 13th, 2004 01:34 PM
How do I install World Book that came with my eMac? themacko Mac OS X System & Mac Software 2 September 5th, 2002 09:39 PM


All times are GMT -5. The time now is 09:55 AM.


Mac Support® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Copyright 2000-2008 DigitalCrowd, Inc.