aspose file tools*
The moose likes Meaningless Drivel and the fly likes Smartphones and the future of Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Smartphones and the future of Java" Watch "Smartphones and the future of Java" New topic
Author

Smartphones and the future of Java

Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
WORA aspect of Java was a great plus for developing applications in Java. Besides the server side, a huge number of business application have also been developed in Java primarily because of WORA.

But now it looks like mobile computing devices are in the process of usurping the good old PCs and businesess need to deliver content on these devices as well, which is not as easy anymore because of lack of a WORA platform for these devices. Multiple versions of consumer focused thick clients need to be redeveloped from scratch for various mobile operating systems.

Even embedded applications (which was another huge plus for Java) are now giving Java a pass. Just a few days ago I read on news.com that some company is selling Android powered microwave oven.

It almost seems like Java has been left out in the cold. J2ME has been dead for long now and none of the regular devices have a regular JVM.

The situation seems ripe for a disurptive technology that can provide WORA for mobile.

Any thoughts?

(Added Later: By Java, I mean the platform and not just the language.)


Enthuware - Best Mock Exams and Questions for Oracle/Sun Java Certifications
Quality Guaranteed - Pass or Full Refund!
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Microsoft's Windows 8 platform could be that disruptive technology if it gets good traction on mobile devices. An overwhelming majority of businesses already use Windows boxes and if they get an option where they can deliver the same app to desktops as well as on mobiles, they will continue to stick to windows and propel the development of Windows 8 apps.

Just thinking out aloud
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Odd post. Your subject makes an assertion, and then the body seems to make the exact opposite argument.

Firstly, I think Java as a server-side powerhouse for network backends isn't going anywhere in the near future. There have been lots of contenders: Ruby, Groovy, and lately Scala, but none of these has gained any traction (except maybe for Ruby, which gained some footholds, then lost them due to scalability and other problems). Lately JavaScript has been getting the mindshare with frameworks like Node.js, but it's too early to see where that's all going.

With regards to WORA (write once, run anywhere, for those unfamiliar with the acronym), sure it'd be great but I don't see it happening anytime soon, and I certainly don't see any such thing being Java-based. I'd wager that if something like that comes along, it'll either be rooted in JavaScript or a JavaScript-based DSL such as CoffeeScript.

Right now, the "mobile WORA" is, for good or bad, web applications.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8866
    
    8

Paul Anilprem wrote:...if they get an option where they can deliver the same app to desktops as well as on mobiles, they will continue to stick to windows and propel the development of Windows 8 apps.


I think WORA made more sense when we all had desktop devices that differed only by OS. It doesn't make sense to expect the same functionality on a phone and a desktop app.


"blabbing like a narcissistic fool with a superiority complex" ~ N.A.
[How To Ask Questions On JavaRanch]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Paul Anilprem wrote:Microsoft's Windows 8 platform could be that disruptive technology if it gets good traction on mobile devices.

That's not a horse I'd bet on.

I have a friend who's a technology reporter who was at CES. He reports that all of the Windows 8 (and Windows Surface) products have been pretty much ignored by the attendees. There were long waiting lines to "play" with Android devices, while in the other booths, Microsoft products were just sitting on the tables.

I think it's too early to brand Windows 8 and Surface as failures, but there's a lot of writing on the walls that they're going to be niche players at best.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Bear Bibeault wrote:Odd post. Your subject makes an assertion, and then the body seems to make the exact opposite argument.

Very sorry, I am not that good of a writer. I just meant the subject to indicate what the post was about and did not mean to make any assertion.


Firstly, I think Java as a server-side powerhouse for network backends isn't going anywhere in the near future.

That is very true. I agree with that. It was probably not that clear from my post but I was thinking more from a thick client perspective.


With regards to WORA (write once, run anywhere, for those unfamiliar with the acronym), sure it'd be great but I don't see it happening anytime soon, and I certainly don't see any such thing being Java-based. I'd wager that if something like that comes along, it'll either be rooted in JavaScript or a JavaScript-based DSL such as CoffeeScript.

Right now, the "mobile WORA" is, for good or bad, web applications.

Yes, that seems to be the case for now. The problem is mobile web app lose out big time on the marketing front. Many customers search for "apps" on app stores and web apps don't show up there.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
I am going blind as a bat. I meant to write "smartphones and the future of Java".
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Paul Anilprem wrote:I am going blind as a bat. I meant to write "smartphones and the future of Java".


Ah, hence my confusion. That's very different from "Smartphone are the future of Java"
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Joe Ess wrote:
Paul Anilprem wrote:...if they get an option where they can deliver the same app to desktops as well as on mobiles, they will continue to stick to windows and propel the development of Windows 8 apps.


