Making JavaFX Development Faster

Tom Schindl tom.schindl at bestsolution.at
Sat Oct 27 09:28:40 PDT 2012


Hi,

I really like JavaFX properties but their concept really only makes
sense on the client.

Main points:
* They waste memory
* are not supported on all JVM (people tend to forget that javafx is
  not JSRed and only part of openjdk/oracle jdk).


On memory:
----------
We can talk about laziness as much as we want but when reading a bean
from the database 95% of the fields are none null, hence lazy creation
is a nightmare.

In my opinion VM properties are very different to what we have in JavaFX.


On standard:
------------
As outlined and confirmed by Richard, Oracle does not guarantee that
things work on all JVMs (e.g. j9) it might or might not work and can be
broken any time.

JavaFX will be JSRed by Java9 not sure if vendors are forced to
implement the started. When you state other JSRed technologies should
adapt to the JavaFX bean standard the they can before Java9.


General statement:
------------------
I'm not even sure why people have such a big problem with using a
different object on the server (Plain POJO) and Java(FX)-Bean on the
client, writing POJOs by hand is a boring and senseless task using some
meta format or tool and generate the POJOs and JavaFX-Beans out of that
is not rocket sience.

Tom

Am 27.10.12 16:29, schrieb Tom Eugelink:
> About using JavaFX beans server side; can you explain why that would be
> a bad idea beside the fact that there isn't any support in frames like
> JDBC?
> 
> There has been a big demand from the community for real properties in
> Java. Now JavaFX has become part of the standard JDK, I expect people to
> start using these properties in other area's as well. The binding
> concept is rather powerful and once the concept sinks in... This then
> would have consequences; some bindings no longer can be lazy, we need
> bean level listeners, etc. But this can all be added quite easily. Then
> JDBC and JPA need to be enhanced to support them and we're pretty much
> done.
> 
> Tom
> 
> 
> On 2012-10-27 15:55, Tom Schindl wrote:
>> If I remember correctly it had to do with listeners and how to manage
>> that they are not leaked but I could be wrong.
>>
>> Anyways nobody guarantees that OpenJFX will run on other vendors JVMs,
>> am I right? I generally think using JavaFX-Beans on the server side is a
>> bad idea.
>>
>> Tom
>>
>> Am 27.10.12 15:24, schrieb Richard Bair:
>>> I cannot imagine what internal stuff Michael could be using or when
>>> that was added.
>>>
>>> On Oct 26, 2012, at 7:42 AM, Tom Schindl
>>> <tom.schindl at bestsolution.at> wrote:
>>>
>>>> Not only the memory argument is import.
>>>>
>>>> What if a customer says i have to run on his j9-jvm?
>>>>
>>>> I can be wrong but IIRC Michael told me at JavaOne that the properties
>>>> code is even using internal (sun....) stuff so even simply dropping in
>>>> the jar to the j9 classpath is doomed to fail.
>>>>
>>>> And beside that using FX-Observables and e.g. JPA don't like each other
>>>> i guess because of all those lazy list stuff, ... .
>>>>
>>>> Tom
>>>>
>>>> Am 22.10.12 19:23, schrieb Werner Lehmann:
>>>>> Richard,
>>>>>
>>>>> On 22.10.2012 17:38, Richard Bair wrote:
>>>>>> MyObject obj = new MyObject();
>>>>>> obj = BlackMagic.makeObservable(obj);
>>>>> I'd like to see the implementation of BlackMagic ;-)  (cglib stuff?)
>>>>>
>>>>>> However, the javafx beans package and collections and such are part
>>>>>> of the "base" module -- ie: they could be separated from the rest of
>>>>>> javafx and safely used on the server side or elsewhere. Why not just
>>>>>> use properties and such on the server side definition of classes? Or
>>>>>> are those classes being auto-generated and thus not taking observable
>>>>>> properties into account?
>>>>> Currently I want to avoid requiring customers to install the FX
>>>>> runtime
>>>>> serverside. That will be a moot point with JRE 7+. Which does not help
>>>>> the 6.x customers, especially if they are on WebLogic which is usually
>>>>> tied to a specific major version.
>>>>>
>>>>> Another aspect is the footprint regarding memory and bandwidth.
>>>>> Obviously a StringProperty requires more bytes than a String. This is
>>>>> not an issue (usually) when I want to display a relatively short
>>>>> list of
>>>>> beans in the UI. It gets noticeable when the server suddenly needs +X
>>>>> megabytes, the instantion of objects needs +Y ms (also affects
>>>>> deserialization), and sending them over the network takes +Z ms...
>>>>>
>>>>> Werner
>>>>
>>>> -- 
>>>> B e s t S o l u t i o n . a t                        EDV Systemhaus
>>>> GmbH
>>>> ------------------------------------------------------------------------
>>>>
>>>> tom schindl                 geschäftsführer/CEO
>>>> ------------------------------------------------------------------------
>>>>
>>>> eduard-bodem-gasse 5-7/1   A-6020 innsbruck     fax      ++43 512
>>>> 935833
>>>> http://www.BestSolution.at                      phone    ++43 512
>>>> 935834
>>
> 


-- 
B e s t S o l u t i o n . a t                        EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl                 geschäftsführer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5-7/1   A-6020 innsbruck     fax      ++43 512 935833
http://www.BestSolution.at                      phone    ++43 512 935834


More information about the openjfx-dev mailing list