1

We are starting some new app development but because of special business requirements, need to support back to Mac OS X 10.3 as well as PPC/Intel CPUs.

The latest Xcode 4 isn't an option, from what I can tell it only goes back to 10.5 and doesn't support PPC at all. Is Xcode 3 an option? Would it be easier to just use Java?

P.S. From anyone experienced in either, can you please comment on some of the pros and cons you've bumped into?

EDIT

As requested, here's a brief overview of the app:

The app needs to talk to a server which will expose JSON web services. The app itself needs to be built in a way that will allow plugins (not 3rd party, but in-house with the ability to customize which features the customer owns). Each plugin will gather specific information about the host OS - such as running apps, users, CPU usage, etc.

Cajunluke
  • 3,103
  • 28
  • 28
bugfixr
  • 7,997
  • 18
  • 91
  • 144
  • 2
    Can you describe the requirements of your application a bit more in detail. That will have a large influence on the answer to your question. – nfechner Sep 06 '11 at 16:22

4 Answers4

4

If you can find a way to make Objective-C work with your requirements, it is worth it in my opinion.

I myself am a former Java developer who has moved into the creation of native Mac OS and iOS apps. I tried using Java for some of my early Mac OS projects and always found the support to be lacking. It can be done, but it was always more difficult than it should've been and never worked as well as a native app.

Here is a link to another SO post that describes some workarounds for getting older SDK versions working in Xcode 4. I can't vouch for how well they work with current versions of Xcode, but it's worth trying.

Community
  • 1
  • 1
Tim Dean
  • 8,253
  • 2
  • 32
  • 59
3

In view of your requirements, especially the need to do some system evaluation, I would strongly recommend to use Objective-C and the Apple development environment. You will have a lot of difficulties using Java to retrieve the neccessary information about the host OS, that you want to use in your application.

You could try to run Xcode with older SDK versions, but I have virtually no experience on OSX to give you solid advice on how to do this.

EDIT: My Xcode 4 gives me an option to select a "Deployment Target", where I can go back to supporting 10.1, but I have no idea, if this is the right thing...

nfechner
  • 17,295
  • 7
  • 45
  • 64
1

Well,

Apple isn't a Java friendly company. You don't have all the bindings you may need on their JVM. So I strongelly recommend (given that your project will be Mac OS X only) Objective C instead of Java

Kico Lobo
  • 4,374
  • 4
  • 35
  • 48
  • 3
    I disagree. There's no particular native support for Java but neither is there on Windows or Linux either. You can write a Java app and it will run, and there are Java extensions to work better with the Mac OS X user interface. – Jonathan Grynspan Sep 06 '11 at 16:55
  • If I go with Objective-C, will the need to support 10.3 become a headache? I.e, I'd have to use an older version of xcode and likely be able to only use Objective-C version 1 features - painful or doable to get supported features for things like consuming json services, etc.? – bugfixr Sep 06 '11 at 17:01
  • What proportion of your potential customers have 10.3 or event PPCs. Is it really worth all that effort to support these legacy systems? – aLevelOfIndirection Sep 06 '11 at 17:46
  • Hi Jonathan, good point, but at least in Windows and Linux, you don't have so many work arounds as you whould with Mac OS. When you code using Java on Mac OS your life isn't as easy as it is when you are coding with Objective C which is THE oficial language and programming environment supported by Apple – Kico Lobo Sep 08 '11 at 16:36
0

I program in Java but on Mac OS X, Objective-C is better than Java because it is faster and developed by Apple itself. Moreover, if you develop a program in Objective-C, you can sell it on the Mac App Store while if you develop it with Java you can't.

So go with Objective-C.

Cajunluke
  • 3,103
  • 28
  • 28
GhzNcl
  • 149
  • 1
  • 4
  • 13