I think WORA made more sense when we all had desktop devices that differed only by OS. It doesn't make sense to expect the same functionality on a phone and a desktop app.


I think it makes a lot of sense. Think of apps that mobile work force such as sales people, doctors, teachers use. A big financial company I know has been spending millions of dollars for developing an iPad app for its sales people that provides same functionality which is provided by their existing desktop app.

WORA would have been such a cost saver in this case.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Bear Bibeault wrote:
Paul Anilprem wrote:Microsoft's Windows 8 platform could be that disruptive technology if it gets good traction on mobile devices.

That's not a horse I'd bet on.

I have a friend who's a technology reporter who was at CES. He reports that all of the Windows 8 (and Windows Surface) products have been pretty much ignored by the attendees. There were long waiting lines to "play" with Android devices, while in the other booths, Microsoft products were just sitting on the tables.

I think it's too early to brand Windows 8 and Surface as failures, but there's a lot of writing on the walls that they're going to be niche players at best.


You wouldnt believe but at least one big financial company I know still uses Win XP. All webapps are developed against IE 6 in this company. In fact, it doesn't let employees install firefox or chrome.
I can bet that once this company moves to Windows 8 (or later version) some time in future, it will make it mandatory to develop all applications as Windows 8 apps. It may very well standardize the the use of Windows 8 Phone. And I wouldn't blame them as it will save them money....just like java application and later web applications saved them money as compared to SmallTalk clients.

My point is, such companies are not rare and they can drive things that may not be "popular" at all.

I am not saying Windows 8 will definitely be that thing, but it has the potential.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Joe Ess wrote:I think WORA made more sense when we all had desktop devices that differed only by OS. It doesn't make sense to expect the same functionality on a phone and a desktop app.


Except that Java never delivered WORA. There is more to making a native app than having the icons and pointers reflect the native style. It was never delivered by Java and not by Smalltalk (where I think the concept originated).

The fundamental concept of it is wrong. You have to design for the hardware capability. Does the device has a touch screen? Can you do pop-over tool-tips? Do you have GPS and accelerometers?

More important to me is that Java has fundamental flaws that show its age.

1) its insanely complex, with typical applications using tens if not hundreds of major libraries, each with very complex APIs that must be mastered
2) its very hard to write proper code for parallel processing, and today even smartphones have quad core processors. Soon it will be 16 and then 64 cores, and only super gurus like our Henry will have a prayer of writing working code.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Paul Anilprem wrote:You wouldnt believe but at least one big financial company I know still uses Win XP. All webapps are developed against IE 6 in this company. In fact, it doesn't let employees install firefox or chrome.

I know of many such companies. Just by the fact that these have their heads stuck in 2001 means that they will not be big players in the mobile market any time in the near future. By the time they get around to pulling their heads out of the past, they'll either choose to, or be forced to, adopt what's prevalent and available in the market. They will not be the companies that are driving and defining that market.

The companies that are driving the business adoption in the mobile industry today are choosing iOS or Android. I just don't see a way to Microsoft can force their way into this market at this point; especially with the cold reception that its offerings are experiencing.

My point is, such companies are not rare and they can drive things that may not be "popular" at all.

Again, I think that they will be too little too late. They can't drive the adoption of something that has already withered on the vine. It's like saying that these companies could drive the adoption of the Blackberry. That ship has sailed. I think the same will be true of Microsoft's mobile offerings in the future.

I am not saying Windows 8 will definitely be that thing, but it has the potential.

Not seeing it. It used to be that Microsoft, as the 800 lb industry gorilla, could force its way into the room and dominate the party. Those days are long passed. Today, Microsoft is the poorly dressed, awkward black sheep cousin that no one in the room wants to acknowledge.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Paul Anilprem wrote:You wouldnt believe but at least one big financial company I know still uses Win XP. All webapps are developed against IE 6 in this company. In fact, it doesn't let employees install firefox or chrome.


Of course we believe it. Its common, perhaps even typical of large companies. These companies run on, literally business critical, applications that were custom built. If the applications don't run or even if they have to retrain 50,000 or 100,000 employees in changes, its a huge problem.

They all tried Vista and were badly burned. It cost hundreds of millions of dollars, all being ripped off the profit line. Some are just starting to roll out Windows 7, and that will take years. These folks have zero interest in Windows 8. Maybe in 15 years.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Pat represents exactly my point. These Luddite companies will have no part in determining the makeup of the mobile space to come.

