Charts: Was The Next Great Thing: An Application Framework
zonski at googlemail.com
Sat Feb 11 22:38:00 PST 2012
It's not that I don't like having charts available when I want them and
although I haven't looked at them in depth yet, it looks like it is a very
powerful toolkit. It's just that I feel only a sub-set of applications
(specifically business/data apps) will actually use charts, whereas things
like buttons, labels, textfields are fairly ubiquitous building blocks for
everything. Charts feel more like a higher-level feature to me, on par with
things like 'mapping', file editing, PDF browsing, a 'game engine', or a
statistics package, etc.
It is definitely possible that I may not fully understand the chart API as
yet though and my comments may be premature. I haven't had call to use them
yet in my applications, perhaps when I do I will change my viewpoint. With
that caveat in mind, the main drawbacks I see to charts being in the core
platform are these:
1. Resourcing - I have a gut feel that building/maintaining something like
this was and will be something of a hassle that will draw all-important
JavaFX resources away from more fundamental features. The community would
probably pick charts up if it was left out, so it feels like Oracle is
blowing 'coin' I'd rather see spent on stuff that can't (easily) be done by
the community because it is more 'core' (like video playback, true 3D
support, mobile phone support, etc). If Oracle's got resources to burn on
this then this is not such an issue, but I'd personally rather get a media
capture API, or a mobile version in there over charts, because charts I can
build myself, whereas media capture and/or mobile requires nasty native
libraries and weird non-java magic.
2. Bloat - it's good to keep the base platform as small and light as
possible so when we look at supporting platforms (like mobile, set top
boxes, etc) we only have to move the core features on to these and not be
moving a massive codebase across (and also downloading a massive jar). It's
easier to keep the platform stable too, less code means less bugs. If we
didn't have charts when we go 'mobile' then the move would be easier (i.e.
catering for touch screens, smaller screens, etc). Modularisation may help
with this, but I think the additional code in the core platform will still
result in more work.
3. Change management - my gut feel is something like charts will have a
more rapid change/fix cycle than the core platform. I don't particularly
want my end user to have to download a new JFX RT every other week
(especially if there are more annoying popups) because there has been a fix
in the way 'ticks' are rendered on a chart if I'm not using charts (whereas
HBox probably isn't going to change too often). Again maybe modularisation
will help with this, but it is still a way off and the deployment battle
may well be fought and lost before Java8 gets on it's horse and makes a
As per my previous email, all of the above is not to say I wouldn't love to
see a separate ChartsFX library published by Oracle that had the exact
features in the core jfx charts module at the moment (deployed into Maven
would be even better :) ).
As always, I'm definitely not putting down any of the effort put in by the
JFX team. I'm an unashamed platform zealot and a fan. JFX is the
development environment I've been dreaming about for years and I love it.
I'm more concerned about providing (hopefully) constructive feedback on
making it better and making sure the platform is sustainable so it can
become the standard and every new job I look at uses it. As we get stuck
into nutting out features and working through problems, it's easy to forget
to say it, so for the record: very nice work guys.
On Sat, Feb 11, 2012 at 6:49 AM, Sven Reimers <sven.reimers at gmail.com>wrote:
> There are some ideas sitzung in Jira that would be good for msking Charts
> even more successful, e.g. logarithmic axis and multiple y-axis..
> Hope OpenJFX will be the place to make those things happen.
> Am 10.02.2012 19:39 schrieb "Richard Bair" <richard.bair at oracle.com>:
>> > - Charts: seems like an add-on that will become something of a hassle
>> for the JFX team to maintain, grow, support at the rate it will need, as
>> well as adding complexity for mobile platforms (should a pie chart look the
>> same on a mobile app with touch screen, no mouse over, etc).
>> Different topic, but I thought this comment was interesting. Why are
>> charts any different than controls? We see them as the same thing really.
>> Charts are extensible -- folks can add new charts, or use the built in
>> ones, exactly like controls. Both are intended to be drop-in use for
>> applications. Charts are actually much more powerful than we've gotten
>> credit for so far (I suspect this is because nobody has dug into them
>> deeply and we've not documented a lot of the capabilities on fxexperience
>> or javafx.com yet).
More information about the openjfx-dev