Innovation again (was Re: Text classes)
Jago.Westmacott at fulcrumasset.com
Fri Dec 15 11:41:11 UTC 2017
Chris' email has similarly motivated me to post for the first time.
I work with a small a 6 person team developing a proprietary distributed software platform. The GUI is another 'node' or 'engine' on the graph of interconnected processes. It provides a large number of different views on different sets of data via a docking framework.
The majority of our data views consist of custom tables and tree-tables, that allow fast filtering, slicing and dicing, aggregating, etc. of large data sets.
Our Gui was originally written in Swing and the performance / responsiveness was excellent. The code was optimised using various well known Swing optimisations - and the end result was supper snappy and a delight to use.
About three years ago we migrated to JavaFx. The motivation behind the migration was simply to build a more attractive Gui (particularly improved text rendering and animations), because people do judge a book by its cover. Our original Swing Gui was lightweight (same basic components being reused and minimal business logic) so in theory this would be a relatively painless exercise.
The end result was (and still is) a more attractive Gui - but building it was an extremely painful process. We find the basic 2D performance of JavaFx poor. To the extent that we ended up writing our own custom table components using a Canvas as a viewport on the underlying data. While we get adequate performance using our custom components - the general experience in terms of responsiveness, is still a little disappointing when compared to the Swing original.
My biggest frustration, I think, has been that the response I have often read when performance concerns have been mentioned, is that performance is fine and JavaFx is built for modern hardware.
Apart from not agreeing that the performance is fine - an area where Java still maintains its popularity is in the 'enterprise' - and don't feel that JavaFx caters well for the types of Gui's that are typically found in this space.
To get the point after a rambling email, top of my wish-list would be better performance. Or better access to the underlying API, to enable building of lighter weight, optimised 2D components.
From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Laurent Bourgès
Sent: 15 December 2017 10:38
To: John-Val Rose <johnvalrose at gmail.com>
Cc: openjfx-dev at openjdk.java.net Mailing <openjfx-dev at openjdk.java.net>
Subject: Re: Innovation again (was Re: Text classes)
Chris mail motivated me to answer too.
*** For *your* situation, what is JavaFX, how do you want it to evolve and what does it mean to you? ***
I am developping for 10 years scientific desktop apps with Java Swing (+ Java Web Start).
As our users are mostly using linux & macOS, we only require JDK 6 !
(old linux distributions had only openjdk6 by default)
Of course we could switch our code base to jdk8 soon as user stats reports that 90% have it.
Using JDK8 would let us adopt JavaFX lately ... for its nicer widgets & 3d plots (star models) but we could also use third-party libs for 3d plots (orson charts).
My main concern is about the future of Java Client (2d / JFX)...
For science, python is the main language so we are outsiders and users complain about Java updates... if JavaFX is no more in the mood, we will not adopt it in future as our service is offered for 10 years min ...
Finally I invested a lot of my own time improving the OpenJDK/JFX AA renderers (Marlin) and had the chance to work with Oracle gentle persons on its integration in jdk9/10.
My own experience proves that good FOSS & external contributions have their place in the OpenJDK projects.
Let's the community get more involved to contribute patches to these projects.
The main issue is sustainability:
- who will maintain / review patches (only few people) ?
- what funding for the community (meeting, conference, travel costs) ?
Maybe I really am "Robinson Crusoe"...
PS: I feel like the last jedi
(coding legacy AA software renderers while others use Gpu)
This e-mail and any attachment hereto is confidential and is solely for the intended recipient. If you are neither the intended recipient nor a designated representative of the intended recipient please contact the sender, delete this message from your system immediately, destroy any print-out of it and do not use, copy or disseminate the information in or attached to it in any way.
Unless expressly stated, opinions in this email are those of the individual sender and not those of Fulcrum Asset Management LLP.
This e-mail and the information contained herein should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial products, including an interest in a fund, or an official confirmation of any transaction. Any such offer or solicitation will be made to qualified investors only by means of an offering memorandum and related subscription agreement. Securities shall not be offered or sold in any jurisdiction in which such offer, solicitation or sale would be unlawful until the requirements of the laws of such jurisdiction have been satisfied. Any performance information contained herein may be unaudited and estimated. Past performance is not indicative of future results. Fulcrum Asset Management LLP does not represent that the contents of this e-mail or any attachment hereto are complete or accurate and they should not be relied upon as such. All information in or attached to this e-mail is subject to change without notice.
Fulcrum Asset Management LLP is authorised and regulated by the Financial Conduct Authority of the United Kingdom (No: 230683) and incorporated as a Limited Liability Partnership in England and Wales (No: OC306401) with its registered office at Marble Arch House, 66 Seymour Street, London, W1H 5BT. Fulcrum Asset Management LP is a wholly owned subsidiary of Fulcrum Asset Management LLP incorporated in the State of Delaware, operating from 350 Park Avenue, 13th Floor, New York, NY 10022 USA.
More information about the openjfx-dev