Skip to main content

Future of the Project Scene Graph

5 replies [Last post]
flocoon
Offline
Joined: 2008-06-23
Points: 0

The project Scene Graph is at the beginning of its life (currently version 0.6) but I was wondering what was the future of this API. I mean we can see the link between JavaFX and the Scene Graph but appart from it is there any chance that the API will be included in the coming Java 7 ?

The whole attract of this API is to provide the Scene Graph aspects, animations and some prepackaged effects. I think it would greatly improve the graphic quality of Java apps if this API was bundled with Java 7 (or 8 ?).

My question is then "What are the plans for this API appart from the evolution of the API itself ? Is it planned to include it in a next release of the JRE/JDK ?"

I don't know if this question has already been asked but I've been through the forum and I couldn't find any thread mentioning it.

Thanks !

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
shemnon
Offline
Joined: 2003-06-11
Points: 0

This may be beating a dead horse, but the principal reason that the scene graph libraries haven't seen more usage in 'the wild' is the pure GPL license. If there was a classpath exception or if it was the LGPL there would be more use of this API, even if it is 'too low-
level for most developers.' Because if you develop an app with the current code, the whole app is now required to be GPL (or the app developer stands in violation of the license that made this code public).

So let me take one more swipe at the horse: loosen the license.

(mmmm.... horse meat....)

geekycoder
Offline
Joined: 2008-06-19
Points: 0

Scene Graph is the foundation for JavaFX and like some future features of Swing as well like eye candy effect eg sliding panel. Hence it is perceived as a low level implementation that is akin to Java2D that is used to build Swing component like JButton, JLabel. Like Java2D, SceneGraph make logical sense that its API will be exposed to experience developer who want to built the next generation of Swing App without going through JavaFX route. Even in current incarnation, many of intricated Swing API are exposed for adventurous developers who like to advantage of them ,etc FocusManager, RepaintManager. Therefore I expect that JavaFX Script is likely to part of Java7.

Some personal opinions on Swing and JavaFX:

Is Swing and JavaFX mutually exclusive ? Nope. Anyone who has experience in Swing and has try JavaFX can attest that both are meant to work and complement each other. Sun says JavaFX is designed for designer, and Swing for developer, and I couldn't agree more and the developer can only get the best of both world, not short-charge by one or another. For example, one can design very complex RIA main screen with eye candy effect with JavaFX, but then develop the Setting/Config screen using just Swing code. Use what is comfortable and effective for your workflow. In fact, this seem to be a trend now that both developer and designer acquire complementary skills of the trade eg developer who can design and well-verse in interaction design, and designer having programming skill to mock up interface.

Many ask why develop JavaFX at all consider that there are many alternatives like Groovy ,Ruby ? We have to realize that Sun is a business company who need to seek profitable opportunity and only in innovating with new ideas and endeavour can they make breakthrough. Competitors are starting to threaten Sun's business and Java's position in coming out new technology and languages that are easily to use and develop, therefore it is only right that Sun respond to competitors by creating another competing languages that competitor target in RIA which is the designer target market, which is the same path Flex takes.

Many question how likely a designer will learn JavaFX ? No one can really tell beyond rational reason, and it is really up to the unpredicatable market to determine the outcome, not the developers themselve since they are not the designers Sun target the JavaFX language in first place. After all who will have thought that iPhone is such a success despite many prominent naysayers who own it spoke critics of it ?

geekycoder
Offline
Joined: 2008-06-19
Points: 0

my above comments are supposed directed to flocoon. Sorry in the wrong place.

Chris Campbell

[Don't take this as an official commitment one way or the other. It's
just my personal opinion as someone involved in the design and
implementation of Scenario.]

The primary focus when designing Scenario was to provide a medium-
level implementation layer for the JavaFX APIs. The fact that a
usable API (the Scenario API for scene graph, animation, and effects)
fell out of that design was fortunate, but not our first priority. To
be fair, we did try whenever possible to make the API user friendly so
that existing Swing and Java2D developers would have something to use,
since the "official" JavaFX APIs were still being designed and baked
and were not yet ready for public consumption [1].

