The title is inspired from Jim Weaver's post on JavaFX, I here present what's new we get in Marina(JavaFX 1.2) and what should be there in next iteration, but first some background.
I followed JavaFX from it's version 1.0, heard the news here and there about it got a little exited ,tried using Jim Weaver's book somewhere in mid-2008 but dropped because the text is obscure and the technology has come a long way, after that Sun promoted it as a great RIA tech(I don't know time before because I was not following it) and with it's version 1.0 it was good but not great , a promising technology but lack of component still does not make it much worthy,
I got pretty excited about this language because of this . here's also pic, I probably a, not a good gamer and my scores reflect that
They promised of providing components in a later iteration, then comes version 1.1 , the big thing was Mobile support but not something which make someone like me with a short attention span to get very excited, but I drilled the language syntax(the JavaFX script language ) because of this entry (Thanks Mr. Weiqi Gaofor that)and had a few custome application component up and running for quite a some time just for learning purposes, the platform was not much stable (at least the smarter ones say and I observed here and there) but it still provides a smaller learning curve, and that was really great, I heard the complaints from the community about having to learn another language, but I am just a student and probably will like to stay like this because now I had not to worry about these things , I am free to choose whatever I want to learn and I did it, maybe those people were justified or maybe not but I am not in a position, neither did I have the credibility to pass judgement .
I even started some fun project in the beginning just for learning, here is one of them and as a matter of fact it is currently compiling well with JavaFX 1.2 installed but was made in 1.1 era
TennisFX -here is the pic it i what it shows here nothing functional when I shelved it knwing it'll require lot of game mathematics and I don't know some stuff which I was not good at the time.
Then the date of JavaONE approach, I like these things(although I don't understand much) and have over 3GB worth of tech talks downloaded in my system through Parleys and tried my luck with 'Dude where's my pass' contest (I must say my video was embarrasing , I was wearing Vest and it didn't look good , that and some unworthy voice acting to press content into stipulated 30seconds contributed to my demise), and as expected I got bumped but, that was fun, tried my hand in JavaFX programming contest, this is my application as it look the night before the submission date( sorry I couldn't pass the screenshot because it needs to be updated to JavaFX 1.2), I could not submit because of some media component bug at the last minute(or I must say last 4 hours, and was totally my fault) but it was a great experience (the idea was huge but I lacked the resources, time, and most importantly experience required but that's another story, ), 3days after we got the Marina release(JavaFX 1.2 was codenamed Marina)
Marina release was great, it bridged the huge gap, provided a leap in terms of components, Caspian was great and layouts(although JFXtras is doing great in that department, but it good to have a great thing out of the box) let me give you a feel of what they did and what should be next.
1.Project Caspian – I didn't know it is a separate project or what but it really is great, it is the name of Look and feel we get out of box, it look lean and attractive and provided a better alternative then what we have in Swing(In the attractiveness department, I didn't know much about stability), if it is good enough in technical terms I suggest it to be included in Swing but, just a request , you're free to ignore, I didn't mind and Swing have very good L&F available like Substance and others, so that is covered up.
I am farely content with this one.
2.The component set – it is much better then perhaps having nothing(that's what we had in version 1.1 , that TextBox thing was not properly documented), a fairly good list including Progressbar , button, scrollbar(it is a welcome addtion, it's a paint to implement it yourself) and other traditional ones.
What it lacks is a good component to provide Data representation, Joshua Marinacci showed a lazy list version of data representation so we're expecting something on the line in next version, listview will suffice till then , also if some receptive one are hearing there is a problem with hyperlink control launching browser , that's a fundamental thing if you're talking about hyperlink, however we get a pretty rich control set in terms of 0.1 version increase.
It came up early and came up good, ask a beginner like me who again with lack of much experience delved into lines of Rome Library(it is good but not beginner freindly), I don't care if this is inspired by Rome or what but this brings in very good support I must say in terms of out of the box functionality.
I have nothing to complain about here because it is more that what I(or I must say almost anybody else ) expected.
This release bring out Charting support , good first hand approach , some said it is inspired by JfreeChart, I had used JfreeChart for a while and it simply didn't matter, Charting support is always welcome, due to it's impact for business users it deserves special treatment.
This is another good thing, just evolve it more.
5, Runtime improvement
This is the huge thing (or I must say only thing because Project Caspian bring on a huge change into paradigm) if JavaFX had to be a success in Desktop and browser and they're slowly approaching that persona. But.....
I have a huge request, I didn't if you guys are right person to ask for it but please let the plugin load asynchronously in the browser, I don't want my browser to hang each time I load a web page with Java content, this is more of a generic request but can hinder JavaFX acceptance for browser.
Java have a myriad of persistence option available(try the book by IBM guys if you want to have deeper look) and this iteration of JavaFX support this with introduction of persistence storage mechanism in JavaFX, works great for small things and a nice improvement.
We need a supported embedded database technology, I know we have Derby or JavaDB(although they're one and the same thing almost) but something more smaller, may be DerbyLite in the line of SQLlite with less functionality( a smaller support base in terms of SQL language) or why go relational, get something in the line of Bigtable, call it smalltable and just make it small.
And for what should be(or maybe) done in later iteration of JavaFX(besides those requested above), just requesting if someone is hearing
1. Lose that security dialog box, others did it , I know that fulfills Java's Security sandbox feature but hinders User's experience which is a much larger thing if you're on RIA track, get a compromise,
2. Allow lazy loading of application, let us choose our custom screen while application is loading , that spinning java logo is good but it looks monotonous after some time.
3. Include building a game viral tutorial in JavaFX, with distribution system as zembly(another great technology, pardon me if I am not using proper term) and inclusion of project darkstar into the landscape.
4. Provide a remoting API, (get inspiration of project flamingo and Cairngorm-fx), I think Stephen Chin said here ( read the comments ) that it is in the to-do list of JFXtras , so maybe we'll get it by year end.
5. Provide more open event like the nice thing Mr. Joshua Marinacci are doing in JFXstudio website, it is great, you had JavaFX challenge but I think this release deserve a JavaFX challnge 2.0.