They will have no more role in influencing what will be adopted than they now have in influencing people to use IE6. They can dictate what will be used within their own fiefs, but when it comes to shaping the industry, they're irrelevant.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

I kind of skimmed through this a little, but I want to say I think we are about to see another level of Java on mobile.


Right now we only have Java on Android and I believe Windows Mobile.

At the last JavaOne they discussed JavaFX on mobile devices which is a HUGE boost for our platform. 3D goodness and advanced features are going to be great!

I also hear apple might be getting some Java Licenses... Ihear they have one already, just not for mobile....

We will see what happens though, Java is still a growing language, even though it's almost 20 years old.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Jay Orsaw wrote:At the last JavaOne they discussed JavaFX on mobile devices which is a HUGE boost for our platform.

I think that's a lot of wishful thinking. For all I have been able to gather, JavaFX is generally considered DOA. I don't think it's going to have any effect on the mobile space at all. (Or any space at all, for that matter.)

I also hear apple might be getting some Java Licenses...

Not sure what you mean by this. Java has been available on OS X from the start. But I would be very very (in fact ultra) surprised if Java suddenly appeared in iOS. I think it'd be great -- not wanting to deal with Objective-C is the only thing that's kept me from coding for iOS -- but I just don't see it happening.

We will see what happens though

So true of everything in this industry.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Bear Bibeault wrote:
Jay Orsaw wrote:At the last JavaOne they discussed JavaFX on mobile devices which is a HUGE boost for our platform.

I think that's a lot of wishful thinking. For all I have been able to gather, JavaFX is generally considered DOA. I don't think it's going to have any effect on the mobile space at all. (Or any space at all, for that matter.)

I also hear apple might be getting some Java Licenses...

Not sure what you mean by this. Java has been available on OS X from the start. But I would be very very (in fact ultra) surprised if Java suddenly appeared in iOS. I think it'd be great -- not wanting to deal with Objective-C is the only thing that's kept me from coding for iOS -- but I just don't see it happening.

We will see what happens though

So true of everything in this industry.


DOA is Dead on Arrival? Why would you say that/ I love FX, why would Oracle put so much into it if it's going to go no where?

I would be surprised to, because no one wants to learn Obj-C for 1 app...


and Yes our industry gets a bit nuts , but isn't that the fun of it all?


By the way I just noticed, but what's up with the cows next to your names?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Jay Orsaw wrote:DOA is Dead on Arrival? Why would you say that

Just reporting what I've heard. Personally, I'm a web applications guy so could care less about JavaFX.

why would Oracle put so much into it if it's going to go no where?

Surely you jest. Lots of effort gets put into lots of things that go nowhere.

I would be surprised to, because no one wants to learn Obj-C for 1 app...

I would say you're wrong. Very wrong. Many thousands of people have learned Objective-C so that they can write apps for iOS. I'm just not one of them.

Did you not read the very first paragraph of the page I linked to in your other post?
TIOBE wrote:Objective-C has won TIOBE's Programming Language Award for the second consecutive time! The award is given to the programming language that gained most market share in 2012. The market share of Objective-C is 3.37% higher than it was in January 2012. The major cause of Objective-C's win is of course the booming business of mobile phone application development.


By the way I just noticed, but what's up with the cows next to your names?

See the Ranch Office.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Jay Orsaw wrote:Java is still a growing language, even though it's almost 20 years old.

Its growing, but IMHO, YMMV, etc. I think its no longer the language of the future.

The mobile space needs two architecturally different kinds of applications.

First they need on-platform applications, such as games, utilities (camera controllers, compasses) which have to have great UI and have modest data storage needs

The second is distributed cloud applications, or applications that combine serious server software with a mobile-based client. Google Map providing directions is a good example. Its unlikely that any mobile device will store all the data that Google Maps has in their servers. Its impractical to download it all. So these apps work much like traditional HTML/Java-servlet apps, you talk to the user, then go talk to the server, get an answer and talk to the user again.

I think that Java makes it too hard to design the GUI stuff that both of these architectures require.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Bear Bibeault wrote:
Jay Orsaw wrote:I would be surprised to, because no one wants to learn Obj-C for 1 app...

I would say you're wrong. Very wrong. Many thousands of people have learned Objective-C so that they can write apps for iOS. I'm just not one of them.


No one wants to learn a new language for one app. You learn Objective-C because you want to make lots of money writing for IOS and running on iPods, iPhones, iPads and iTVs.
Whether you write one app or many, the goal is the same.

If you look objectively, Objective-C is simple a C-like language with some Smalltalk-like extensions. The extensions are the NextStep and Apple magic frameworks that make the GUI, touch gestures, etc. work. Look at Java, its a simple C-like language with OO extensions, that has dozens of frameworks that try to provide most of the framework that Apple provides.

