Portable mobile Java applications!
yes good luck with that, just try to do some JME development.
Apple doesn't really differ from MSFT in this issue, to do Windows programs you need Windows OS and the .NET platform and to do iOS applications you need a Mac and C/C++/Obj-C.
Both lock you in.
Alaa Nassef
Ranch Hand
Joined: Jan 28, 2008
Posts: 460
posted
0
Since each device has it's its own features, you will need an SDK to take advantages of the device's capabilities. For example, iPhones have accelerometers and compasses. Java alone does not support such a thing, and hence you have to use an SDK, This means that you cannot truly have a portable mobile app (unless of course you create an app using web technologies like HTML5 and JavaScript, and this means that you will not make use of the devices' capabilities).
Simpler explanation is that they already have years of development on Objective-c apis and code and UI widgets that have a better user experience than what you can create today with Java. The reason why the iPhone is successful is because the user experience is better. If they even allowed Java development on the device those apps wouldn't have the same experience, look and feel approach, that to me makes the iPhone stand above Java enabled devices.
I think that says a lot about Java developers too, though; even on the desktop it's tough to find good examples of great Java-based UIs, but there's no technical reason for that.
Alaa Nassef
Ranch Hand
Joined: Jan 28, 2008
Posts: 460
posted
0
Mark Spritzler wrote:Simpler explanation is that they already have years of development on Objective-c apis and code and UI widgets that have a better user experience than what you can create today with Java. The reason why the iPhone is successful is because the user experience is better. If they even allowed Java development on the device those apps wouldn't have the same experience, look and feel approach, that to me makes the iPhone stand above Java enabled devices.
Mark
I have to disagree here. Android is using Java, and it has great UI and user experience
Android apps aren't really Java, fragmentation is a better word I think.
Regarding the UI, sure ever one has his own opinion here but Android UI is really ugly and gloomy to my taste and don't let me start talking about the screen sensibility
I mean Android apps are written in Java -the language- but Dalvik VM isn't a JRE to be sure.
Maybe this subject is larger than me but Android is a fragmentation and Google should settle this issue with Oracle.
John Todd wrote:I mean Android apps are written in Java -the language- but Dalvik VM isn't a JRE to be sure.
Maybe this subject is larger than me but Android is a fragmentation and Google should settle this issue with Oracle.
This thread isn't really about the dispute between Google and Oracle, so we should keep this thread on track.
With regards to Dalvik VM not being a JRE, it's subtle, but not significantly different. Whether you're running a Swing application or an Android application, both are java byte code executing on a JVM. Android apps are written in Java, compiled to byte code using a Java Development Kit, and executed on a Java Virtual Machine. Android apps are Java.
Please correct me if I'm wrong but AFAIK, Android apps don't get compiled to Java bytecode we know (not .class format).
The dex tool translates JVM bytecode into Dalvik bytecode.
But again, I don't do Android development, I might be hugely wrong here.
Lester Burnham
Rancher
Joined: Oct 14, 2008
Posts: 1337
posted
0
Sort of. Standard class files are generated (by the regular JDK tools, as Gregg mentioned) and then the Android tools convert them to something that can run on the Dalvik VM (which standard Java class files do not).
Personally, I find fault with both statements "Android is Java" and "Android is not Java", so for me it's not a useful discussion to have
John Todd wrote:Regarding the UI, sure ever one has his own opinion here but Android UI is really ugly and gloomy to my taste and don't let me start talking about the screen sensibility
This should change soon. Google's Android team has decided to cut down on the number of releases they make in a year and concentrate on user experience specifically (think there'll be only one once a year). Whether or not it is as good/polished or even better than iPhone is a different question and perhaps also a matter of taste IMO.
Alaa Nassef wrote:Since each device has it's its own features, you will need an SDK to take advantages of the device's capabilities. For example, iPhones have accelerometers and compasses. Java alone does not support such a thing, and hence you have to use an SDK, This means that you cannot truly have a portable mobile app (unless of course you create an app using web technologies like HTML5 and JavaScript, and this means that you will not make use of the devices' capabilities).
I agree with you, each device has its own features.