Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (487)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (553)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  JavaSE for iOS/Android to feature JavaFX  (Read 3696 times)
0 Members and 1 Guest are viewing this topic.
Offline Mike

JGO Wizard


Medals: 74
Projects: 1
Exp: 6 years


Java guru wanabee


« Posted 2013-02-13 14:10:22 »

Let's hope that this will improve Oracle's view of consumers using java Smiley

Quote
The first bits and pieces for iOS should be out next week, with the rest of iOS and Android coming out at about the same time as the rest of prism (there is some timing dependency there). Both our ports are based on an as-yet unreleased version of JavaSE Embedded for iOS/Android.

Source: http://fxexperience.com/2013/02/february-open-source-update/

Mike

My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2013-02-13 14:56:21 »

I couldn't care less really, what I want to know is, how is the JVM part going to work?

Cas Smiley

Offline Danny02
« Reply #2 - Posted 2013-02-13 15:02:26 »

yeah quite interesting^^

I also think that all the tech which goes into java fx would be quite cool for us.

I for example stumbled over jsl.  A own shader language for effects, which they can compile(Decora compiler) to OpenGL, D3D and Java(software mode).

It would be also quite nice if we could finaly use a real ui framework in our OpenGL games.

It should be not that hard to implement javafx with JOGL or lwjgl, especially when everything is opensourced in a few weeks.

Using the OpenGL backend from java fx would be even better, no need for hacky things like libgdx is doing atm to get things running on android & ios.
This should give us probably also a speed up on android when we get to us a "real" javaVM on there

ps:
[...], how is the JVM part going to work?

the say that they have an undisclosed Java SE Embeeded VM for iOs and Android. And that it will be first available with OpenJDK and OpenFX.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2013-02-13 15:26:21 »

As it's actually enforced by iOS that apps can't execute data or turn data pages into code pages AFAIK I'd be rather interested to see how the JVM works. Unless of course it is a pure interpreter in which case it's about as useful as a chocolate fireguard.

Cas Smiley

Offline Danny02
« Reply #4 - Posted 2013-02-13 15:46:08 »

is there a difference in the rules for the iOS appstore and the one for the Mac?
Because the already published the JavaFx sample app to the Mac appstore
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5 - Posted 2013-02-13 15:48:44 »

Never mind the Mac desktop, Java is already alive and well there.

Cas Smiley

Offline davedes
« Reply #6 - Posted 2013-02-13 17:32:25 »

Using the OpenGL backend from java fx would be even better, no need for hacky things like libgdx is doing atm to get things running on android & ios.
This should give us probably also a speed up on android when we get to us a "real" javaVM on there
What kind of 'hacky things' is LibGDX doing in the Android backend?

Offline nsigma
« Reply #7 - Posted 2013-02-13 19:18:26 »

Using the OpenGL backend from java fx would be even better, no need for hacky things like libgdx is doing atm to get things running on android & ios.
This should give us probably also a speed up on android when we get to us a "real" javaVM on there
What kind of 'hacky things' is LibGDX doing in the Android backend?

It's almost like he's suggesting using Dalvik is hacky - he might be right!  Wink

Never mind the Mac desktop, Java is already alive and well there.

I think he was making the point about the app store rules on the desktop, and how similar (or not) they may be to the iOS ones.  Apple allow apps that use OpenJDK in the desktop app store as long as they ship with the VM included.  I wonder if that Oracle announcement means that they expect the same to hold for iOS?  It also talks about using OpenJDK with OpenJFX to target Android and iOS - no mention of whether they're open sourcing a VM with decent speed on ARM though!

Praxis LIVE - open-source intermedia toolkit and live interactive visual editor
Digital Prisoners - interactive spaces and projections
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2013-02-13 20:06:43 »

Oracle aren't stupid and neither are we. It's going to either ship with Zero, and it'll be a complete laughing stock; or they've developed an AOT compiler and VM runtime. I'm hoping for the latter.

