Java's future on OS X

Discussion in 'Mac Programming' started by Monkaaay, Oct 2, 2007.

  1. Monkaaay macrumors 6502

    Monkaaay

    Joined:
    Jun 19, 2006
    Location:
    Richmond, VA
    #1
    I want to write desktop applications for OS X. I've got a background in Java and C#. I'm trying to understand Apple's long term view of Java on the Mac as a first class citizen. It's obvious that they're more into Objective-C, but there are still great applications being written in Java for OS X. How does everyone feel about this subject?
     
  2. psychofreak Retired

    psychofreak

    Joined:
    May 16, 2006
    Location:
    London
    #2
    I'm no programmer, but have found Java apps to be nowhere near as comfortable as 'native' ones...
     
  3. ChrisBrightwell macrumors 68020

    ChrisBrightwell

    Joined:
    Apr 5, 2004
    Location:
    Huntsville, AL
    #3
    This is almost always the dev team's fault.
     
  4. Monkaaay thread starter macrumors 6502

    Monkaaay

    Joined:
    Jun 19, 2006
    Location:
    Richmond, VA
    #4
    Yuck.
     
  5. AlmostThere macrumors 6502a

    #5
    I wouldn't class Java as a first class citizen on the Mac; Java is a first class citizen for Sun.

    Apple simply do not and will not offer the same driving force as Sun (or the open source community). IIRC, Java latest versions seem tied to latest OS X versions (hence no public Java 6 on 10.4 or Java 5 on 10.3). The best development tools are the same as on Windows, Linux and UNIX i.e. Eclipse or NetBeans, not Apple ones. Look what Apple actually bundle and provide in a host of other languages, such as Python or PHP. Present, yes, but well out of date. The odd article here and there on the developer network and again, often out of date.

    IMHO, Apple's heart is, and always will be, with their own native toolkit(s) and they will do as much as they need, but no more, to attract developers using other platforms (the same can be said of MS but the size of the Windows platform means the impetus again comes from 3rd parties who will often not make the same effort for the Mac, *cough* *cough* IBM). Stuff that Apple no longer deem profitable will be deprecated and may be turned over to the community.

    I suggest you subscribe or browse the Apple-Java-Dev mailing list - my thoughts were captured quite nicely by this recent post

     
  6. bousozoku Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #6
    I think Apple does a good job with Java but they certainly don't push too hard. They've certainly used it as a marketing tool.

    When a new version is available from Sun, they drag their feet until a new version of Mac OS X is available. Java 6 (Mustang) has been available from Sun on other platforms for months and Apple has been working on it much longer than that and it runs on Tiger, but you can almost be certain that the final release won't be available on Tiger.

    They also made certain that releases 1.4.x and up weren't available through browsers once Safari was available.

    The only Java-specific application that's available from Apple, I believe, is Web Objects and that used to be Objective-C only.

    The Cocoa-Java bridge should have died long before that; perhaps, before it was written.
     
  7. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #7
    If you want to write native Cocoa apps but don't want to use Obj-C for whatever reason (you are mad not too, but whatever) then wait for Leopard. It includes fully supported native bridges from Ruby and Python.
     
  8. psychofreak Retired

    psychofreak

    Joined:
    May 16, 2006
    Location:
    London
    #8
    Then I wish effort was put into cleaning up NeoOffice's code more than reaching beta stage of an Aquafied OpenOffice...
     
  9. bousozoku Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #9
    Is NeoOffice so bad? I don't think it's any worse than the original OpenOffice and it looks much better.

    Cyberduck is one example of a Java-based application done right for Mac OS X. Several other applications are nice enough but don't have Mac OS X-specific tweaks, such as the Cancel button on the left and the Okay button on the right. I've mostly been impressed by multi-platform applications that run well on PowerPC Mac OS X.
     
  10. toddburch macrumors 6502a

    Joined:
    Dec 4, 2006
    Location:
    Katy, Texas
    #10
    WOO-HOO!!
     
  11. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #11
    I thought someone would be excited. It's mentioned on this page so is public knowledge. I read somewhere else that this has been implemented in a pretty open way so it should be easy to add more languages to the bridge in future. A Perl on is under development and others should follow.

    Note that this does not mean that it would be easy (or even possible) for Apple to use this new bridge technology for Java. The reason these languages were chosen is, in part, their fit to Obj-C/Cocoa. They are highly dynamic languages which fit well. Java is not and does not.

    p.s. I have fixed my post with the error noted in your quote, thanks :)

    Edit to add: This is where I got a lot of the info from
     
  12. Monkaaay thread starter macrumors 6502

    Monkaaay

    Joined:
    Jun 19, 2006
    Location:
    Richmond, VA
    #12
    Yep, that is exciting. I thumbed through my Programming in Objective-C book again last night. I think I'm going to go ahead and give it a try.
     
  13. davidlt macrumors member

    Joined:
    May 22, 2007
    Location:
    Lithuania
    #13
    I am waiting for this for a long time... Give me Ruby!.. And Python is fine with me :)
     
  14. kainjow Moderator emeritus

    kainjow

    Joined:
    Jun 15, 2000
    #14
    The Cocoa bindings for Java are essentially dead, but plain ol' Java is still strong. If you're wanting to write a Mac-only application, it'd be much better long term to learn Cocoa/Objective-C and use that instead.
     

Share This Page