The iPhone does not need Java to succeed.
Please help me understand why people feel they need java in the iPhone?
A large debugged code base immediately compatible with any platform Java itself lives on.
Rocketman
The iPhone does not need Java to succeed.
Please help me understand why people feel they need java in the iPhone?
JPlease help me understand why people feel they need java in the iPhone?
Apple is providing a full fledge and free programing environment that generates fast native applications.
What makes java on the iPhone attractive for you?
you SERIOUSLY think running excel/remote desktop through citrix through java through your web browser ON THE IPHONE would be a good experience? You actually would PAY for this?Citrix applications can run in a Java environment though my university hospital's Citrix web interface, including MS Office, remote desktop, and a few Windows-only apps such as the electronic medical record and patient scheduling systems. It would be very handy to have access to these Citrix applications via the iPhone.
you can skip browser part if JVM can be supported natively.you SERIOUSLY think running excel/remote desktop through citrix through java through your web browser ON THE IPHONE would be a good experience? You actually would PAY for this?
you can skip browser part if JVM can be supported natively.
and when did you ever see a remote desktop being smooth anyway?
That's my point. Remote desktop sucks enough when you're in a high bandwidth location like an office network on a regular computer. Why make that experience even worse by using remote desktop on a 480x320 screen over a spotty cell connection?
My guess is that 99% of people asking for stuff like this will never use it, or when they do use it they'll find the experience so bad that they don't do it more than once. And I'm not sure how much of that remaining 1% would actually pay for the privilege of jumping through all those hoops.
Not anti-java, not anti-java on iPhone, I just see that there is no real value given that there is a perfectly good SDK that takes full advantage of the hardware.
Is there not another device out there that would make accessing this data on the go easier? I just think going for that device instead of going for the iphone would work out better in your case.I'm quite certain my hospital will never make a native iPhone version of our EMR. Remote desktop of one form or another is the best I can ever hope for. Currently I've been using iPhone VNSea to remote to my home Mac, then going into the Citrix web site through Safari, to access the EMR or my office computer.
I use it occasionally when I need to, and it works, even over EDGE. I'm not suggesting that I would do my taxes or write the great American novel this way. I guess I'm that 1% of people asking for this sort of thing that would (and already do) use it. And since it would mean one less hoop to jump through than what I'm currently doing, I'd definitely pay for it.
No, I just think the desktop experience is a terrible thing to replicate on a small phone. And there are plenty of devices outside of the iphone (I know we all tend to have iphone blinders on here) that do other things better, the iphone shouldn't really try to do all things for all people or else it won't do anything well (see: windows).blybug said:Is it that disturbing to you that other people have needs different from yours that you must write replies full of sarcastic capital shouting letters?![]()
Of course my MBP and PowerMac (even the Dell box in my office at work) are vastly superior devices for accessing this data. They are also better for web browsing, contact and calendar management, watching YouTube, getting directions...Is there not another device out there that would make accessing this data on the go easier? I just think going for that device instead of going for the iphone would work out better in your case.
If you don't like Java on the iPhone, just don't use it. But denying the right of other people to access essential applications is simply fascist.
Rocketman, I always love your posts, you are one of my favorites in this forum, however you did state the same thing (large body of pre-existing work). You did not state what makes those particular applications important given that they do not take advantage of the iPhone features that make the iPhone an iPhone. I do not believe there is a single person here that does not understand that there is a huge body of java applications out there, however not every one is going to want to run them all. There is always a handful that one thinks nobody should do without. What is your handful and why? Elaborate.A large debugged code base immediately compatible with any platform Java itself lives on.
Rocketman
Citrix applications can run in a Java environment though my university hospital's Citrix web interface, including MS Office, remote desktop, and a few Windows-only apps such as the electronic medical record and patient scheduling systems. It would be very handy to have access to these Citrix applications via the iPhone.
Of course maybe Citrix will create a native iPhone client app and then there would be no need to run this through Java.![]()
You believe the JVM implemented on the iPhone will be bug-free? And the UI differences will be compatible out-of-the-gate? I don't have that impression at all. :shrug: Its moot anyway, as a native JVM isn't coming to the iPhone any time soon.A large debugged code base immediately compatible with any platform Java itself lives on.
Thirded (is that a word?)..
The last thing any iPhone needs is to bear is the bloated Java tit upon which the java-weenies find their suck.
That's my point. Remote desktop sucks enough when you're in a high bandwidth location like an office network on a regular computer. Why make that experience even worse by using remote desktop on a 480x320 screen over a spotty cell connection?
My guess is that 99% of people asking for stuff like this will never use it, or when they do use it they'll find the experience so bad that they don't do it more than once. And I'm not sure how much of that remaining 1% would actually pay for the privilege of jumping through all those hoops.
Ok, I'll do my best!
Java is a programming language (with its associated class libraries for things like parsing XML, writing files, handling dates and time etc.), but it is much more than another programming language:
Point #1 Cross Platform Conundrum
Most computer programs are compiled to run on a single processor. Windows programs are compiled to run on the x86 (Intel/AMD) architecture, Mac programs were traditionally compiled to run on the PowerPC architecture (although now most Mac programs are compiled to run on both, these are called by Apple universal binaries). iPhone programs are compiled to run on the ARM architecture.
Problem: If you want to write for PC and Mac, you need to write two separate applications. Want to write for iPhone? That will be another application. Want to write for Symbain? Guess what? Another application. Oh dear.
Solution: Java. Java provides a method of writing applications which target multiple platforms.
Point #2 Java Virtual Machine to the Rescue!
Java programs are not compiled to run on x86, PowerPC, ARM or any other processor. They are compiled to run on the Java Virtual Machine (or JVM, for short). This virtual machine sits on top of a real processor. This means that (providing an implementation of the JVM exists for the platform you are targeting) your Java program will work without changing a single line of code.
Advantages: Write once, run anywhere. PC, Mac, Linux, Symbain etc.
Disadvantages: Because the code is running on the virtual machine, it is abstracted one layer further away from the hardware, which means it will execute slower. How much slower depends from program to program, sometimes it is not noticeable, sometimes it is very noticeable (this was particularly the case in the past, not so much now) sometimes the portability benefits outweigh the performance issues.
Point #3 Does a cross platform look and feel suffice?
Java programs need a way to display a graphical user interface (windows, menus, textboxes etc) to the user.
Problem: Java runs on many different platforms, each with their own separate windowing systems and interface guidelines.
Solution: Java solves this problem with the SWING and AWT libraries, which allow for the creation of Graphical User Interfaces which work the same across platforms. They will look different. For example, a JButton on Windows will look like a standard Windows Button, a JButton on Mac will look like a standard Mac Button. There are some inconsistencies though (a button is a very simple example).
Disadvantages: Java application often look out of place and feel non-native to the platform they run. For example, even if a Java application looks very Mac like, it cannot use the standard Mac toolbars used in iWork, Preview etc. and it cannot access the services menu. So even if it looks the same as all you Mac applications, it will never work the same as your Mac applications, as it will work like a Java application.
Summary
So it's more than just fanboy thing. The disadvantages which I have outlined above are often summed up in one phrase slow and ugly. Whilst the real issues are a good deal more complicated than that there is a thought that Java programs will never ever work as well as native applications targeted at a single platform.
Google have used Java to build most of their services and they make a little bit of money! All of WebObjects is written in Java (iTunes Store, Apple Online Store etc.). It is also I believe the most popular programming language in the world. So it does have a lot going for it.
Footnote: I've not told the whole story above in order to keep it simple. Of course there are different types of Java, J2SE (Standard Edition), J2ME (Mobile Edition) and J2EE (Enterprise Edition) and different versions as well: Java 5, Java 6 etc.
The responsibility of maintaining the JVM varies from platform to platform. Sun are responsible for the Windows JVM, Apple is responsible for the Mac JVM. Apple lag behind Sun, they only have Java 6 in beta on the Mac, whereas Java 6 has been available on other platforms for over a year now.
Because of the differences in JVM from platform to platform, the Write once, run anywhere mantra isn't always accurate.
Where I use the phrase standard Mac application, it should be taken to mean an Application built in Xcode, using the Cocoa frameworks.