However, I strongly feel that most of the Scenario API is too low-
level for most developers. The com.sun.scenario.scenegraph.fx package
was one small attempt to provide a higher-level API that's more
similar to the kind of convenience you'd experience when working with
the JavaFX APIs, but it's simply not the same. The naming of these
APIs is awkward (all the SG and FX prefixes mainly exist to avoid name
collisions, but are undesireable in my opinion). The style of
interaction of these Scenario APIs is quite different than with their
(more ideal) counterparts in the JavaFX APIs.

My biggest gripe is that existing Java/Swing developers are being
faced with a tough decision: either learn the JavaFX Script language
[2] and [re]write portions of their user interface using JavaFX Script
in concert with the JavaFX platform APIs, *OR* continue to use the
Java language and some combination of Swing and these low-level
Scenario APIs. As you can see, there's a huge chasm between those two
choices that needs to be bridged, and that is being worked on. My
personal preference is that we solve this by making the JavaFX
platform APIs accessible from any language, so developers can use the
most appropriate language (JavaFX Script, Java, JavaScript, JRuby,
Groovy, Jython, and on and on) for the job, but will be using the same
exact API across the board.

While we're not quite there yet, we must and will make this happen.
Once we reach that point, I could recommend the JavaFX APIs as the
primary entrypoint for developers, regardless of language. And then
Scenario can go on to serve primarily as an implementation detail of
the JavaFX stack (and maybe as a very low-level API for the more
advanced developers among this group).

As for whether these APIs (in any form) make it into a JDK release
remains to be seen. The first priority is to get a solid JavaFX SDK
out the door, and to make the JavaFX APIs very clean and easy to use
from the JavaFX Script language.

Chris

[1] The first technology preview release of the full JavaFX SDK will
be available in July 2008. Go to http://www.javafx.com for more
details.

[2] which, don't get me wrong, is a fantastic language for
constructing rich graphical applications, and a great way to interact
with the JavaFX platform APIs and existing Java APIs...

On Jun 26, 2008, at 7:30 AM, scenario@javadesktop.org wrote:
> The project Scene Graph is at the beginning of its life (currently
> version 0.6) but I was wondering what was the future of this API. I
> mean we can see the link between JavaFX and the Scene Graph but
> appart from it is there any chance that the API will be included in
> the coming Java 7 ?
>
> The whole attract of this API is to provide the Scene Graph aspects,
> animations and some prepackaged effects. I think it would greatly
> improve the graphic quality of Java apps if this API was bundled
> with Java 7 (or 8 ?).
>
> My question is then "What are the plans for this API appart from the
> evolution of the API itself ? Is it planned to include it in a next
> release of the JRE/JDK ?"
>
> I don't know if this question has already been asked but I've been
> through the forum and I couldn't find any thread mentioning it.
>
>
> Thanks !
> [Message sent by forum member 'flocoon' (flocoon)]
>
> http://forums.java.net/jive/thread.jspa?messageID=282784
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
For additional commands, e-mail: dev-help@scenegraph.dev.java.net

flocoon
Offline
Joined: 2008-06-23
Points: 0

Thanks for your answer !

Even if it's not an [i]Official[/i] statement it gives us a good idea where the SG is heading.
The best idea I think as you submited would be to make the JavaFX APIs accessible to various languages (Java, Groovy etc...) so that we could use its possibilities without rewriting our code in JavaFX Script (even if it looks a promising script language).

Thus if I follow your reasoning Scenario API can be seen as a "temporary" low level API which tend to be "bundled" into higher level JavaFX APIs ?

Nevertheless I hope this API (whether as a standalone API or used by a higher level API) will remain available for pure Java apps even if nowadays its main goal is to be included in the JavaFX project :)