Re: JavaFX on iOS and Android: The real problem and challenge
Here's a crazy idea for you guys: how about contributing to RoboVM instead and maybe, just maybe, it would one day become more than a one man project? ;-) I'm of course very aware of the problem you're facing with JFX+iOS and as I said to some of the Oracle guys at J1 I'm very tempted to making it an option to use the OpenJDK class lib with RoboVM and support invokedynamic. These are the major things missing from RoboVM in order to use it with a vanilla OpenJFX8 build (and not the jfx78 backport). I WILL do this work at some point but it's not at the top of my list of priorities. If I could get some help on other things I can get to it sooner. I'm a bit surprised that you're considering starting from scratch with a new project and not building on previous work. Is there something fundamentally wrong with RoboVM, something that cannot be fixed that is preventing you from using it? What would you gain from starting from scratch with OpenJDK? AFAIK there's no AOT compiler in OpenJDK. And you probably cannot reuse code from hotspot (like the GCs) since it's pure GPLv2 (no classpath exception) and it would contaminate the rest of the app's code and force it to be GPL as a whole since you have to link everything statically on iOS (note: this is my interpretation of the GPL, IANAL!). As for RoboVM being a prototype, experimental and not production ready. Yes, it's immature and there are bugs in there but every project is in the beginning (even OpenJDK subprojects ;-) ). It will evolve in time and the more people who use it and contribute the sooner it will mature. Also, all of those terms are subjective. I've stopped saying that it's not production ready myself because for some people it is ready! There are already apps in the App Store developed by others that are working fine and prove this (let me know if you're interested and I'll provide a list of those I'm aware of). In the long term we will provide professional services (support contracts, add-ons, etc) around the RoboVM open-source project. We hope that we can hire a team that can work on this full-time and build a healthy community around it. In the short term our biggest problem is resources, both in terms of man-power and financially. We've been contacted by some companies which would consider sponsoring this project. If you work for a company which would benefit from Java on iOS becoming a reality than please try to convince your management to sponsor. Who knows, if we would focus more on OpenJFX and OpenJDK maybe we could even get some help from Oracle? Perhaps start a petition in the JavaFX community to try to persuade Oracle into supporting RoboVM? Anyone up for it? /Niklas (the RoboVM guy) On Fri, Nov 8, 2013 at 10:36 PM, Richard Bair richard.b...@oracle.comwrote: Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? Richard On Nov 8, 2013, at 1:29 PM, Florian Brunner fbrun...@gmx.ch wrote: Yes, I agree, we need professional JVM ports for iOS, Android and Windows 8. @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net and document what exactly has to be done to port OpenJDK (at least some kind of JavaFX compact profile e.g. without the AWT stack) to these platforms? Also the Mercurial repository and the build should be prepared. I think if there were an easy starting point it would lower the barrier to work on these ports. -Florian Am Donnerstag, 24. Oktober 2013, 08.41:32 schrieb Tobias Bley: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are motivated to develop real commercial apps with JavaFX and contribute stuff back to OpenJFX! RoboVM is a good „prototype“. Niklas is currently one of the most important people for the JavaFX community. He and his company has build the first and one and only real solution to deploy Java and JavaFX code to the iOS platform! His work is really great! But: He is only one(!) person! This kind of complex task I would expect from big companies like Oracle, IBM, SAP or Twitter. But from this direction we don’t hear anything about it. It is not enough that people like Niklas (Trillian AB) or Matthias and me (UltraMixer) are trying to bring JavaFX to iOS and Android. It’s all experimental stuff! Yes, currently we can start JavaFX apps on a real iPhone and iPad. And yes, we have managed to
Re: JavaFX on iOS and Android: The real problem and challenge
So what seems more feasible? a) trying to get AOT inside OpenJDK (and get it maintained as part of the OpenJDK process) - I am sure there must be some interest in this from an IoT perspective. b) Do not use OpenJDk class libraries and make people duplicate work at some other place? My personal opinion is - go with a) and try to figure out the legal hassle (I am sure there must be a way around the GPL problem, mabye similiar to the class path exception?) and donate RoboVM Code to OpenJDK... Just my personal 2cents -Sven P.S. Is there any way to get an answer from Oracle concerning their position towards OpenJDK/JVm/Java and AOT? On Sat, Nov 9, 2013 at 9:44 AM, Niklas Therning nik...@therning.org wrote: Here's a crazy idea for you guys: how about contributing to RoboVM instead and maybe, just maybe, it would one day become more than a one man project? ;-) I'm of course very aware of the problem you're facing with JFX+iOS and as I said to some of the Oracle guys at J1 I'm very tempted to making it an option to use the OpenJDK class lib with RoboVM and support invokedynamic. These are the major things missing from RoboVM in order to use it with a vanilla OpenJFX8 build (and not the jfx78 backport). I WILL do this work at some point but it's not at the top of my list of priorities. If I could get some help on other things I can get to it sooner. I'm a bit surprised that you're considering starting from scratch with a new project and not building on previous work. Is there something fundamentally wrong with RoboVM, something that cannot be fixed that is preventing you from using it? What would you gain from starting from scratch with OpenJDK? AFAIK there's no AOT compiler in OpenJDK. And you probably cannot reuse code from hotspot (like the GCs) since it's pure GPLv2 (no classpath exception) and it would contaminate the rest of the app's code and force it to be GPL as a whole since you have to link everything statically on iOS (note: this is my interpretation of the GPL, IANAL!). As for RoboVM being a prototype, experimental and not production ready. Yes, it's immature and there are bugs in there but every project is in the beginning (even OpenJDK subprojects ;-) ). It will evolve in time and the more people who use it and contribute the sooner it will mature. Also, all of those terms are subjective. I've stopped saying that it's not production ready myself because for some people it is ready! There are already apps in the App Store developed by others that are working fine and prove this (let me know if you're interested and I'll provide a list of those I'm aware of). In the long term we will provide professional services (support contracts, add-ons, etc) around the RoboVM open-source project. We hope that we can hire a team that can work on this full-time and build a healthy community around it. In the short term our biggest problem is resources, both in terms of man-power and financially. We've been contacted by some companies which would consider sponsoring this project. If you work for a company which would benefit from Java on iOS becoming a reality than please try to convince your management to sponsor. Who knows, if we would focus more on OpenJFX and OpenJDK maybe we could even get some help from Oracle? Perhaps start a petition in the JavaFX community to try to persuade Oracle into supporting RoboVM? Anyone up for it? /Niklas (the RoboVM guy) On Fri, Nov 8, 2013 at 10:36 PM, Richard Bair richard.b...@oracle.com wrote: Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? Richard On Nov 8, 2013, at 1:29 PM, Florian Brunner fbrun...@gmx.ch wrote: Yes, I agree, we need professional JVM ports for iOS, Android and Windows 8. @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net and document what exactly has to be done to port OpenJDK (at least some kind of JavaFX compact profile e.g. without the AWT stack) to these platforms? Also the Mercurial repository and the build should be prepared. I think if there were an easy starting point it would lower the barrier to work on these ports. -Florian Am Donnerstag, 24. Oktober 2013, 08.41:32 schrieb Tobias Bley: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are
Re: JavaFX on iOS and Android: The real problem and challenge
Hi, Pardon me for saying this but I think Oracle is really handling this issue very badly. I think very poor communication strategy is the real issue and source of much frustration from the community. I can see that Oracle is indeed working and assigning programming hours to bringing JavaFX to iOS and Android but there is very little communication going on about Oracle progress on this.. I think Oracle should tell us more about their work with javafx on iOS and Android. Oracle should create an article or wiki or whatever about their progress on this: 1 - That site/article/whatever should detail what's the current state, what's missing, what's the roadmap.. 2 - Oracle should tell us how can the community help with the current effort. Creating a list of tasks that could be accomplished by a community member would be very helpful! That would assure that we are not working all on the same thing and thus wasting time. Each community member could than pick up a task and say he/she is working on it and provide pointers to their project and current work so anyone can chime in and help. I think tasks that can be handled by the community should preferably be tasks that should not be too big in scope/development hours - community members usually do this on their spare time for a couple of hours. Currently the only tasks we have are: - Develop iOS port or iOS jvm - Develop Android port or Android jvm This is too big for any community member to pick up. Too big in scope and too much to wrap your mind on. 3 - Oracle should provide an estimated time/effort for each task and for each project. Also an indication of the task importance level would be very helpful. Preferably tasks with a very high importance level should be handled by javafx team members. 4 - Oracle should be the steward of this effort. I think this point is very important for the following reasons: 4.1 - Oracle has more know-how on this than any community member can possible have. So it does not make sense for community members which are less prepared to accomplish this to be the stewards of such effort. It would be like asking a sailor to command a ship and have the captain mop the floors of the deck. 4.2 - By having Oracle as the steward, businesses will be more inclined in betting on developing projects for iOS/Android/Windows phone. This is a credibility issue. 4.3 - By having Oracle as the steward community members are more inclined to help and contribute than say contributing to RoboVM. No offense intended here, I think RoboVM is a great effort and probably the best thing to happen on the javafx space since its start. My 2 cents, Thanks, regards, -- Pedro Duque Vieira
Re: JavaFX on iOS and Android: The real problem and challenge
What we do know is that Oracle are working on something and that RoboVM is already out there. We also know that RoboVM has serious limitations such as being based on the Android class library, not supporting JDK 8 or OpenJDK or invokedynamic etc. so is not really a viable solution at this stage. This is not to say that the work of Niklas is not first-class as it clearly is an awesome technology even in its current form. I think the key factor we need to consider here is that RoboVM is essentially a one person project and even the JavaFX team at Oracle itself is not that large. Although it's difficult to gauge exactly how many are on the team, I would say from the various names that pop-up on the OpenJFK list and in private conversations we are possibly looking at a dozen or less active staff and possibly a total head count of developers in single figures. Clearly then, with such a small pool of talent, it is not practical to dilute the effort over more than one project. In an ideal world where we had two or more projects backed by large corporations with infinite resources then the more competition would be helpful for long term viability and quality. But our world is hardly ideal and it makes sense to have everyone on the same page. To this end I tend to agree with Pedro DV in that we need Oracle to come clean and open up the porting of JavaFX to iOS, Android and any other potential OS. I am not going to comment on whether Oracle are doing a good/bad job as I am sure there are many more factors and issues that we are not privy to that prevents them from doing exactly what we would like them to do. They are not out to derail JavaFX and in fact are very much behind it being viable on mobiles and tablets. I know Richard Bair and I have to say that he is one of the most passionate developers and believers in Java and JavaFX there is so I am sure he is keener than anyone for it to succeed on all platforms. Perhaps we have to approach Oracle with positivity and a willingness to help and hope that they are in a position (technically/legally/etc.) to open things up and invite us in. I am absolutely convinced that JavaFX on iOS and Android will never be a success if we don't all work together which means pooling our resources and code and contributing to an Oracle-driven project. Felix On 9 November 2013 23:06, Pedro Duque Vieira pedro.duquevie...@gmail.comwrote: Hi, Pardon me for saying this but I think Oracle is really handling this issue very badly. I think very poor communication strategy is the real issue and source of much frustration from the community. I can see that Oracle is indeed working and assigning programming hours to bringing JavaFX to iOS and Android but there is very little communication going on about Oracle progress on this.. I think Oracle should tell us more about their work with javafx on iOS and Android. Oracle should create an article or wiki or whatever about their progress on this: 1 - That site/article/whatever should detail what's the current state, what's missing, what's the roadmap.. 2 - Oracle should tell us how can the community help with the current effort. Creating a list of tasks that could be accomplished by a community member would be very helpful! That would assure that we are not working all on the same thing and thus wasting time. Each community member could than pick up a task and say he/she is working on it and provide pointers to their project and current work so anyone can chime in and help. I think tasks that can be handled by the community should preferably be tasks that should not be too big in scope/development hours - community members usually do this on their spare time for a couple of hours. Currently the only tasks we have are: - Develop iOS port or iOS jvm - Develop Android port or Android jvm This is too big for any community member to pick up. Too big in scope and too much to wrap your mind on. 3 - Oracle should provide an estimated time/effort for each task and for each project. Also an indication of the task importance level would be very helpful. Preferably tasks with a very high importance level should be handled by javafx team members. 4 - Oracle should be the steward of this effort. I think this point is very important for the following reasons: 4.1 - Oracle has more know-how on this than any community member can possible have. So it does not make sense for community members which are less prepared to accomplish this to be the stewards of such effort. It would be like asking a sailor to command a ship and have the captain mop the floors of the deck. 4.2 - By having Oracle as the steward, businesses will be more inclined in betting on developing projects for iOS/Android/Windows phone. This is a credibility issue. 4.3 - By having Oracle as the steward community members are more inclined to help and contribute than say contributing to RoboVM. No offense intended here, I think
Re: JavaFX on iOS and Android: The real problem and challenge
I'm sure the javafx team is doing a great job. My intention was not to put that in question but to try to contribute further to this discussion. Yes indeed oracle javafx team has fewer resources than what should be preferred. We need to harvest the power of the community in the best way we can to further expand the this resources. In that sense I think the best to do is to get better organized at doing so. Instead of a man for himself kind of effort we should have a kind of corporate like structure with the intricacies of being a group of volunteers... On Nov 9, 2013 1:21 PM, Felix Bembrick felix.bembr...@gmail.com wrote: What we do know is that Oracle are working on something and that RoboVM is already out there. We also know that RoboVM has serious limitations such as being based on the Android class library, not supporting JDK 8 or OpenJDK or invokedynamic etc. so is not really a viable solution at this stage. This is not to say that the work of Niklas is not first-class as it clearly is an awesome technology even in its current form. I think the key factor we need to consider here is that RoboVM is essentially a one person project and even the JavaFX team at Oracle itself is not that large. Although it's difficult to gauge exactly how many are on the team, I would say from the various names that pop-up on the OpenJFK list and in private conversations we are possibly looking at a dozen or less active staff and possibly a total head count of developers in single figures. Clearly then, with such a small pool of talent, it is not practical to dilute the effort over more than one project. In an ideal world where we had two or more projects backed by large corporations with infinite resources then the more competition would be helpful for long term viability and quality. But our world is hardly ideal and it makes sense to have everyone on the same page. To this end I tend to agree with Pedro DV in that we need Oracle to come clean and open up the porting of JavaFX to iOS, Android and any other potential OS. I am not going to comment on whether Oracle are doing a good/bad job as I am sure there are many more factors and issues that we are not privy to that prevents them from doing exactly what we would like them to do. They are not out to derail JavaFX and in fact are very much behind it being viable on mobiles and tablets. I know Richard Bair and I have to say that he is one of the most passionate developers and believers in Java and JavaFX there is so I am sure he is keener than anyone for it to succeed on all platforms. Perhaps we have to approach Oracle with positivity and a willingness to help and hope that they are in a position (technically/legally/etc.) to open things up and invite us in. I am absolutely convinced that JavaFX on iOS and Android will never be a success if we don't all work together which means pooling our resources and code and contributing to an Oracle-driven project. Felix On 9 November 2013 23:06, Pedro Duque Vieira pedro.duquevie...@gmail.comwrote: Hi, Pardon me for saying this but I think Oracle is really handling this issue very badly. I think very poor communication strategy is the real issue and source of much frustration from the community. I can see that Oracle is indeed working and assigning programming hours to bringing JavaFX to iOS and Android but there is very little communication going on about Oracle progress on this.. I think Oracle should tell us more about their work with javafx on iOS and Android. Oracle should create an article or wiki or whatever about their progress on this: 1 - That site/article/whatever should detail what's the current state, what's missing, what's the roadmap.. 2 - Oracle should tell us how can the community help with the current effort. Creating a list of tasks that could be accomplished by a community member would be very helpful! That would assure that we are not working all on the same thing and thus wasting time. Each community member could than pick up a task and say he/she is working on it and provide pointers to their project and current work so anyone can chime in and help. I think tasks that can be handled by the community should preferably be tasks that should not be too big in scope/development hours - community members usually do this on their spare time for a couple of hours. Currently the only tasks we have are: - Develop iOS port or iOS jvm - Develop Android port or Android jvm This is too big for any community member to pick up. Too big in scope and too much to wrap your mind on. 3 - Oracle should provide an estimated time/effort for each task and for each project. Also an indication of the task importance level would be very helpful. Preferably tasks with a very high importance level should be handled by javafx team members. 4 - Oracle should be the steward of this effort. I think this point is very important for the
Re: JavaFX on iOS and Android: The real problem and challenge
There is more to this issue than simply JavaFX, iOS and Android. There is a bigger picture here that involves the complex relationships between Oracle, Apple and Google. I think it is fair to say that we all have enormous respect for Richard Bair and his team. It seems to me we should listen to Richard. If I understand his postings correctly, he is saying that we, the community, should create a new OpenJDK project which, if it used the OpenJDK class libraries would let his team put support directly into the OpenJFX build system for building FX and running FX apps ... directly on RoboVM. It seems to me that the message here is that Oracle is totally willing and able to support RoboVM as an OpenJDK project. Niklas - are you up for it? The optics here are important. The project must be created by the community (NOT BY ORACLE). from Richard's post of October 22: Personally I'm interested in RoboVM on Android, so that there is a single VM across both iOS and Android. Also if RoboVM supported the OpenJDK class libraries, it would make this so much simpler for us and provide a consistent story. For example, the OpenJFX project is an OpenJDK project and we really can't be officially promoting a VM that doesn't implement the Java standard. It puts us in a very awkward position. If RoboVM used the OpenJDK class libraries instead of the Android class libraries, not only could I push it at conferences like JavaOne, but I could also put support directly into the OpenJFX build system for building FX and running FX apps (like Hello*, Modena, Ensemble, etc) directly on RoboVM without developers having to setup anything special. This would be huge for making it easy for people to contribute iOS fixes to OpenJFX. But I can't do that if RoboVM doesn't actually implement Java. and, from November 8: Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? On Sat, Nov 9, 2013 at 8:59 AM, Pedro Duque Vieira pedro.duquevie...@gmail.com wrote: I'm sure the javafx team is doing a great job. My intention was not to put that in question but to try to contribute further to this discussion. Yes indeed oracle javafx team has fewer resources than what should be preferred. We need to harvest the power of the community in the best way we can to further expand the this resources. In that sense I think the best to do is to get better organized at doing so. Instead of a man for himself kind of effort we should have a kind of corporate like structure with the intricacies of being a group of volunteers... On Nov 9, 2013 1:21 PM, Felix Bembrick felix.bembr...@gmail.com wrote: What we do know is that Oracle are working on something and that RoboVM is already out there. We also know that RoboVM has serious limitations such as being based on the Android class library, not supporting JDK 8 or OpenJDK or invokedynamic etc. so is not really a viable solution at this stage. This is not to say that the work of Niklas is not first-class as it clearly is an awesome technology even in its current form. I think the key factor we need to consider here is that RoboVM is essentially a one person project and even the JavaFX team at Oracle itself is not that large. Although it's difficult to gauge exactly how many are on the team, I would say from the various names that pop-up on the OpenJFK list and in private conversations we are possibly looking at a dozen or less active staff and possibly a total head count of developers in single figures. Clearly then, with such a small pool of talent, it is not practical to dilute the effort over more than one project. In an ideal world where we had two or more projects backed by large corporations with infinite resources then the more competition would be helpful for long term viability and quality. But our world is hardly ideal and it makes sense to have everyone on the same page. To this end I tend to agree with Pedro DV in that we need Oracle to come clean and open up the porting of JavaFX to iOS, Android and any other potential OS. I am not going to comment on whether Oracle are doing a good/bad job as I am sure there are many more factors and issues that we are not privy to that prevents them from doing exactly what we would like them to do. They are not out to derail JavaFX and in fact are very much behind it being viable on mobiles and tablets. I know Richard Bair and I have to say that he is one of the most passionate developers and believers in Java and JavaFX there is so I am sure he is keener than anyone for it to succeed on all platforms. Perhaps we have to approach Oracle with positivity and a willingness to help and hope that they are in a position (technically/legally/etc.)
Re: JavaFX on iOS and Android: The real problem and challenge
Oracle has a strict do-not-communicate-what-is-not-certain policy and I actually commend them for it. Better to not communicate than make promises you can't keep (I'm seeing the effect on that in many of the projects I'm asked to assist). I think the urgency of mobile platforms is clear to Oracle, given the recent focus on JavaME and the internet-of-things. Patience is a virtue. My 2 cents, Tom On 2013-11-9 18:21, Pedro Duque Vieira wrote: Sure we should listen to Richard. He is doing a great job as well as his team. I don't think however that enough is being communicated.. I don't think those legal boundaries are being layed out explicitly. What are those legal boundaries? Will RoboVM not be subject to those legal issues? What's the difference between us creating a project and trying to integrate it into openjdk and Oracle doing it? Once we create a project and try to integrate it into OpenJDK what will happen? Can javafx team members contribute to it (apparently yes)? Will Oracle be helping out and telling us what's the best route to follow? Once we get RoboVM correctly running javafx apps on iOS and Android what will still be left out to do? Are things like comboboxes poping up scroll wheels already in place? What about app notifications? What about saving app configurations to the local platform db? etc, etc? I think there is a lot of stuff to discuss. Also I think Oracle should be telling us what have they accomplished so far, what exactly they are working on (they are indeed actively working on this) for porting javafx to iOS and Android... probably something that an email can't cover perfectly.. Regards, On Sat, Nov 9, 2013 at 2:39 PM, Rick Walker thoughtslin...@gmail.comwrote: There is more to this issue than simply JavaFX, iOS and Android. There is a bigger picture here that involves the complex relationships between Oracle, Apple and Google. I think it is fair to say that we all have enormous respect for Richard Bair and his team. It seems to me we should listen to Richard. If I understand his postings correctly, he is saying that we, the community, should create a new OpenJDK project which, if it used the OpenJDK class libraries would let his team put support directly into the OpenJFX build system for building FX and running FX apps ... directly on RoboVM. It seems to me that the message here is that Oracle is totally willing and able to support RoboVM as an OpenJDK project. Niklas - are you up for it? The optics here are important. The project must be created by the community (NOT BY ORACLE). from Richard's post of October 22: Personally I'm interested in RoboVM on Android, so that there is a single VM across both iOS and Android. Also if RoboVM supported the OpenJDK class libraries, it would make this so much simpler for us and provide a consistent story. For example, the OpenJFX project is an OpenJDK project and we really can't be officially promoting a VM that doesn't implement the Java standard. It puts us in a very awkward position. If RoboVM used the OpenJDK class libraries instead of the Android class libraries, not only could I push it at conferences like JavaOne, but I could also put support directly into the OpenJFX build system for building FX and running FX apps (like Hello*, Modena, Ensemble, etc) directly on RoboVM without developers having to setup anything special. This would be huge for making it easy for people to contribute iOS fixes to OpenJFX. But I can't do that if RoboVM doesn't actually implement Java. and, from November 8: Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? On Sat, Nov 9, 2013 at 8:59 AM, Pedro Duque Vieira pedro.duquevie...@gmail.com wrote: I'm sure the javafx team is doing a great job. My intention was not to put that in question but to try to contribute further to this discussion. Yes indeed oracle javafx team has fewer resources than what should be preferred. We need to harvest the power of the community in the best way we can to further expand the this resources. In that sense I think the best to do is to get better organized at doing so. Instead of a man for himself kind of effort we should have a kind of corporate like structure with the intricacies of being a group of volunteers... On Nov 9, 2013 1:21 PM, Felix Bembrick felix.bembr...@gmail.com wrote: What we do know is that Oracle are working on something and that RoboVM is already out there. We also know that RoboVM has serious limitations such as being based on the Android class library, not supporting JDK 8 or OpenJDK or invokedynamic etc. so is not really a viable solution at this stage. This is not to say that the work of Niklas is not first-class as it clearly is an
Re: JavaFX on iOS and Android: The real problem and challenge
The question is: Is JavaFX for mobile a business for Oracle to make big money? I suppose Oracle don’t believe in it. They believe in servers, cloud and the „Internet of Things“ - that’s why they invest in Rasp.PI, Freescale, etc. btw: With „Oracle“ I mean „the management of Oracle“, not the guys of Richards team. For me: RoboVM OpenJDK is the right direction. Am 09.11.2013 um 19:15 schrieb Tom Eugelink t...@tbee.org: Oracle has a strict do-not-communicate-what-is-not-certain policy and I actually commend them for it. Better to not communicate than make promises you can't keep (I'm seeing the effect on that in many of the projects I'm asked to assist). I think the urgency of mobile platforms is clear to Oracle, given the recent focus on JavaME and the internet-of-things. Patience is a virtue. My 2 cents, Tom On 2013-11-9 18:21, Pedro Duque Vieira wrote: Sure we should listen to Richard. He is doing a great job as well as his team. I don't think however that enough is being communicated.. I don't think those legal boundaries are being layed out explicitly. What are those legal boundaries? Will RoboVM not be subject to those legal issues? What's the difference between us creating a project and trying to integrate it into openjdk and Oracle doing it? Once we create a project and try to integrate it into OpenJDK what will happen? Can javafx team members contribute to it (apparently yes)? Will Oracle be helping out and telling us what's the best route to follow? Once we get RoboVM correctly running javafx apps on iOS and Android what will still be left out to do? Are things like comboboxes poping up scroll wheels already in place? What about app notifications? What about saving app configurations to the local platform db? etc, etc? I think there is a lot of stuff to discuss. Also I think Oracle should be telling us what have they accomplished so far, what exactly they are working on (they are indeed actively working on this) for porting javafx to iOS and Android... probably something that an email can't cover perfectly.. Regards, On Sat, Nov 9, 2013 at 2:39 PM, Rick Walker thoughtslin...@gmail.comwrote: There is more to this issue than simply JavaFX, iOS and Android. There is a bigger picture here that involves the complex relationships between Oracle, Apple and Google. I think it is fair to say that we all have enormous respect for Richard Bair and his team. It seems to me we should listen to Richard. If I understand his postings correctly, he is saying that we, the community, should create a new OpenJDK project which, if it used the OpenJDK class libraries would let his team put support directly into the OpenJFX build system for building FX and running FX apps ... directly on RoboVM. It seems to me that the message here is that Oracle is totally willing and able to support RoboVM as an OpenJDK project. Niklas - are you up for it? The optics here are important. The project must be created by the community (NOT BY ORACLE). from Richard's post of October 22: Personally I'm interested in RoboVM on Android, so that there is a single VM across both iOS and Android. Also if RoboVM supported the OpenJDK class libraries, it would make this so much simpler for us and provide a consistent story. For example, the OpenJFX project is an OpenJDK project and we really can't be officially promoting a VM that doesn't implement the Java standard. It puts us in a very awkward position. If RoboVM used the OpenJDK class libraries instead of the Android class libraries, not only could I push it at conferences like JavaOne, but I could also put support directly into the OpenJFX build system for building FX and running FX apps (like Hello*, Modena, Ensemble, etc) directly on RoboVM without developers having to setup anything special. This would be huge for making it easy for people to contribute iOS fixes to OpenJFX. But I can't do that if RoboVM doesn't actually implement Java. and, from November 8: Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? On Sat, Nov 9, 2013 at 8:59 AM, Pedro Duque Vieira pedro.duquevie...@gmail.com wrote: I'm sure the javafx team is doing a great job. My intention was not to put that in question but to try to contribute further to this discussion. Yes indeed oracle javafx team has fewer resources than what should be preferred. We need to harvest the power of the community in the best way we can to further expand the this resources. In that sense I think the best to do is to get better organized at doing so. Instead of a man for himself kind of effort we should have a kind of corporate like
Re: JavaFX on iOS and Android: The real problem and challenge
Tobi, I don't think the issue of whether Oracle stands to make any money out of JavaFX on mobiles is relevant as I discussed here http://news.kynosarges.org/2013/10/10/javafx-on-ios-android/ and from which this excerpt is taken: *Now, on the point of little or no revenue coming Oracle’s way directly from JavaFX, the Glass Half Empty approach is to believe that JavaFX on iOS and Android *has* to generate revenue for Oracle to be interested in it. The Glass Half Full approach is to recognise that this is total fallacy and I’ll tell you why…* *When you go to buy a car, you go to a car dealer whose core business is selling cars… right? Wrong! The car dealer’s core business is actually servicing cars and selling spare parts. Most dealers actually make a *loss* on the sale of vehicles themselves and make the vast majority of their revenue and profits from servicing the cars and through selling spare parts to maintain them. The selling of cars is just a tool to enable their core business to exist.* *And it’s the same with Oracle and JavaFX on iOS and Android. Their core business is in licensing Java for embedded platforms and that is why you see so much focus on JavaFX on Raspberry Pi for example and an “official” JDK8 release for such hardware devices. However, for JavaFX to succeed long-term and be a viable technology into the future it *has* to run on the devices that most people already use namely mobile phones and tablets.* *Having JavaFX run on these platforms is akin to selling vehicles in my example whereas licensing Java on embedded platforms is the core business. One enables the other.* So basically, Oracle doesn't need to make any money from JavaFX on mobiles for it to be considered an important port. We need to encourage Oracle to let us in on their efforts in this area and I am sure the excellent work done on RoboVM can become part of that. As I said, there just aren't enough resources to maintain two projects basically trying to do the same thing. Whether that means enhancing RoboVM to work with OpenJFX/OpenJDK 8 or contributing to an Oracle-created project i just don't know at this time. Felix On 10 November 2013 06:23, Tobias Bley t...@ultramixer.com wrote: The question is: Is JavaFX for mobile a business for Oracle to make big money? I suppose Oracle don’t believe in it. They believe in servers, cloud and the „Internet of Things“ - that’s why they invest in Rasp.PI, Freescale, etc. btw: With „Oracle“ I mean „the management of Oracle“, not the guys of Richards team. For me: RoboVM OpenJDK is the right direction. Am 09.11.2013 um 19:15 schrieb Tom Eugelink t...@tbee.org: Oracle has a strict do-not-communicate-what-is-not-certain policy and I actually commend them for it. Better to not communicate than make promises you can't keep (I'm seeing the effect on that in many of the projects I'm asked to assist). I think the urgency of mobile platforms is clear to Oracle, given the recent focus on JavaME and the internet-of-things. Patience is a virtue. My 2 cents, Tom On 2013-11-9 18:21, Pedro Duque Vieira wrote: Sure we should listen to Richard. He is doing a great job as well as his team. I don't think however that enough is being communicated.. I don't think those legal boundaries are being layed out explicitly. What are those legal boundaries? Will RoboVM not be subject to those legal issues? What's the difference between us creating a project and trying to integrate it into openjdk and Oracle doing it? Once we create a project and try to integrate it into OpenJDK what will happen? Can javafx team members contribute to it (apparently yes)? Will Oracle be helping out and telling us what's the best route to follow? Once we get RoboVM correctly running javafx apps on iOS and Android what will still be left out to do? Are things like comboboxes poping up scroll wheels already in place? What about app notifications? What about saving app configurations to the local platform db? etc, etc? I think there is a lot of stuff to discuss. Also I think Oracle should be telling us what have they accomplished so far, what exactly they are working on (they are indeed actively working on this) for porting javafx to iOS and Android... probably something that an email can't cover perfectly.. Regards, On Sat, Nov 9, 2013 at 2:39 PM, Rick Walker thoughtslin...@gmail.com wrote: There is more to this issue than simply JavaFX, iOS and Android. There is a bigger picture here that involves the complex relationships between Oracle, Apple and Google. I think it is fair to say that we all have enormous respect for Richard Bair and his team. It seems to me we should listen to Richard. If I understand his postings correctly, he is saying that we, the community, should create a new OpenJDK project which, if it used the OpenJDK class libraries would let his team put support directly into the
Re: JavaFX on iOS and Android: The real problem and challenge
There must be other reasons than money to do not support jfx on mobile because oracle could also sell licenses for JFX on mobile. I am tired to discuss this topic again and again. The point is: oracle does not talk to the community. Richard tries to do it within the legal zone but that is not satisfying for us and this discussion. Just a dream: what would happen if the JavaFX team of Oracle would Leave the company and start a spin off to develop and promote jFX as real cross platform solution for desktop, mobile, embedded and web. That would be the real juck Norris experiment ;) Cheers Tobi blog.software4java.com Am 10.11.2013 um 05:39 schrieb Felix Bembrick felix.bembr...@gmail.com: Tobi, I don't think the issue of whether Oracle stands to make any money out of JavaFX on mobiles is relevant as I discussed here http://news.kynosarges.org/2013/10/10/javafx-on-ios-android/ and from which this excerpt is taken: Now, on the point of little or no revenue coming Oracle’s way directly from JavaFX, the Glass Half Empty approach is to believe that JavaFX on iOS and Android *has* to generate revenue for Oracle to be interested in it. The Glass Half Full approach is to recognise that this is total fallacy and I’ll tell you why… When you go to buy a car, you go to a car dealer whose core business is selling cars… right? Wrong! The car dealer’s core business is actually servicing cars and selling spare parts. Most dealers actually make a *loss* on the sale of vehicles themselves and make the vast majority of their revenue and profits from servicing the cars and through selling spare parts to maintain them. The selling of cars is just a tool to enable their core business to exist. And it’s the same with Oracle and JavaFX on iOS and Android. Their core business is in licensing Java for embedded platforms and that is why you see so much focus on JavaFX on Raspberry Pi for example and an “official” JDK8 release for such hardware devices. However, for JavaFX to succeed long-term and be a viable technology into the future it *has* to run on the devices that most people already use namely mobile phones and tablets. Having JavaFX run on these platforms is akin to selling vehicles in my example whereas licensing Java on embedded platforms is the core business. One enables the other. So basically, Oracle doesn't need to make any money from JavaFX on mobiles for it to be considered an important port. We need to encourage Oracle to let us in on their efforts in this area and I am sure the excellent work done on RoboVM can become part of that. As I said, there just aren't enough resources to maintain two projects basically trying to do the same thing. Whether that means enhancing RoboVM to work with OpenJFX/OpenJDK 8 or contributing to an Oracle-created project i just don't know at this time. Felix On 10 November 2013 06:23, Tobias Bley t...@ultramixer.com wrote: The question is: Is JavaFX for mobile a business for Oracle to make big money? I suppose Oracle don’t believe in it. They believe in servers, cloud and the „Internet of Things“ - that’s why they invest in Rasp.PI, Freescale, etc. btw: With „Oracle“ I mean „the management of Oracle“, not the guys of Richards team. For me: RoboVM OpenJDK is the right direction. Am 09.11.2013 um 19:15 schrieb Tom Eugelink t...@tbee.org: Oracle has a strict do-not-communicate-what-is-not-certain policy and I actually commend them for it. Better to not communicate than make promises you can't keep (I'm seeing the effect on that in many of the projects I'm asked to assist). I think the urgency of mobile platforms is clear to Oracle, given the recent focus on JavaME and the internet-of-things. Patience is a virtue. My 2 cents, Tom On 2013-11-9 18:21, Pedro Duque Vieira wrote: Sure we should listen to Richard. He is doing a great job as well as his team. I don't think however that enough is being communicated.. I don't think those legal boundaries are being layed out explicitly. What are those legal boundaries? Will RoboVM not be subject to those legal issues? What's the difference between us creating a project and trying to integrate it into openjdk and Oracle doing it? Once we create a project and try to integrate it into OpenJDK what will happen? Can javafx team members contribute to it (apparently yes)? Will Oracle be helping out and telling us what's the best route to follow? Once we get RoboVM correctly running javafx apps on iOS and Android what will still be left out to do? Are things like comboboxes poping up scroll wheels already in place? What about app notifications? What about saving app configurations to the local platform db? etc, etc? I think there is a lot of stuff to discuss. Also I think Oracle should be telling us what have they accomplished so far, what exactly they are working
Re: JavaFX on iOS and Android: The real problem and challenge
Yes, I agree, we need professional JVM ports for iOS, Android and Windows 8. @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net and document what exactly has to be done to port OpenJDK (at least some kind of JavaFX compact profile e.g. without the AWT stack) to these platforms? Also the Mercurial repository and the build should be prepared. I think if there were an easy starting point it would lower the barrier to work on these ports. -Florian Am Donnerstag, 24. Oktober 2013, 08.41:32 schrieb Tobias Bley: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are motivated to develop real commercial apps with JavaFX and contribute stuff back to OpenJFX! RoboVM is a good „prototype“. Niklas is currently one of the most important people for the JavaFX community. He and his company has build the first and one and only real solution to deploy Java and JavaFX code to the iOS platform! His work is really great! But: He is only one(!) person! This kind of complex task I would expect from big companies like Oracle, IBM, SAP or Twitter. But from this direction we don’t hear anything about it. It is not enough that people like Niklas (Trillian AB) or Matthias and me (UltraMixer) are trying to bring JavaFX to iOS and Android. It’s all experimental stuff! Yes, currently we can start JavaFX apps on a real iPhone and iPad. And yes, we have managed to start JavaFX on a real Android device using the Dalvik VM. BUT: this is not a long term solution and only experimental! RoboVM on iOS uses the android class library instead of the real Java = OpenJDK. Our „JavaFX on Android“ solution uses Google Dalvik VM and the Android class library as well! So both solutions use the real Java platform (=OpenJDK)! In my opinion there are only two solutions: 1) Oracle releases their JVM for iOS and Android. 2) The „community“ starts a new company who develops a professional, performant and reliable solution for „JavaFX on iOS and Android“ which contains of a JVM and the 6 degrees Felix described in his blog post, mainly native integration (API) and look and feel (skins, native controls). Cheers, Tobi Am 23.10.2013 um 22:30 schrieb Richard Bair richard.b...@oracle.com: Yes, definitely. On Oct 23, 2013, at 11:52 AM, Scott Palmer swpal...@gmail.com wrote: This is starting to sound like it may also partially address the issue in the desktop space of supplying a native surface (the heavyweight) to draw in that is part of the scene graph. It may not be the ideal solution, but could be useful for specific use cases, like a video preview overlay. Would that make any sense? Scott On Tue, Oct 22, 2013 at 7:59 PM, Richard Bair richard.b...@oracle.com wrote: To do this we need to either solve the auto-layer problem in the NG nodes / Glass / Quantum, or we need to ask the app developer to use SubScene and put all the native stuff in a single SubScene, and all lightweight content above and below it. For the short term, we could use the SubScene approach (Just be careful and don't draw lightweight on top of heavyweights unless you layer an entire sub scene above them) which is probably a perfectly workable solution in the short term. Then somebody just needs to write a set of skins (which can be done in an external project) that map various UI controls directly to native controls. This approach would allow people to have completely native controls while using the FX API, or they can use the lightweight controls (with Modena or with an iOS 7 skin or iOS 6 skin etc). I'm thinking about how to implement the auto-layer, and I'm not sure of the best approach. It seems like you need to hook into the sync-time to determine which nodes can be batched into the same layer, reusing previous layers where possible. If there is a way to then setup the NG peer side so that it thinks it was setup in sub scenes etc, although it really wasn't, then that would leave prism out of the problem (which makes this an easier thing to pull off). hmmm. SubScene itself has a peer. So what I'm thinking is, suppose I have a package: com.sun.javafx.ext.ios.controls and in this package you have all the skins. There is also someplace in here a map of skin - sub scene peer, indicating which of the nodes is in which sub scene peer (layer). Then when the sync takes place, a skin node looks back at siblings etc to determine if it can be placed in the same layer as something before it. If so, then it
Re: JavaFX on iOS and Android: The real problem and challenge
On 11/8/13 10:30 PM, Florian Brunner wrote: @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net Please see http://openjdk.java.net/projects/ for how Projects work. cheers, dalibor topic -- Oracle http://www.oracle.com Dalibor Topic | Principal Product Manager Phone: +494089091214 tel:+494089091214 | Mobile: +491737185961 tel:+491737185961 Oracle Java Platform Group ORACLE Deutschland B.V. Co. KG | Kühnehöfe 5 | 22761 Hamburg ORACLE Deutschland B.V. Co. KG Hauptverwaltung: Riesstr. 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Geschäftsführer: Jürgen Kunz Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher Green Oracle http://www.oracle.com/commitment Oracle is committed to developing practices and products that help protect the environment
Re: JavaFX on iOS and Android: The real problem and challenge
I thought those JVM's were considered to be steps in progression toward production JVM's? Though the push was toward full utility, I thought the wagon train would circle back around to do optimization passes and so forth? Remember we started from absolutely nothing and a question as to its possibility? Now we know conclusively that it's possible - and I thought the work could be extended upon? If Oracle is to be the true steward of Java, I think they need to do more than what I call Gesturing. If one intends to end hunger in Africa, you get on a plane and go there and physically work on the problem until it's solved, not put your (albeit grand gesture) of 1 million dollars in the collection plate and forget about it. Of course, it's easy for people like me to sit back and judge - but I didn't go and purchase Sun and announce to the world my stewardship of one of the most important technologies in existence. Either do it all the way or stay the **^ out of the way - as far as I'm concerned. Of course this is not to condemn the heroic efforts of people here who live and breathe their contribution to Java. I just think a partial commitment (no matter how grand), is in the end detrimental. Sorry... On Thu, Oct 24, 2013 at 1:41 AM, Tobias Bley t...@ultramixer.com wrote: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are motivated to develop real commercial apps with JavaFX and contribute stuff back to OpenJFX! RoboVM is a good „prototype“. Niklas is currently one of the most important people for the JavaFX community. He and his company has build the first and one and only real solution to deploy Java and JavaFX code to the iOS platform! His work is really great! But: He is only one(!) person! This kind of complex task I would expect from big companies like Oracle, IBM, SAP or Twitter. But from this direction we don’t hear anything about it. It is not enough that people like Niklas (Trillian AB) or Matthias and me (UltraMixer) are trying to bring JavaFX to iOS and Android. It’s all experimental stuff! Yes, currently we can start JavaFX apps on a real iPhone and iPad. And yes, we have managed to start JavaFX on a real Android device using the Dalvik VM. BUT: this is not a long term solution and only experimental! RoboVM on iOS uses the android class library instead of the real Java = OpenJDK. Our „JavaFX on Android“ solution uses Google Dalvik VM and the Android class library as well! So both solutions use the real Java platform (=OpenJDK)! In my opinion there are only two solutions: 1) Oracle releases their JVM for iOS and Android. 2) The „community“ starts a new company who develops a professional, performant and reliable solution for „JavaFX on iOS and Android“ which contains of a JVM and the 6 degrees Felix described in his blog post, mainly native integration (API) and look and feel (skins, native controls). Cheers, Tobi Am 23.10.2013 um 22:30 schrieb Richard Bair richard.b...@oracle.com: Yes, definitely. On Oct 23, 2013, at 11:52 AM, Scott Palmer swpal...@gmail.com wrote: This is starting to sound like it may also partially address the issue in the desktop space of supplying a native surface (the heavyweight) to draw in that is part of the scene graph. It may not be the ideal solution, but could be useful for specific use cases, like a video preview overlay. Would that make any sense? Scott On Tue, Oct 22, 2013 at 7:59 PM, Richard Bair richard.b...@oracle.com wrote: To do this we need to either solve the auto-layer problem in the NG nodes / Glass / Quantum, or we need to ask the app developer to use SubScene and put all the native stuff in a single SubScene, and all lightweight content above and below it. For the short term, we could use the SubScene approach (Just be careful and don't draw lightweight on top of heavyweights unless you layer an entire sub scene above them) which is probably a perfectly workable solution in the short term. Then somebody just needs to write a set of skins (which can be done in an external project) that map various UI controls directly to native controls. This approach would allow people to have completely native controls while using the FX API, or they can use the lightweight controls (with Modena or with an iOS 7 skin or iOS 6 skin etc). I'm thinking about how to implement the auto-layer, and I'm not sure of the best approach. It seems like you need to hook into the sync-time to determine which nodes can be batched into the same layer, reusing previous layers where possible. If there is a way to then setup the NG peer side so that
Re: JavaFX on iOS and Android: The real problem and challenge
Hi Dalibor, Thanks for the link. I've read now the process described at http://openjdk.java.net/projects/#new-project I'm fine to start the discussion (Step 0), but I think it would help if we could find here some initial contributors/ leaders. I, myself, won't be able to activly work on the ports. For one thing I'm not really familiar with native programming and for another I'm already spending a lot of my spare time at the other end of the JavaFX ecosystem: I'm developing a modular Rich Client Platform for JavaFX based on OSGi and Maven (POM-first) (see: http://wiki.drombler.org/DromblerFX ). -Florian Am Freitag, 8. November 2013, 22.53:26 schrieb Dalibor Topic: On 11/8/13 10:30 PM, Florian Brunner wrote: @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net Please see http://openjdk.java.net/projects/ for how Projects work. cheers, dalibor topic
Re: JavaFX on iOS and Android: The real problem and challenge
Totally, I think the normal process for this is to create a new OpenJDK project, is it not? Can you take a look at the OpenJDK bylaws and report back on the process? I think it would be awesome to do a port. Note that there are a few OpenJDK ports already which have ARM support, you might want to look there as a starting point? Richard On Nov 8, 2013, at 1:29 PM, Florian Brunner fbrun...@gmx.ch wrote: Yes, I agree, we need professional JVM ports for iOS, Android and Windows 8. @Oracle: Could you set up the according project sites for these 3 platforms on openjdk.java.net and document what exactly has to be done to port OpenJDK (at least some kind of JavaFX compact profile e.g. without the AWT stack) to these platforms? Also the Mercurial repository and the build should be prepared. I think if there were an easy starting point it would lower the barrier to work on these ports. -Florian Am Donnerstag, 24. Oktober 2013, 08.41:32 schrieb Tobias Bley: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are motivated to develop real commercial apps with JavaFX and contribute stuff back to OpenJFX! RoboVM is a good „prototype“. Niklas is currently one of the most important people for the JavaFX community. He and his company has build the first and one and only real solution to deploy Java and JavaFX code to the iOS platform! His work is really great! But: He is only one(!) person! This kind of complex task I would expect from big companies like Oracle, IBM, SAP or Twitter. But from this direction we don’t hear anything about it. It is not enough that people like Niklas (Trillian AB) or Matthias and me (UltraMixer) are trying to bring JavaFX to iOS and Android. It’s all experimental stuff! Yes, currently we can start JavaFX apps on a real iPhone and iPad. And yes, we have managed to start JavaFX on a real Android device using the Dalvik VM. BUT: this is not a long term solution and only experimental! RoboVM on iOS uses the android class library instead of the real Java = OpenJDK. Our „JavaFX on Android“ solution uses Google Dalvik VM and the Android class library as well! So both solutions use the real Java platform (=OpenJDK)! In my opinion there are only two solutions: 1) Oracle releases their JVM for iOS and Android. 2) The „community“ starts a new company who develops a professional, performant and reliable solution for „JavaFX on iOS and Android“ which contains of a JVM and the 6 degrees Felix described in his blog post, mainly native integration (API) and look and feel (skins, native controls). Cheers, Tobi Am 23.10.2013 um 22:30 schrieb Richard Bair richard.b...@oracle.com: Yes, definitely. On Oct 23, 2013, at 11:52 AM, Scott Palmer swpal...@gmail.com wrote: This is starting to sound like it may also partially address the issue in the desktop space of supplying a native surface (the heavyweight) to draw in that is part of the scene graph. It may not be the ideal solution, but could be useful for specific use cases, like a video preview overlay. Would that make any sense? Scott On Tue, Oct 22, 2013 at 7:59 PM, Richard Bair richard.b...@oracle.com wrote: To do this we need to either solve the auto-layer problem in the NG nodes / Glass / Quantum, or we need to ask the app developer to use SubScene and put all the native stuff in a single SubScene, and all lightweight content above and below it. For the short term, we could use the SubScene approach (Just be careful and don't draw lightweight on top of heavyweights unless you layer an entire sub scene above them) which is probably a perfectly workable solution in the short term. Then somebody just needs to write a set of skins (which can be done in an external project) that map various UI controls directly to native controls. This approach would allow people to have completely native controls while using the FX API, or they can use the lightweight controls (with Modena or with an iOS 7 skin or iOS 6 skin etc). I'm thinking about how to implement the auto-layer, and I'm not sure of the best approach. It seems like you need to hook into the sync-time to determine which nodes can be batched into the same layer, reusing previous layers where possible. If there is a way to then setup the NG peer side so that it thinks it was setup in sub scenes etc, although it really wasn't, then that would leave prism out of the problem (which makes this an easier thing to pull off). hmmm. SubScene itself has a peer. So what I'm thinking is, suppose I have a package:
Re: JavaFX on iOS and Android: The real problem and challenge
ups, I made one mistake: So both solutions use the real Java platform (=OpenJDK)!“ should be So both solutions does not use the real Java platform (=OpenJDK)!“ ;) Am 24.10.2013 um 08:41 schrieb Tobias Bley t...@ultramixer.com: Hello to the community, I read the last discussion about „JavaFX native look and feel“ and have to get out of my mind the following: In my opinion the MAIN point is not „how to bring the native look and feel to iOS/Android“, the real MAIN issue is: we need a professional JVM(!) which works performant and reliable on iOS, Android and Windows 8! Only if we have such a JVM, developers and companies are motivated to develop real commercial apps with JavaFX and contribute stuff back to OpenJFX! RoboVM is a good „prototype“. Niklas is currently one of the most important people for the JavaFX community. He and his company has build the first and one and only real solution to deploy Java and JavaFX code to the iOS platform! His work is really great! But: He is only one(!) person! This kind of complex task I would expect from big companies like Oracle, IBM, SAP or Twitter. But from this direction we don’t hear anything about it. It is not enough that people like Niklas (Trillian AB) or Matthias and me (UltraMixer) are trying to bring JavaFX to iOS and Android. It’s all experimental stuff! Yes, currently we can start JavaFX apps on a real iPhone and iPad. And yes, we have managed to start JavaFX on a real Android device using the Dalvik VM. BUT: this is not a long term solution and only experimental! RoboVM on iOS uses the android class library instead of the real Java = OpenJDK. Our „JavaFX on Android“ solution uses Google Dalvik VM and the Android class library as well! So both solutions use the real Java platform (=OpenJDK)! In my opinion there are only two solutions: 1) Oracle releases their JVM for iOS and Android. 2) The „community“ starts a new company who develops a professional, performant and reliable solution for „JavaFX on iOS and Android“ which contains of a JVM and the 6 degrees Felix described in his blog post, mainly native integration (API) and look and feel (skins, native controls). Cheers, Tobi Am 23.10.2013 um 22:30 schrieb Richard Bair richard.b...@oracle.com: Yes, definitely. On Oct 23, 2013, at 11:52 AM, Scott Palmer swpal...@gmail.com wrote: This is starting to sound like it may also partially address the issue in the desktop space of supplying a native surface (the heavyweight) to draw in that is part of the scene graph. It may not be the ideal solution, but could be useful for specific use cases, like a video preview overlay. Would that make any sense? Scott On Tue, Oct 22, 2013 at 7:59 PM, Richard Bair richard.b...@oracle.com wrote: To do this we need to either solve the auto-layer problem in the NG nodes / Glass / Quantum, or we need to ask the app developer to use SubScene and put all the native stuff in a single SubScene, and all lightweight content above and below it. For the short term, we could use the SubScene approach (Just be careful and don't draw lightweight on top of heavyweights unless you layer an entire sub scene above them) which is probably a perfectly workable solution in the short term. Then somebody just needs to write a set of skins (which can be done in an external project) that map various UI controls directly to native controls. This approach would allow people to have completely native controls while using the FX API, or they can use the lightweight controls (with Modena or with an iOS 7 skin or iOS 6 skin etc). I'm thinking about how to implement the auto-layer, and I'm not sure of the best approach. It seems like you need to hook into the sync-time to determine which nodes can be batched into the same layer, reusing previous layers where possible. If there is a way to then setup the NG peer side so that it thinks it was setup in sub scenes etc, although it really wasn't, then that would leave prism out of the problem (which makes this an easier thing to pull off). hmmm. SubScene itself has a peer. So what I'm thinking is, suppose I have a package: com.sun.javafx.ext.ios.controls and in this package you have all the skins. There is also someplace in here a map of skin - sub scene peer, indicating which of the nodes is in which sub scene peer (layer). Then when the sync takes place, a skin node looks back at siblings etc to determine if it can be placed in the same layer as something before it. If so, then it sets itself as a child on the sub scene as needed. If not, then it creates a new sub scene peer and sets itself on there and then carry on. So then it isn't sync'd to the real scene but instead to one of these fake sub scenes that was created. The idea can be refined, but actually I think this approach might be workable for doing auto-layering. Richard On