In practice, once you have learned a few languages, there is no difference between writing in Objective-C and writing Java with a GUI framework.

But you can make a lot more money writing for IOS today.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41509
    
  53
It's true, JavaFX is here, and it works, and parts of it are way more powerful than what Swing offers, but who cares? That's desktop Java, and that's dead for all practical purposes.

Oracle's talk notwithstanding, I have yet to see a reasonably stable, functional, recent version of JavaFX on a mobile platform. And even it were to be, what platform would that be - JME? Again, who cares at this point? That, too, is dead for all practical purposes - certainly as far as attracting developers that need to make a living is concerned.


Ping & DNS - my free Android networking tools app
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Ulf Dittmer wrote:Oracle's talk notwithstanding, I have yet to see a reasonably stable, functional, recent version of JavaFX on a mobile platform.

I started using Oracle products in the mid-1980s. Oracle talks a lot. They have a strong record of talking a lot about supporting products until the day they kill them. Only money talks at Oracle. It can be either money coming in to Oracle or money Oracle is spending to push something. Without visible money, its all just smoke and marketing talk.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Bear Bibeault wrote:
Jay Orsaw wrote:DOA is Dead on Arrival? Why would you say that

Just reporting what I've heard. Personally, I'm a web applications guy so could care less about JavaFX.

why would Oracle put so much into it if it's going to go no where?

Surely you jest. Lots of effort gets put into lots of things that go nowhere.

I would be surprised to, because no one wants to learn Obj-C for 1 app...

I would say you're wrong. Very wrong. Many thousands of people have learned Objective-C so that they can write apps for iOS. I'm just not one of them.

Did you not read the very first paragraph of the page I linked to in your other post?
TIOBE wrote:Objective-C has won TIOBE's Programming Language Award for the second consecutive time! The award is given to the programming language that gained most market share in 2012. The market share of Objective-C is 3.37% higher than it was in January 2012. The major cause of Objective-C's win is of course the booming business of mobile phone application development.


By the way I just noticed, but what's up with the cows next to your names?

See the Ranch Office.


Idk, I love FX personally, it has a lot more power than swing. Also wasn't FX created for the web, as an RIA(Rich Internet Application)??? Currently I'm creating an applet with fx for someone for the web, so it does get it's use....



Yes it's possible that FX could go no where, and that Oracle spent tons of time wasted on it, but I honestly doubt it. Like I mentioned previously it's so much more powerful. Besides the powerful UI, 3D manipulation, it already has features for mobile, tablets, etc. When JDK 8 and FX 8 come out there are going to release a bunch more features

http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html

Sensor Support
Future versions of JavaFX are expected to incorporate support for on-device sensors, including accelerometers, gyroscopes and geo-location. Combined with multi-touch support, which was introduced as part of JavaFX 2.2, JavaFX will provide a strong foundation for embedded and mobile devices.


Next comes obj-c yes, people will learn it to create many apps, and to make money since mobile is a huge part of the market now. What I was saying is, if you created something and just wanted it to be on iOS as well, there is no real point in learning a language just for one thing. Like you and others said if you seriously are going to be in the mobile market, then yes learn all you can and take advantage of it.




Ulf Dittmer wrote:It's true, JavaFX is here, and it works, and parts of it are way more powerful than what Swing offers, but who cares? That's desktop Java, and that's dead for all practical purposes.

Oracle's talk notwithstanding, I have yet to see a reasonably stable, functional, recent version of JavaFX on a mobile platform. And even it were to be, what platform would that be - JME? Again, who cares at this point? That, too, is dead for all practical purposes - certainly as far as attracting developers that need to make a living is concerned.


Again what's the point of FX to be an RIA? How is it only desktop? I don't see how it wouldn't work with client server, or the internet, also desktop only isn't really "dead." Server side is nice, but not always needed.

Again, Oracle just announced it at the recent JavaOne, there is no release of actual mobileFX, why would it be JME? Java runs on Android now, I don't know why FX would be any different than running a normal Java Application on the phone....
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Jay Orsaw wrote:Idk, I love FX personally

Please use real words when posting, thanks. For others, Idk == "I don't know".

Your personal feeling for JavaFX has little bearing on its general adoption. It's good that you like it. But it's still not enjoying widespread use.

Also wasn't FX created for the web, as an RIA(Rich Internet Application)???

And that has fallen as flat on its face, if not flatter, than original applets.

Currently I'm creating an applet with fx for someone for the web, so it does get it's use....

