Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Oct 21, 2010, 09:10 AM   #1
Pentad
macrumors 6502a
 
Pentad's Avatar
 
Join Date: Nov 2003
Location: Indiana
Apple Dumping Java?

If I was a Java developer on Mac I would be feeling uneasy today:

http://www.itproportal.com/portal/ne...java-mac-os-x/


Then there is this from Apple's Mac Store Guidelines:

2.24
Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected


I know Steve thinks Objective-C is the greatest thing ever but Java is widely used in many areas. The last think the Mac needs is a JVM that isn't in sync with the current release.

Also, since Apple licensed and did the port of Java on their own in the 90s it really makes a mess if Apple drops support of Java...
__________________
2012 15" Macbook Pro Retina * 2.7 Ghz QCore * 16 GB RAM * 512 GB SSD; Windows 7 Ultimate 64 bit via Boot Camp ; 3rd Gen 32 GB iPod Touch; too many others
Pentad is offline   0 Reply With Quote
Old Oct 21, 2010, 09:23 AM   #2
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Seattle, WA
I guess maybe I see this as glass half full. If you want to talk about sync of java releases, the prior situation with Apple taking a very long time to release updates, release major versions, etc. seems much worse. I guess my hope is that Oracle takes OS X seriously and is better about simultaneous releases than Apple has been.

As for the app store, this is a serious 'meh' for me. I'm guessing the few 3rd party apps I use won't be on there (MS Office, Quicksilver). I haven't used a java application on my Mac since limewire went out of style. I do write some Java code, and if I needed to do it a lot more on my Mac I'd want eclipse, but I can find that fine without the app store.

It is sort of sad that java devs are left out of the app store goodness, but if I was trying to set a bar of consistency I might leave Java out. The L&F is OK when people know what they're doing, but a lot of programs that don't start on the Mac don't have the same polish. Java also misses out on a lot of the cool stuff that Apple is coming up with, so I can understand wanting to limit apps to Apple's "1st class" environment.

-Lee
lee1210 is offline   0 Reply With Quote
Old Oct 21, 2010, 10:08 AM   #3
elppa
macrumors 68040
 
elppa's Avatar
 
Join Date: Nov 2003
The only promising things are:
[1] Apple finally added 32bit Java 6 support in SL.
[2] Apple released a Java update yesterday.*

Apps like Netbeans and Eclipse still run.

This restriction means popular FTP client Cyberduck will never make it to the app store. That might surprise people, but it actually has parts written in Java.

* Edit: At the time of writing I had just noticed the updates had been released in page two sidebar. I hadn't read any further, otherwise I would have been aware of the more troubling news.

Last edited by elppa; Oct 21, 2010 at 02:45 PM.
elppa is offline   0 Reply With Quote
Old Oct 21, 2010, 10:08 AM   #4
Cromulent
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
At least it will mean that you can use the same JVM on Linux and the Mac now and thus reduce weirdness in the way that apps behave under different virtual machine implementations on the dev machine and the server machine.

I'm guessing OpenJDK will become the de facto standard for Mac OS X Java.
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote
Old Oct 21, 2010, 10:14 AM   #5
robbieduncan
Demi-God (Moderator)
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Quote:
Originally Posted by elppa View Post
This restriction means popular FTP client Cyberduck will never make it to the app store. That might surprise people, but it actually has parts written in Java.
Doesn't surprise me at all. The (default) Cocoa networking libraries are complex and difficult to use. Bridging across to Java for that is actually very tempting!
robbieduncan is offline   0 Reply With Quote
Old Oct 21, 2010, 11:28 AM   #6
GFLPraxis
macrumors 604
 
GFLPraxis's Avatar
 
Join Date: Mar 2004
App store rejecting stuff written in Java makes perfect sense to me. Apple wants certain UI standards that many Java apps tend to lack, and Apple might want to guarantee certain interoperability and that their changes won't break things in the app store.

