What Scene Builder needs YESTERDAY!
mike at plan99.net
Mon Nov 24 15:29:26 UTC 2014
FWIW I've found Scene Builder to work pretty well and haven't missed
animation support. Doing it at the code level was good enough. And yes I
have built things in Flash, a long time ago. Perhaps my standards are
lower, as mostly in the last few years when doing UI work I've been stuck
with HTML :-) Scene Builder and FXML are pure bliss compared to that!
My main Scene Builder gripe is simply that it could use more keyboard
shortcuts, in particular for "wrap in". But that's relatively minor.
For animation, before a fancy all-singing all-dancing timeline editor, a
few more utilities in the API would go a long way. The animated bind
function I posted before is one I've been using a lot. Mostly you have
observable state in your model classes which of course don't animate, and
you want the UI to animate between states, so an animated bind type
construct is exactly what's wanted. It would make little sense to have a
more powerful animations framework that didn't work in this way, given that
most JavaFX apps are binding data to UI and back again.
On Mon Nov 24 2014 at 4:20:14 PM Manfred Karrer <mk at nucleo.io> wrote:
> I have a longtime backgroud in Flash and Flex development and a bit if
> iOS, so I would like to add here my 5 cents.
> My first impression and experience with Scene Builder was kind of: Is this
> meant serious? It cannot be that Oracle release such a product in year 2014
> when other platform had shipped well working UI - WYSIWYG editors more then
> 10 years ago. Sorry I don't want to be rude, but that was my first reaction.
> Beside that it is (at least on mac) pretty buggy and not 2 way compatible
> (if you continue to edit in FXML you soon get to the point where you cannot
> open it in Scenebuilder anymore because it does not support all what the
> compiler supports). That leads either to a very cautious and restrictive
> usage of FXML or that you use it just initially for the first UI prototype
> and then later don't use it anymore and have the annoying workflow to
> compile and run the app to see visual changes.
> I know that a really well working WYSIWIG editor is a challenge, and so
> far the only 2 which really worked well from my experience was the Flash
> IDE (I did not use later versions anymore so no idea how it is today) and
> Xcode. The Flex editor had more or less the same problems like Scene
> Builder (in the teams I worked it was considered as a toy).
> One general problem is as soon you have 2 development paths (visual and
> xml) it tends that one gets lost behind from proper support of the vendor.
> Xcode and early Flash IDE made the radical decision to have only an visual
> editor, the workflow does not involve xml editing when you reach the limits
> of the editor. That forced the visual editors that they need to make it all
> possible, which worked for both platforms pretty well. Of course the Flash
> IDE was too limited on the coding side and had another direction, but XCode
> combined both worlds in a pretty good way.
> I am not expecting to have support for animations. Thats another hard
> challenge and I am not sure if that should not be left out to some external
> I just would be happy to have an visual editor that really represents
> correctly what i will see when its compiled and which sticks in sync when
> the UI gets more complex and integrated with the projects code base (here
> Scene Builder lacks a lot!).
> But beside that, another disappointment for me was (coming from Flex) that
> it is pretty slow (for a such a fast runtime like Java). It feels for me
> same slow like Flex was, but the Flash runtime used by Flex is a much, much
> slower then Java, so how can it be that a Java based UI framework is not
> min. 10 times faster?
> Flex used code generation so all was compiled, otherwise it would have
> been completely unusable (slow).
> JavaFX use reflection and interprets FXML at runtime which introduces 2
> performance penalties:
> - The runtime loading (takes 50-200 ms depending on the size of the FXML)
> - The parsing and reflection based interpretation which takes another
> 50-200 ms (not so sure about that, as in that time the inclusion in the
> scene graph is included as well, but if the layout or rendering is so slow,
> then that is another question why).
> Every delay larger then 50 ms is very clear visible to the user, resulting
> in an UI which just does not feel snappy.
> In my current app I use caching to avoid at least the slow loading (after
> the initial load). I will probably convert all FXML when the UI is final to
> java code to get rid of the second performance penalty. But that of course
> is not a satisfying situation!
> Hopefully some code generation projects gets mature enough to be really
> useful in complex UIs or Oracle take JavaFX serious enough to put more
> effort on that.
> You can see in the UI how well the tools have supported the work process.
> If its a pain and a lot of work to get simple stuff done the UI looks like
> Flash was very good on that already back in 2002, you could create
> stunning animations, effects, designs without pain, it was fun to work on
> XCode is pretty good on that as well, Apple has a long tradition to take
> the visual aspect and the usability very important. And you can see that.
> Sorry again for the pretty critical and negative feedback. Actually I love
> to work with JavaFX, it just feels it could do much better, specially as we
> are in 2014 (Flex become mature around 2006).
> Kudos to all who are working hard on the platform. I am totally aware
> those are not easy tasks and limited resources produce restrictions...
> Manfred Karrer
> Am 24.11.2014 um 13:37 schrieb Tom Eugelink <tbee at tbee.org>:
> > Oh, you are right, if the JavaFX team does not need to make choices on
> where to invest their precious time, then all possible usages could be
> implemented immediately. Unfortunately they too have to place priorities
> and then the most likely usage will get implemented first (since most
> usages already have some existing platform, "alternative" or "replacement"
> for an that platform comes to mind).
> > Apparently it is not animations, personally I'm still hoping 3rd party
> controls support in SceneBuilder will get higher on the list, but I'm not
> getting my hopes up. But as Mike pointed out; it is a missing
> functionality, go build it! ;-)
> > Tom
> > On 24-11-2014 13:18, Felix Bembrick wrote:
> >> JavaFX should not be seen as a "replacement" for anything or an
> "alternative". It has characteristics of both Flash and Flex along with
> Silverlight and especially Qt, (not to mention even HTML5/CSS/JS), but is a
> separate and distinct product in its own class.
> >> Just because the Flash visual editor may have "got in the way" of your
> desire to code directly, that doesn't mean that JavaFX should not have such
> an editor for all the same reasons and use cases that Flash had one.
> >> Sure, for *your* purposes of "decorative effects", I am confident that
> coding would suffice but for *my* purposes (and anyone who has worked in
> the animation industry or worked creating visualisations) I really need a
> visual editor of the ilk I have described.
> >> Why just make one class of user happy but seriously limit the
> effectiveness of another (and in doing so possibly significantly limit the
> market of JavaFX)?
> >> I am sure at least one of the developers on the JavaFX team has at one
> point at least envisaged JavaFX being used for complex animations,
> visualisations or even non-trivial games. What they need to do now is make
> such use cases feasible.
> >> On 24 November 2014 at 22:04, Tom Eugelink <tbee at tbee.org <mailto:
> tbee at tbee.org>> wrote:
> >> I have no problems using JavaFX's animations for my purposes, which
> are decorative effects. I do not need an editor for that, forced me to use
> it and it probably will even get in my way. Which BTW was the case with the
> Flash coding that I have done; I hated that Flash EDI, it was way too much
> focussed on animation. Actually that is why Adobe created Flex, which
> basically was flash-for-developers (instead of animators). JavaFX is more a
> alternative for Flex than Flash.
> >> Tom
> >> On 24-11-2014 11:20, Felix Bembrick wrote:
> >>> Really? My point is, why have such good built-on classes to support
> the building of everything from simple animations to complex visualisations
> if it is practically impossible to do so?
> >>> On 24 November 2014 at 21:02, Tom Eugelink <tbee at tbee.org <mailto:
> tbee at tbee.org>> wrote:
> >>> I do not think that JavaFX is aiming at replacing flash, HTML
> equally important as they were for flash.
> >>> Tom
> >>> On 24-11-2014 10:46, Felix Bembrick wrote:
> >>> I am surprised more people have not expressed an opinion on
> this. To me,
> >>> it seems absolutely *vital* to the long term (or any term)
> success of
> >>> JavaFX.
> >>> Haven't any of you ever programmed in Flash? Can you
> imagine trying to
> >>> create any of those complex (or even the simple) animations
> >>> visualisations *without* a visual editor and by doing it
> code alone? It
> >>> wouldn't have been practical (read possible) and similarly,
> and with JavaFX
> >>> having even richer features, to do this "by hand".
> >>> To me, this is the reason why we haven't seen any great
> >>> animations/visualisations/applications using JavaFX and we
> probably never
> >>> will until a visual animation editor is available.
> Specifying and
> >>> controlling the motion and appearance of numerous complex
> objects and their
> >>> transitions relying exclusively on code would not be
> possible for even the
> >>> "gunnest" JFX coder...
> >>> On 18 November 2014 at 02:48, Richard Bair <
> richard.bair at oracle.com <mailto:richard.bair at oracle.com>> wrote:
> >>> I’m afraid at this time there are no plans for adding an
> >>> animation/transition effect editor to Scene Builder,
> certainly not in the
> >>> short-term.
> >>> Thanks
> >>> Richard
> >>> On Nov 13, 2014, at 7:34 PM, Felix Bembrick <
> felix.bembrick at gmail.com <mailto:felix.bembrick at gmail.com>>
> >>> wrote:
> >>> Java applets were the first "programs" to run
> inside a web browser and
> >>> for
> >>> a (little) while they were flavour of the month.
> >>> But then along came Flash which had several
> advantages such as faster
> >>> load
> >>> times, consistent loads and antialiased
> fonts/graphics and soon
> >>> completely
> >>> surpassed applets.
> >>> But the MAIN reason why Flash was initially so
> successful and went on for
> >>> years and years of domination is that the Flash
> tools had an
> >>> Animation/Timeline Editor pretty much from the
> beginning. This enabled
> >>> even a novice to drag images around and draw the
> path they wanted them to
> >>> move along, add all sorts of bouncing effects and
> sounds and the result
> >>> was
> >>> the birth of the online greeting card company.
> >>> But Flash soon went on to be so much more. As the
> Adobe tools improved,
> >>> so
> >>> did the SWFs and soon entire websites were written
> in Flash.
> >>> Meanwhile, applet programmers had absolutely
> nothing remotely similar and
> >>> had to try (and I stress try) to tediously hand
> code any animations and
> >>> transitions and effects and I don't think it ever
> >>> Fast forward 15-20 years and now we have JavaFX
> which doesn't need to run
> >>> in the browser, has even more features than Flash,
> uses hardware
> >>> acceleration for superior performance, has a wide
> range of built-in
> >>> animations, transitions and effects but STILL we
> have to hand code any
> >>> animation/transitions.
> >>> This is INCREDIBLY inefficient and unless Scene
> Builder incorporates a
> >>> powerful, sophisticated animation/transition and
> effect editor VERY, VERY
> >>> SOON I fear that the advanced graphics features are
> never going to be
> >>> used
> >>> to their full potential (much to the detriment of
> JavaFX itself).
> >>> Does anyone know if one is in the pipeline? I see
> this as one of the
> >>> most
> >>> vital features for the JavaFX ecosystem to achieve
> more penetration and,
> >>> eventually, survive.
> >>> Felix
More information about the openjfx-dev