Again, no one said "absolutely no one" uses it. But as far as general adoption goes, abysmal is the term that comes to mind.

Yes it's possible that FX could go no where, and that Oracle spent tons of time wasted on it, but I honestly doubt it. Like I mentioned previously it's so much more powerful.

All that is moot. As Ulf pointed out, Java for the desktop is as dead as yesterday.You can argue otherwise, but the facts don't support you. And it's not going to catch on for mobile. And few people are going to use it for the web. So what good is all that power?

In any case, let's bring this topic back to the subject of mobile. If further discussion on the state of desktop Java is to be conducted, your other post on opinions regarding Java would be a good place.

there is no real point in learning a language just for one thing

Again, you can only speak for yourself. I actually do know a few people that learned Objective-C to write just one application. To a seasoned developer, picking up new languages is fairly trivial.

I don't know why FX would be any different than running a normal Java Application on the phone....

Android has its own environment. It's not likely to get dumped in favor of JavaFX.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Bear Bibeault wrote:
Jay Orsaw wrote:Idk, I love FX personally

Please use real words when posting; perfectly good words like "I don't know"

You're presonal feeling for JavaFX has little bearing on its general adoption. It's good that you like it. But it's still DOA.

Also wasn't FX created for the web, as an RIA(Rich Internet Application)???

And that has fallen as flat on its face, if not flatter, than original applets.

Currently I'm creating an applet with fx for someone for the web, so it does get it's use....

Again, no one said "absolutely no one" uses it. But as far as general adoption goes, abysmal is the term that comes to mind.

Yes it's possible that FX could go no where, and that Oracle spent tons of time wasted on it, but I honestly doubt it. Like I mentioned previously it's so much more powerful.

All that is moot. As Ulf pointed out, Java for the desktop is as dead as yesterday.You can argue otherwise, but the facts don't support you. And it's not going to catch on for mobile. And few people are going to use it for the web. So what good is all that power?

there is no real point in learning a language just for one thing

Again, you can only speak for yourself. I actually do know a few people that learned Objective-C to write just one application. To a seasoned developer, picking up new languages is fairly trivial.

I don't know why FX would be any different than running a normal Java Application on the phone....

Android has its own environment. It's not likely to get dumped in favor of JavaFX.


No offense, but I didn't know what "DOA" or "YMMV" was either, so I think everyone should do the same, so yes sorry about "IDK."

again, why is it only for the desktop? I wasn't saying that most things aren't client/server, I was simply stating that desktop has it's uses... It has no applications on the web at all, nor on the server side? I know a lot of people don't like to run applets, and just want everything laid on the screen without having to do extra steps.


I'm also not sure what you are referring to by "dumped" and why FX wouldn't run exactly like normal Java code runs on android. Android uses Java and XML, and FX uses FXML and Java. So I'm not sure where you think that FX wont be good on mobile?? We haven't even seen it come out yet, so it's In my opinion, hard to say how it's going to turn out.


As for widespread use, it's pretty new if we look at it. 2.0 came out in what, October 2011? IT's still pretty new in the long run. I mean look at Python, it's just starting to get recognition after 20 years....

Also I was just reading wiki when I see this

JavaFX is currently (as of January 2013) deployed on Window, Mac OS X, and Linux.[20] Oracle has currently an internal port of JavaFX on iOS and Android, but the status of the port and the planned availability of these ports is unknown for the moment.[21][22]


http://mail.openjdk.java.net/pipermail/openjfx-dev/2012-December/004670.html

http://mail.openjdk.java.net/pipermail/openjfx-dev/2012-December/004787.html



Again, we will see what happens, and hope for the best.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

"I don't see why not" isn't a compelling reason. Do you have concrete reasons why you feel JavaFX would be superior to the Android SDK for developing mobile apps?
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Bear Bibeault wrote:"I don't see why not" isn't a compelling reason. Do you have concrete reasons why you feel JavaFX would be superior to the Android SDK for developing mobile apps?


Well, Maybe I'm confused. The Android SDk I have is a bundle with Netbeans IDE that runs Java code and XML. I have a virtual device that I also run with it. Liek I said above FX runs FXML and Java, so is there an issue? I've never ran it with another IDE or such, so again am I missing something?
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Jay Orsaw wrote:Java runs on Android now, I don't know why FX would be any different than running a normal Java Application on the phone....


I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60998
    
  65

Jay Orsaw wrote:Well, Maybe I'm confused. The Android SDk I have is a bundle with Netbeans IDE that runs Java code and XML. I have a virtual device that I also run with it. Liek I said above FX runs FXML and Java, so is there an issue? I've never ran it with another IDE or such, so again am I missing something?