That said, Java is extremely necessary for many server applications and enterprise applications. I really hope Oracle picks up the slack.
__________________
Impraxical - My New Blog
MacBook CD/2GHz/2GB/160GB/SD
Hackintosh Core 2 Quad/2.4 GHz/4GB/660GB/8800GT
16 GB iPhone
GFLPraxis is offline   0 Reply With Quote
Old Oct 21, 2010, 11:29 AM   #7
shreddy
macrumors regular
 
Join Date: Aug 2006
Location: UK
I write a cross-platform app using Java (on Eclipse RCP) and I'm getting worked up over this! Now I'm understanding more of the furore of the devs who get their iPhone app submissions rejected...

So how are folks supposed to write apps to run on Windows & Mac OS X? Having two completely separate codebases just isn't the way to go...
shreddy is offline   0 Reply With Quote
Old Oct 21, 2010, 11:33 AM   #8
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Seattle, WA
Quote:
Originally Posted by shreddy View Post
I write a cross-platform app using Java (on Eclipse RCP) and I'm getting worked up over this! Now I'm understanding more of the furore of the devs who get their iPhone app submissions rejected...

So how are folks supposed to write apps to run on Windows & Mac OS X? Having two completely separate codebases just isn't the way to go...
You're making assumptions. If Oracle says they will not write a JVM for OS X, then you can get worked up. Until then, the only thing you know is that your Java app won't be in the App Store. You will have the same distribution options that you have today for your app.

-Lee
lee1210 is offline   0 Reply With Quote
Old Oct 21, 2010, 11:57 AM   #9
shreddy
macrumors regular
 
Join Date: Aug 2006
Location: UK
Quote:
Originally Posted by lee1210 View Post
You're making assumptions. If Oracle says they will not write a JVM for OS X, then you can get worked up. Until then, the only thing you know is that your Java app won't be in the App Store. You will have the same distribution options that you have today for your app.

-Lee
Yes maybe I'm stressing, but not being in the App Store is surely a missed opportunity for increased sales...
shreddy is offline   0 Reply With Quote
Old Oct 21, 2010, 02:29 PM   #10
mrbash
macrumors 6502
 
Join Date: Aug 2008
Although I am an ardent Java fan, I understand Apple's position on this.

Developing a Java Runtime is expensive, and the certification process must be expensive also. It seems pretty unfair that IBM gets a free ride (in exchange for dropping support for Harmony) and Apple still has to pay for their license.

My guess is that Apple saw that with the OpenJDK project they no longer had to spend their own resources developing a runtime.

I doubt that Oracle would bother producing a runtime for OSX. They just really only care about the enterprise space, and OSX isn't there.

I feel that this is the start of Java's decline. What made it so great is the wide availability of it, and the amazing number of libraries available for it. But Oracle seems to only care about how it can monetize Java.
mrbash is offline   0 Reply With Quote
Old Oct 21, 2010, 06:45 PM   #11
Blakeasd
macrumors 6502
 
Join Date: Dec 2009
APPLE IS NOT GETTING RID OF JAVA!!! This only means the App store won't allow Java applications. You don't have to get your apps through the app store, its just another way to get apps. Nothing to get worked up about.
Blakeasd is offline   0 Reply With Quote
Old Oct 21, 2010, 07:05 PM   #12
mrbash
macrumors 6502
 
Join Date: Aug 2008
Quote:
Originally Posted by Blakeasd View Post
APPLE IS NOT GETTING RID OF JAVA!!! This only means the App store won't allow Java applications. You don't have to get your apps through the app store, its just another way to get apps. Nothing to get worked up about.
Actually they are. Apple will no longer produce a Runtime starting from 10.7. That is, they are getting rid of it from their OS. It is entirely possible another vendor will produce a Java Runtime for OSX, but Apple is getting rid of it from their OS. Just like they are getting rid of Adobe Flash from their OS.
mrbash is offline   0 Reply With Quote
Old Oct 21, 2010, 08:41 PM   #13
foidulus
macrumors 6502a
 
Join Date: Jan 2007
Quote:
Originally Posted by lee1210 View Post
You're making assumptions. If Oracle says they will not write a JVM for OS X, then you can get worked up. Until then, the only thing you know is that your Java app won't be in the App Store. You will have the same distribution options that you have today for your app.

