Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Java portability?



Hasan Edain wrote:

My partner and I have spent nearly 5 years developing a framework to
deliver sprite based 2d games in Java.

Along. The way we seem to have made a serious technology mistake. We
moved to JDK 1.5 features (especially enums). Now we seem to be very
limited in terms of where the games made in this platform can be
deployed in terms of the Mac platform.

This is especially distressing in terms of comparing our ability to
deliver on windows and Linux where we have reasonable strategies to
deliver to OS's over a decade old.

Does anyone have sugestions that don't involve regressing our entire
codebase to JDK 1.3?


OS X is evolving very quickly, as it is a younger platform. The amount of change seen on the Mac platform in the last 3-5 years probably exceeds that of Windows or Linux over the previous decade. 10 years ago (1998) Macs were running OS 8 (no "X"), M68040 code was still commonplace, and MRJ 1.x was only just delivering Java 1.0.4. It is not reasonable to expect the same degree of backwards compatibility in this environment.

There is little point to regressing to JDK 1.3, targeting JDK 1.4 would get you back to OS X 10.2, which is largely regarded as the first useful release of OS X. JDK 1.5 will only run on 10.4+, so you are missing out on Macs running 10.2 and 10.3. Most Macs running 10.3 are also capable of running 10.4 with an OS upgrade, but the change in system requirements between 10.2 and 10.3 (New World Macs only) prevented a larger number of 10.2 Macs from being upgraded. Fortunately, 10.2 is pretty long in the tooth these days (even *I* have retired my Old World G3 box, and I'm mighty cheap :-).

The way I see it you have three options:
  - rewrite the code to compile under 1.4
  - find some way (e.g. retroweaver) to run in 1.4.1
  - require your Mac users to upgrade to 10.4

The first might be reasonable if it is only enums. If you are also using generics, autoboxing, etc. that could quickly snowball into a prohibitively large project.

The latter isn't as bad as it seems at first glance. Although Apple doesn't sell Tiger any more, it can be found on the web (legally, both new and used) without too much trouble, and is cheaper than Leopard. Given that 10.6 looks to raise the bar significantly yet again on minimum requirements, many users with older Macs will be looking to upgrade their hardware anyway. In a year or two Mac user's will be lamenting that their Tiger systems won't run much new software, and they need Leopard or 10.6. Worrying about selling to Jaguar and Panther users will not be a consideration any more.

I think something like retroweaver is your best bet in the short term. You should post the specifics of the problems you've had with it -- I've never used it but there is a *lot* of expertise on this list.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden


This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.