I'm not asking if it's possible or not. Even if it is possible, my question is why? Why would Google want to promote use of JavaFX over the native Android SDK, and why would Android app developers want to use it in place of the Android SDK?

Paul Anilprem wrote:I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.

This is my understanding as well, but I don't know enough about the platform to be 100% certain. But it is true that it's not really a Java JVM, but Dalvik.

From the Wikipedia article:
Wikipedia wrote:Dalvik does not align to Java SE nor Java ME class library profiles[9][10] (e.g., Java ME classes, AWT or Swing are not supported). Instead it uses its own library[11] built on a subset of the Apache Harmony Java implementation.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Paul Anilprem wrote:
Jay Orsaw wrote:Java runs on Android now, I don't know why FX would be any different than running a normal Java Application on the phone....


I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.


I believe it converts to what is called the Delvik Virtual Machine or DVM. I don't know the finer details which is why I'm asking questions. I personally thought it could do most anything, but I guess not, and now that I re-look up what I did the other day

Dalvik does not align to Java SE nor Java ME class library profiles[9][10] (e.g., Java ME classes, AWT or Swing are not supported). Instead it uses its own library[11] built on a subset of the Apache Harmony Java implementation.


So yeah I'm not 100% sure, I thought it would be able to fully utilize all of it's language, so then what language does it fully support as of now, only "GO?"

I'm not sure what Oracle is planning then, if Android doesn't support the libraries, then there isn't much point in porting it, so I'm curious how the libraries are going to interact.


@Bear I explained what I said about the SDK integration.... What is the SDK then, if not the plugins for our IDE's? On their site it says it right there Plugin for Eclipse. No one is using something "in place" of the SDK.... Again am I the one who's confused? I need an answer to that question. It's not like I'm just using Java code and plopping it onto the android without the use of the SDK....




EDIT: I see you saw the same link, so yeah we are all on the right page now.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Paul Anilprem wrote:I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.


Its a legal problem, not a technical one. Oracle wants a license and money to run Java on a platform. Google doesn't want to pay. So Google implemented Dalvic. They claim in a clean room. So you actually write Java code that runs on the Dalvic JVM and uses Dalvic libraries when you call Dalvic APIs.

To anyone but a lawyer, you write Java code to call Dalvic APIs and run java on anddroid.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Pat Farrell wrote:
Paul Anilprem wrote:I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.


Its a legal problem, not a technical one. Oracle wants a license and money to run Java on a platform. Google doesn't want to pay. So Google implemented Dalvic. They claim in a clean room. So you actually write Java code that runs on the Dalvic JVM and uses Dalvic libraries when you call Dalvic APIs.

To anyone but a lawyer, you write Java code to call Dalvic APIs and run java on anddroid.


Yeah I was reading up on that lawsuit, good work Oracle! Wiki said it was for "9 lines of code" what? haaha...... I believe that is the SAME ISSUE as iOS they want licensing money and Apple is basically "no...." So what I want to know is what their talk is about, what exactly are they planning to do?

I am also curious about this licensing rumor of Java and iOS....
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Jay Orsaw wrote: I thought it would be able to fully utilize all of it's language, so then what language does it fully support as of now, only "GO?" I'm not sure what Oracle is planning then, if Android doesn't support the libraries, then there isn't much point in porting it, so I'm curious how the libraries are going to interact.


Oracle wants money from Google, it has, and probably plans to in the future, sue Google to get money.

What do you mean by "all of its language"? Precisely.

Your original subject line talks about Java. Java is a small language. Java generates byte code that can be executed by a virtual machine. Lots of people use the Java Virtual Machine that Sun invented and that Oracle owns today. Some people use other virtual machines, such as the one Azul systems wrote. On Android, you use the Dalvic virtual machine.

In all cases you write Java source code, run it through a Java compiler to get byte code. [well the Android SDK's compiler generates DEX, which is like byte-code but not to a lawyer]

There is probably no future for the JVM on smartphones. IOS doesn't support it, Apple doesn't like Java. Google doesn't support it on Android, they like Dalvic. Microsoft doesn't like Java, they like C#.

And I don't like Java's future no matter what virtual machine it is running on.

Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Pat Farrell wrote:

Except that Java never delivered WORA. There is more to making a native app than having the icons and pointers reflect the native style. It was never delivered by Java and not by Smalltalk (where I think the concept originated).

The fundamental concept of it is wrong. You have to design for the hardware capability. Does the device has a touch screen? Can you do pop-over tool-tips? Do you have GPS and accelerometers?

More important to me is that Java has fundamental flaws that show its age.

1) its insanely complex, with typical applications using tens if not hundreds of major libraries, each with very complex APIs that must be mastered
2) its very hard to write proper code for parallel processing, and today even smartphones have quad core processors. Soon it will be 16 and then 64 cores, and only super gurus like our Henry will have a prayer of writing working code.