-Lee
See, thats the problem, he's making assumptions because Apple has said exactly 0 about the future of Java on OS X other than their VM is deprecated. This doesn't sit well with corporations who like predictability and time to migrate if necessary. This whole "lets be super secret!" games aren't a big problem in the consumer space but they rub corporate types the wrong way. Apple wants to be accepted in the enterprise but isn't willing to give up these stupid secrecy games even one bit. Look at what they did with the XServe Raid. While getting rid of the XServe RAID was the right decision in the long run, the fact that Apple treated it just like it does iMacs upgrades, eg say nothing about it till the day it goes on sale, rubbed a lot of corporate types(including me and the people at my company) the wrong way. If they are going to discontinue a product they better give a fair warning AND give a nice long transition period where we can use either the old or new and decide for ourselves the best way forward.

So now my company has a lot invested on mac Java and we essentially have no idea where it is going. Are the Java Application stubs still going to work? Is Apple going to help port the native look and feel? Are the Apple extensions going to work? These are incredibly important questions that Apple is outright refusing to answer(I'm on the java dev mailing list and the engineers there have been pretty receptive to most technical questions but are remaining mum on this issue). People's livelihoods and reputations with their clients depend on answers to these questions and yet we get nothing from Apple. How am I supposed to plan ANYTHING in advance? Well, besides going to Linux which has its own set of problems but it's INFINITELY easier to plan ahead with. Yes I could port things to Cocoa/Objective-C but given Apple's track record how am I supposed to be sure that they won't just abandon that on a whim?

Steve has let the success go to his head. The same people that helped to make the mac and iwhatever platform what it is are going to abandon him in droves.
foidulus is offline   0 Reply With Quote
Old Oct 22, 2010, 04:27 AM   #14
robbieduncan
Demi-God (Moderator)
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Quote:
Originally Posted by shreddy View Post
I write a cross-platform app using Java (on Eclipse RCP) and I'm getting worked up over this! Now I'm understanding more of the furore of the devs who get their iPhone app submissions rejected...

So how are folks supposed to write apps to run on Windows & Mac OS X? Having two completely separate codebases just isn't the way to go...
There are two options that the large vendors (Adobe and Microsoft) have gone for. On the Adobe side you have a large common codebase written in C/C++ that provides most of the functionality/heavy lifting and custom front-ends for each platform that use these common libraries. This is an excellent solution that can, if done properly, be very high performance, offer 1:1 feature mapping between versions and integrate perfectly with every platform.

Microsoft with Office maintain two distinct code bases!

The other option is to use something like QT that allows one codebase to compile against multiple platform targets without needing Java.
robbieduncan is offline   0 Reply With Quote
Old Oct 22, 2010, 05:24 AM   #15
shreddy
macrumors regular
 
Join Date: Aug 2006
Location: UK
Switching to languages like C/C++ feels like a step backwards from Java...
Trouble is that Java has such a rich library ecosystem, which I'm leveraging, and I have no idea what approach to take with this - i.e. how many wheels will I have to reinvent. I'll have to read up on ObjC/Cocoa to find out more and try to figure out if a port is even realistically feasible (given that my B2C app is developed on top of a full time job).

So if you use C++ libs to do things like XML processing instead of Cocoa APIs then Apple don't care? (yet) As long as all libs are part of your app your safe, right?

Apple's policies mean lots of Java devs might retrain on other languages, at least maybe I'd end up playing with C# again which I hear has been getting some good language improvements ahead of Java. But I just can't help thinking, hell, life is just too damn short...
shreddy is offline   0 Reply With Quote
Old Oct 22, 2010, 05:56 AM   #16
robbieduncan
Demi-God (Moderator)
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Quote:
Originally Posted by shreddy View Post
So if you use C++ libs to do things like XML processing instead of Cocoa APIs then Apple don't care? (yet) As long as all libs are part of your app your safe, right?
Use C++ libraries are fine: they are part of the reason Apple invented Objective-C++. WebKit is largely C++ and the Safari front-end is Objective-C/Cocoa...

Your XML example is not a good one: if you want to use libxml for parsing I'm pretty sure it's installed on the system so you wouldn't need to include a copy within your app (and desktop Cocoa has pretty good XML support anyway).
robbieduncan is offline   0 Reply With Quote
Old Oct 22, 2010, 10:15 AM   #17
shreddy
macrumors regular
 
Join Date: Aug 2006
Location: UK
Yes, straight-forward XML maybe isn't the best example, but I'm using XStream which does a great job of simplifying object serialisation.

AFAIAA Cocoa doesn't provide this kind "here's an object, serialise it" (and vice-versa) support? Not actually sure what would be an equivalent C++ lib, but I bet there is one.
shreddy is offline   0 Reply With Quote
Old Oct 22, 2010, 10:22 AM   #18
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Seattle, WA
Quote:
Originally Posted by shreddy View Post
Yes, straight-forward XML maybe isn't the best example, but I'm using XStream which does a great job of simplifying object serialisation.

AFAIAA Cocoa doesn't provide this kind "here's an object, serialise it" (and vice-versa) support? Not actually sure what would be an equivalent C++ lib, but I bet there is one.
If you're talking about automatic serialization of any object, that doesn't exist. There is the NSCoding protocol that allows you to lay out how your Object is to be serialized. If you have 100s of your own classes it would obviously be pretty painful, but for a few classes it's pretty easy.

-Lee
lee1210 is offline   0 Reply With Quote
Old Oct 22, 2010, 11:00 AM   #19
robbieduncan
Demi-God (Moderator)
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Quote:
Originally Posted by lee1210 View Post
If you're talking about automatic serialization of any object, that doesn't exist. There is the NSCoding protocol that allows you to lay out how your Object is to be serialized. If you have 100s of your own classes it would obviously be pretty painful, but for a few classes it's pretty easy.

-Lee
If your classes are key-value compliant implementing key-value coding isn't too much of a pain I don't think.
robbieduncan is offline   0 Reply With Quote
Old Oct 22, 2010, 11:45 AM   #20
shreddy
macrumors regular
 
Join Date: Aug 2006
Location: UK
Quote:
Originally Posted by robbieduncan View Post
If your classes are key-value compliant implementing key-value coding isn't too much of a pain I don't think.
Yes, key-value compliant. XStream lets you tag class attributes with a name (or it defaults the name of your variable) and stores the attribute value against it, traversing the object graph. Sounds like one less thing to worry about.

I guess I really ought to read up more on ObjC/Cocoa to make a proper informed decision. What's the quickest way to get a decent overview without going too deep? Unfortunately I don't have time to read a stack of 600 page books! Are the Stanford University videos on iTunesU any good?
shreddy is offline   0 Reply With Quote
Old Oct 22, 2010, 12:00 PM   #21
robbieduncan
Demi-God (Moderator)
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Quote:
Originally Posted by shreddy View Post
I guess I really ought to read up more on ObjC/Cocoa to make a proper informed decision. What's the quickest way to get a decent overview without going too deep? Unfortunately I don't have time to read a stack of 600 page books! Are the Stanford University videos on iTunesU any good?
The problem is (just like Java) that the language itself is simple and can be learnt quickly. The gigantic class library is what takes the time to get familiar with and no overview can really get you there.
robbieduncan is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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

Forum Jump

Similar Threads
thread Thread Starter Forum Replies Last Post
Java Applet not working on Lion jake4ever Mac OS X 10.7 Lion 19 Feb 1, 2013 09:44 AM
Apple Dumping Pro Apps Division Fomaphone Digital Video 6 Jan 28, 2009 11:07 AM
Apple dumping refurb stock? Cybergypsy iPhone 8 Mar 8, 2008 05:42 PM


All times are GMT -5. The time now is 01:25 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

Privacy / DMCA contact / Affiliate and FTC Disclosure
Copyright 2002-2013, MacRumors.com, LLC