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 Oct 22, 2013, at 4:10 PM, Felix Bembrick <felix.bembr...@gmail.com> wrote:
>> 
>> > Yes, having viable implementations of both options would be ideal.
>> >
>> > How long till Oracle and/or the community gets to that point? ;-)
>> >
>> >
>> > On 23 October 2013 10:06, Stephen F Northover
>> > <steve.x.northo...@oracle.com>wrote:
>> >
>> >> Rather than arguing this point, the correct answer is to provide both and
>> >> let the application developer choose.
>> >>
>> >> Do you guys know how old this argument is?  Hint: It predates Java.
>> >>
>> >> Steve
>> >>
>> >>
>> >> On 2013-10-22 6:17 PM, Pedro Duque Vieira wrote:
>> >>
>> >>> Even the most fab skins or CSS is not going to get us away from the need
>> >>>> to
>> >>>> integrate JavaFX controls with true native controls.  As has been 
>> >>>> pointed
>> >>>> out, there are some native controls on both iOS and Android for which
>> >>>> there
>> >>>> is no JavaFX equivalent and this will always be the case.  Even if
>> >>>> someone
>> >>>> were to develop near identical lightweight controls in JavaFX, they 
>> >>>> would
>> >>>> need to behave slightly differently on iOS than they do on Android and
>> >>>> vice
>> >>>> versa.
>> >>>>
>> >>>
>> >>> I don't think this is exactly this straight forward. Ideally you would
>> >>> want
>> >>> to have this kind of native behavior on every platform. But having this
>> >>> native behavior involves having a different version of your app for each
>> >>> OS
>> >>> you want to deploy in, which might not be what the developers want.
>> >>> Remember JavaFX is a cross platform development kit and the major reason 
>> >>> a
>> >>> developer would choose JavaFX over doing native mobile development is 
>> >>> that
>> >>> his app can run on a variety of mobile platforms: windows 8, ipad,
>> >>> android,
>> >>> iPhone, etc with the same code base and *MOST* importantly with much less
>> >>> development time than building an app for each platform.
>> >>> For the sake of development time an app that doesn't go against any of 
>> >>> the
>> >>> different platforms UX but that has the least common denominator so that
>> >>> each user in each different platform understands the UI might be a better
>> >>> solution for the sake of development time. One such example is the back
>> >>> button that appears when you drill down a list on an ios app but doesn't
>> >>> appear in an android app because every android phone as a physical back
>> >>> button.
>> >>>
>> >>> I do agree with you that there are some places where a native looking
>> >>> control is ideal and doesn't involve any extra effort from the developer
>> >>> to
>> >>> customize it for the given platform like for instance comboboxs where a
>> >>> kind of wheel appears where the user can choose an option, or input
>> >>> controls where the native keyboard pops up.
>> >>>
>> >>> Thanks, best regards,
>> >>>
>> >>>
>> >>>
>> >>
> 

Reply via email to