I disagree with most of the arguments here. Running the same binary client GUI on multiple OSs is no small feat. Developing a server app on one OS and deploying on another is no small feat. We, and million other companies, sell applications that run on all three desktop OSs. This was not possible before Java.

Of course, WORA can only be as good as the most common denominator for the supported devices. Java was amazingly successful in raising that denominator. You can't expect a toaster to have GPS capabilities. But you can expect it to have network capabilities just like a desktop and running that functionality itself is a big deal.

You say Java APIs are Complex? What would you say about all the C++ libraries, MFC? I haven't seen any other platform that has so many APIs for everything imaginable and all easily usable. You can pick up any java API reasonable quickly. Further, if your application only needs one particular API, you don't need to master other 100s of APIs.

In fact, the fundamental concept of Java was so sound and so good that MS was forced to copy it in .Net. Only niche apps need to be designed for the hardware. Bulk of the applications rely on a standard set of features. All desktops have a screen, a keyboard, and a mouse. For most apps that is common enough. Same holds true for smart phones and there is no reason why Java or Java like platform cannot evolve for these.

Developing code for parallel processing in Java is hard? Compared to what? To languages that are so cryptic that only a Phd holder can use them? If there is a language that makes it easier to write parallel code, does that language also have all the rest of the bells and whistles that Java has? You can't just pick one thing out of 100. You need to see the whole platform.

So, overall, to say that Java never delivered WORA, is not true at all. Java has held the fort for 20 years. It is only after 20 something years I see a strong threat to Java and that too only on the GUI side.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Pat Farrell wrote:
Paul Anilprem wrote:I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.


Its a legal problem, not a technical one. Oracle wants a license and money to run Java on a platform. Google doesn't want to pay. So Google implemented Dalvic. They claim in a clean room. So you actually write Java code that runs on the Dalvic JVM and uses Dalvic libraries when you call Dalvic APIs.

To anyone but a lawyer, you write Java code to call Dalvic APIs and run java on anddroid.

Can you take a jar built on another machine and run it on Android? This is a genuine question.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Paul Anilprem wrote:So, overall, to say that Java never delivered WORA, is not true at all. Java has held the fort for 20 years. It is only after 20 something years I see a strong threat to Java and that too only on the GUI side.


The GUI side is the only place where multi-platforms is hard. I know from experience that 20 years ago, Java did not deliver. I believe that Java took at least a decade before it could claim to deliver a decent cross-platform look-and-feel, with things like drag-n-drop and tooltips. This means that from 1995 well into 2005, Java promised a lot more than it delivered. If you mean weak or approximate run anywhere, then Smalltalk beat Java by at least 15 years, and before that Pascal.

compile-type multi-platform support is much less impressive. Good C programmers have been doing it a long time. Granted, they use really ugly macros in the .H files, but they can do it. I agree that its very nice to be able to write a daemon in Java and deploy it on different platforms with different word sizes, machine architectures, etc. But they were not the first to do it.

I think the JVM is an amazing piece of engineering. Over the years, its gotten faster and more reliable, in addition to gaining features and abilities. But most of today's smartphones, and that is the topic in the subject of this thread, don't run the JVM.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Paul Anilprem wrote:
Pat Farrell wrote:

Except that Java never delivered WORA. There is more to making a native app than having the icons and pointers reflect the native style. It was never delivered by Java and not by Smalltalk (where I think the concept originated).

The fundamental concept of it is wrong. You have to design for the hardware capability. Does the device has a touch screen? Can you do pop-over tool-tips? Do you have GPS and accelerometers?

More important to me is that Java has fundamental flaws that show its age.

1) its insanely complex, with typical applications using tens if not hundreds of major libraries, each with very complex APIs that must be mastered
2) its very hard to write proper code for parallel processing, and today even smartphones have quad core processors. Soon it will be 16 and then 64 cores, and only super gurus like our Henry will have a prayer of writing working code.


I disagree with most of the arguments here. Running the same binary client GUI on multiple OSs is no small feat. Developing a server app on one OS and deploying on another is no small feat. We, and million other companies, sell applications that run on all three desktop OSs. This was not possible before Java.

Of course, WORA can only be as good as the most common denominator for the supported devices. Java was amazingly successful in raising that denominator. You can't expect a toaster to have GPS capabilities. But you can expect it to have network capabilities just like a desktop and running that functionality itself is a big deal.