Cas :0

Online CommanderKeith
« Reply #9 - Posted 2013-02-14 00:51:16 »

Interesting, thanks for the link Mickelukas.
I did some research and it looks like Oracle have 2 JVM's for ARM, both of which use openjdk 8 class libraries, but the 'embedded' version features an optimised hotspot VM, while the ordinary version still has a hotspot VM, but is not optimised for ARM. See Henrik's post in this thread (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=27805):
Quote
by henrik » Tue Jan 01, 2013 6:24 am
oracle embedded JRE preview
pros: seems to be the fastest option, supplied class libraries include accelerated javafx implementation.
cons: propietary, doesn't appear to be redistributable, still prerelease, supplied class libraries are jdk8 based and don't include AWT/swing (though apparently the oracle embedded vm can be used with the class libraries from raspbian openjdk to get AWT/swing support).
forum thread: viewtopic.php?f=81&t=26110


That should be "Oracle JDK 8 preview for Linux/ARM". Our Java SE Embedded products (that you call the embedded JRE) is a commercial variant optimized for low memory footprint.

A few clarifications:
- All implementations use the OpenJDK class libraries, but with different VMs
- OpenJDK is developed by Oracle and other members of the OpenJDK community
- The Oracle JDK is based on OpenJDK, adding a few features that we either don't have the right to open source or that we keep closed for commercial reasons. For now that includes our ARM port of Hotspot, which is highly optimized.
- Oracle JDK binaries undergo extensive testing and are likely the highest quality.
- Oracle JDK is free (as in beer) for most purposes including redistribution with applications, see the license agreement you click through to download JDK 7
- The Oracle JDK 8 preview is under an early access license with more reatrictions
- Using the Swing/AWT libraries from OpenJDK 7 or Oracle JDK 7 with the JDK 8 preview is unlikely to work moving forward, but you can always compile OpenJDK 8 (our binaries and the OpenJDK source are kept in sync)
- JavaFX is partially available open source in the OpenJFX project on java.net, and will be fully open sourced over the next few months (including the ARM port)

Henrik Ståhl
Sr. Director, Product Managament
Java Platform Group, Oracle

Richard Bair also posted a performance comparison of JVM 8 vs GCC on the RPi, and java is faster: http://fxexperience.com/2012/12/javafx-on-raspberry-pi/.
I think the JVM hotspot version he is using is 'embedded' since the file name has an 'e' in the 'b36e' build number: http://www.java.net/download/JavaFXarm/jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz

Hopefully Oracle eventually opensource all of the embedded hotspot VM. But if they don't, at least we have an ordinary hotspot VM for ARM.
According to the post linked to by Mickelukas (http://fxexperience.com/2013/02/february-open-source-update/):
Quote
...we do not yet have iOS / Android on our official release roadmap, so that for the time being, the only way to use JavaFX on iOS is via OpenJDK / OpenJFX. I can imagine this would make open source guys smile (open source goes where closed source does not!). This is also why we’ve been prioritizing open source so highly for the last little while — when OpenJFX can be built without any binary stubs, then there is nothing stopping you from taking OpenJFX with iOS port + OpenJDK and creating commercial applications that can be sold in the iOS app store.

So that means that any VM on iOS or Android will have to be a derivative of the open-source openJDK 8 and not the close-sourced 'embedded' version, which means that iOS and Android will be running the slower unoptimised hotspot JIT.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #10 - Posted 2013-02-14 01:16:08 »

And thus rubbish. And on iOS, they can't even use JamVM or Cacao JITs, so it'll have to be pure interpreter only.

Cas Smiley

Online CommanderKeith
« Reply #11 - Posted 2013-02-14 01:51:08 »

It would be interesting to see a performance comparison of the two hotspot VM's. I haven't got a raspberry Pi to test.
There's a chance that the performance difference is not large. Especially considering that a lot of our game code will execute openGL stuff which is not done on the CPU, the performance of the embedded hotspot JIT compiler might only result in a small performance benefit over the ordinary hotspot JIT compiler. Also, both use ARM hard float.

on iOS, they can't even use JamVM or Cacao JITs, so it'll have to be pure interpreter only.
Why can't they use JIT's? According to Richard Bair from Oracle (http://fxexperience.com/2013/02/february-open-source-update/):
Quote
There have been some question about licensing on iOS as Apple doesn’t allow for GPL licensed applications in their app store. OpenJFX and OpenJDK are both licensed with the same GPLv2 with Classpath Extension. My understanding (and I’m not a lawyer) is that this means that if you take OpenJFX + OpenJDK (minus any binary stubs released under a different license), then you can safely combine this with your application and release your application under your own license as a single application co-bundle.

Offline sproingie

JGO Kernel


Medals: 202



« Reply #12 - Posted 2013-02-14 03:03:22 »

Why can't they use JIT's? According to Richard Bair from Oracle [ snip ]

It's nothing to do with licensing.  All JITs execute code from from data segments, which is forbidden by iOS and Windows 8 RT.  Nitro and IE10's JIT work on those OS's because the vendor special-cased them.
Online CommanderKeith
« Reply #13 - Posted 2013-02-14 06:09:02 »

Ah i see, thanks. Well, that sucks about iOS.
At least android apps will benefit.

Offline concerto49

Junior Member





« Reply #14 - Posted 2013-02-14 08:52:35 »

Why can't they use JIT's? According to Richard Bair from Oracle [ snip ]

It's nothing to do with licensing.  All JITs execute code from from data segments, which is forbidden by iOS and Windows 8 RT.  Nitro and IE10's JIT work on those OS's because the vendor special-cased them.


Oracle will work out a deal on Windows 8 RT too! Can't lose to Adobe.

High performance, fast network, affordable price VPS - Cloud Shards
Available in Texas, New York & Los Angeles
Need a VPS Upgrade?
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #15 - Posted 2013-02-14 09:56:07 »

It's all about the one single whimsy of Apple. They'll either special case it - or not. If they don't - the Zero VM is worthless. Unfortunately CommanderKeith the Zero VM is so slow you're not going to be doing anything much exciting with it, unless you like watching loading screens. It will be so farcically poor that the Java platform will simply be laughed off of iOS, and rightfully so. I've got a RPi here and I can tell you that the Oracle Embedded VM is approximately 5x faster than anything else out there, and that makes a hell of a lot of difference on the sorts of chips you find in iPhones.

When you look at the quality bar that native C++ applications are setting on ARM based systems you've really got to have a good VM to compete with them.

Cas Smiley

Offline badlogicgames
« Reply #16 - Posted 2013-02-14 11:46:06 »

I bet they use Zero on iOS. Reason being that JavaFX "does all the heavy lifting on the GPU", which is of course bullshit. I also wonder how interop with native UI APIs is meant to be done, e.g. integration of IAP dialogs, advertisement etc. If they ship their own VM on Android, that might be an interesting excercise in frustration, having both Dalvik and their VM coexist and communicate.

http://www.badlogicgames.com - musings on Android and Java game development
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #17 - Posted 2013-02-14 12:30:07 »

I expect they'd coexist just fine - Android can just talk natively to C after all so it can talk to a normal JVM via JNI. Seeing as JDK7 embedded is so much faster than ordinary Dalvik I wonder why I've not tried it myself yet. Hm.

Cas Smiley

Offline badlogicgames
« Reply #18 - Posted 2013-02-14 14:37:28 »

Having to wrap Android APIs via JNI to call into them from Oracle's VM sure sounds like an efficient use of someones time.

http://www.badlogicgames.com - musings on Android and Java game development
Online CommanderKeith
« Reply #19 - Posted 2013-02-14 15:24:41 »

It's all about the one single whimsy of Apple. They'll either special case it - or not. If they don't - the Zero VM is worthless. Unfortunately CommanderKeith the Zero VM is so slow you're not going to be doing anything much exciting with it, unless you like watching loading screens. It will be so farcically poor that the Java platform will simply be laughed off of iOS, and rightfully so. I've got a RPi here and I can tell you that the Oracle Embedded VM is approximately 5x faster than anything else out there, and that makes a hell of a lot of difference on the sorts of chips you find in iPhones.
That's too bad. Apple really makes things hard. What is frustrating is that even if someone got around Apple's ridiculous restrictions and managed to make iOS run java (or any other cross-platform language), then Apple would change their software or license to forbid it, in the name of security/compatibility/user experience, when really their underlying motivation is to have captive developers and programs.

By the way, kudos to badlogicgames for being that person to make libgdx/java run on iOS. But I notice that it still requires devs to buy into the apple tool-chain.

Online Roquen
« Reply #20 - Posted 2013-02-14 16:08:30 »

From the perspective of Apple users and shareholders...they're doing it right.
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #21 - Posted 2013-02-14 16:39:23 »

I've got no problem with paying money to use the Apple toolchain... I just want to use the tools I'm best at. It's true that Apple and Oracle could easily sort this particular problem out to the benefit of everybody. Hell, I'd even pay a license for the JVM per product if that's what it came to.

Cas Smiley

Online Roquen
« Reply #22 - Posted 2013-02-14 18:31:25 »

It might be cheaper just to pay someone to port your stuff to a C family language and call it a day.
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #23 - Posted 2013-02-14 18:52:19 »

As it happens we've got someone doing Monkey ports of Titan Attacks but the point is I want to do it myself and I don't really see why Java should be getting in my way. I could surely do it in C++ from scratch and it wouldn't take a million years but I have better things to do than porting code that's perfectly fine in the first place.

Cas Smiley

Offline gouessej
« Reply #24 - Posted 2013-02-14 22:29:55 »

I still hesitate in spending time in resurrecting the JOGL backend of JavaFX. I will do so if and only if OpenJFX is really free software, if we can freely ship OpenJDK on embedded systems.

Online Roquen
« Reply #25 - Posted 2013-02-15 10:08:45 »

And it's all the more annoying that from time-to-time something promising pops up and then stalls before it becomes interesting.
Online princec

JGO Kernel


Medals: 366
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #26 - Posted 2013-02-15 10:18:59 »

Yes, must have happened about 5 times now. I actually hold out a bit of hope for Excelsior here - they've got half the expertise required to do it but apparently finding smartypants ARM engineers is no easy task.

Cas Smiley

Offline badlogicgames
« Reply #27 - Posted 2013-03-06 02:15:38 »

Looks like shit's getting real: https://bitbucket.org/openjfxmirrors/openjfx-8-graphics-rt/src/008bdab5b9fbd5c56ace638874141cfc83be69d3/glass/glass-lib-ios/src/GlassApplication.m?at=default

http://www.badlogicgames.com - musings on Android and Java game development
Offline gene9

Senior Member


Medals: 10



« Reply #28 - Posted 2013-03-19 16:33:26 »

I've said it before: JavaFX is great for data and widget-centric GUIs with checkboxes and grid controls. For game development you want an API like OpenGL that gives you a way to render polygons with hardware acceleration. JavaFX just isn't designed for that.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

TehJavaDev (17 views)
2014-08-28 18:26:30

CopyableCougar4 (26 views)
2014-08-22 19:31:30

atombrot (39 views)
2014-08-19 09:29:53

Tekkerue (36 views)
2014-08-16 06:45:27

Tekkerue (33 views)
2014-08-16 06:22:17

Tekkerue (22 views)
2014-08-16 06:20:21

Tekkerue (33 views)
2014-08-16 06:12:11

Rayexar (67 views)
2014-08-11 02:49:23

BurntPizza (45 views)
2014-08-09 21:09:32

BurntPizza (36 views)
2014-08-08 02:01:56
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!