You say Java APIs are Complex? What would you say about all the C++ libraries, MFC? I haven't seen any other platform that has so many APIs for everything imaginable and all easily usable. You can pick up any java API reasonable quickly. Further, if your application only needs one particular API, you don't need to master other 100s of APIs.

In fact, the fundamental concept of Java was so sound and so good that MS was forced to copy it in .Net. Only niche apps need to be designed for the hardware. Bulk of the applications rely on a standard set of features. All desktops have a screen, a keyboard, and a mouse. For most apps that is common enough. Same holds true for smart phones and there is no reason why Java or Java like platform cannot evolve for these.

Developing code for parallel processing in Java is hard? Compared to what? To languages that are so cryptic that only a Phd holder can use them? If there is a language that makes it easier to write parallel code, does that language also have all the rest of the bells and whistles that Java has? You can't just pick one thing out of 100. You need to see the whole platform.

So, overall, to say that Java never delivered WORA, is not true at all. Java has held the fort for 20 years. It is only after 20 something years I see a strong threat to Java and that too only on the GUI side.



hahaha Paul you're amazing, I wish I cold give you 1000 thumbs up for this. I agree soo much with this, but to speak about the GPS functionality, again that's what the Sensor support on FX is going to include.

Sensor Support
Future versions of JavaFX are expected to incorporate support for on-device sensors, including accelerometers, gyroscopes and geo-location. Combined with multi-touch support, which was introduced as part of JavaFX 2.2, JavaFX will provide a strong foundation for embedded and mobile devices.


Also what's this "strong threat" on the GUI side?> That's why FX is around :p.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Paul Anilprem wrote:Can you take a jar built on another machine and run it on Android? This is a genuine question.


I don't think you mean what you wrote.

Yes, of course, that happens all the time. Its not a big deal. The normal development environment for IOS and Android is to develop on a desktop or laptop and then download the resulting binary to the device. We do it all the time. You can even run code on your Windows/OS-X/Linux machine with another VM, say the Dalvic VM.

What you seem to be trying to argue is that you want to build the same jar and run it on desktops, laptops, servers, smartphones, tablets, TVs, and refrigerators. If so, you really should say that. I personally don't think that is very desirable, and I can argue that its actually a bad thing.

Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Paul Anilprem wrote:Developing code for parallel processing in Java is hard? Compared to what? To languages that are so cryptic that only a Phd holder can use them?


While this is meaningless drivel, this is an amazing red herring.

Compared to languages that hide the complexity for the programmer. Nearly all functional languages do this. Some hybrid languages (Scala, etc.) do this.

My problem with multi-core code in Java is simple: Java has the tools (locks, mutex, semaphores) that can be used to write thread safe code, but it exposes them to the application programmer, the ones without PhDs. Its simple to write code in Java that looks like it works.

Its also simple, nearly trivial, to write subtle bugs in the code that breaks at exactly the worst time when you most need it to scale.

One is left with a dilemma: write code that is simple to look at, but is not procedural and thus looks cryptic at first glance, or
write code that looks like it works but fails.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3285
    
    7
Pat Farrell wrote:
Paul Anilprem wrote:Can you take a jar built on another machine and run it on Android? This is a genuine question.


I don't think you mean what you wrote.

Yes, of course, that happens all the time. Its not a big deal. The normal development environment for IOS and Android is to develop on a desktop or laptop and then download the resulting binary to the device. We do it all the time. You can even run code on your Windows/OS-X/Linux machine with another VM, say the Dalvic VM.

What you seem to be trying to argue is that you want to build the same jar and run it on desktops, laptops, servers, smartphones, tablets, TVs, and refrigerators. If so, you really should say that. I personally don't think that is very desirable, and I can argue that its actually a bad thing.


I apologize if my question is not clear. Please attribute it to my ignorance of the Android development process. I can give you an example of what I mean, if that makes it more clear. Can a Java desktop application jar (that has windows, dialogs, tables, trees) run on Android as it is?
If it is the GUI APIs that is a problem, can a headless java application jar (which uses all of JRE except awt and swing) run on Android as it is?

If the answer to both of the above questions is no, then would it be fair to say that the platform doesn't support the any version of Java? If so, I see that as a threat to Java because it forces companies like ours to look for technologies that can deliver our content to popular consumer devices without have to maintain multiple code bases. Up to this point, i.e. before Android and iOS devices became so popular, Java (as in the JRE ) was a winner for us. It doesn't look that way anymore. Any technology that gives us WORA for this generation is what is required.


 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Smartphones and the future of Java