A negative JavaFX article makes me a curmudgeon off the bat, right? JavaFX is a "family" of technologies from Sun, right now Java FX Script and Java FX Mobile make up that family. The point of this family is to allow users to build "rich" applications (meaning they have more than HTML form elements, they also have sliders) using a new statically typed concise scripting language, and then run those apps either on a desktop, the web, or a mobile device - with the same code.
This lofty goal is a good one in some respects, troubling in others.
I am all about RIA and Ajax, using actually *native* browser based technologies, but I do not prefer plugin based solutions like Flash and Java. The reasons are many, but all related and all simple: plugins do not "feel" like browser based apps, plugins are more difficult to install and maintain (even when its "ubiquitous" flash), and plugins are often proprietary (not free and open, not based on an open standard, such as HTML and EcmaScript, but rather on a companies product). I think Apollo is very impressive (and saw James Ward give a really nice demo of it at an off site JavaOne session), and I think it handles the on/offline transistion better than anything else at the moment. Yet, I am still not willing to adopt Flash because of the aforementioned plugin issues (not least of which with Flash/Flex/Apollo is the proprietary nature). Java is a different story, its less proprietary and even going open source, but browser based plugin support is a joke (often missing, based on various VMs, very difficult to support and I speak from actual experience) and applets *feel* even less like a web page. At that point why not just download a webstart app and forgo the browser stuff (which though better than applets still has it's share of VM variance and support issues)?
My preference - not an unbiased one I admit with my book coming out - is GWT for RIA. GWT solves many of these concerns: it's free and open, it begins with a well supported statically typed language loaded with tooling support, there are many more resources for a language like Java than for a product like Flash, and the results from coding Swing/SWT like component based apps in Java is HTML and JavaScript (Ajax) that *IS* native to the browser. In the future I would not be surprised if we see a lot more of this tack - even from vendors like Adobe and Sun, among others.
So enter JavaFX to this landscape.
The main problem I have with JavaFX (which until rebranded was F3), besides the lack of information/documentation ("there is nothing wrong with Swing", but this makes Swing better?), is the fact that it appears to call itself RIA and yet it's really just a scripting language for creating applets? Not just I suppose, but that is what the path for web deployment would be if it requires a JVM (it doesn't seem to flat out state this anywhere in the docs, it sort of skips build and deployment altogether - but I must admit I am still trying to get through all the tutorials, so it could just be my limited knowledge of it) - and web deployment is sort of a large part of the point of "RIA", isn't it?
At the risk of being misunderstood I should elaborate - I think the concept of a scripting language that builds Swing style apps is great, and I think the plan to be able to deploy desktop/web/mobile apps based on the same codebase is fantastic (though other things that do this come to mind as well, Groovy and the Swing Builder; though outside the advantages of static languages - others are in agreement with me on that). The problem I have is that the "web" part of this delivery must involve applets, and that blows. Now if JavaFX would compile your app into Java for the desktop, Java for mobile, and HTML/JavaScript for the web - using the same code - *that* would convince me it's as big as all the announcements say it is.
I welcome people to correct me, explain why I am off base, please do. But so far as I can tell without such enlightened discussion JavaFX is not nearly as impressive as all the hype. I see many "journalists" calling it a Flash killer and so on - hardly. The reason Flash is ahead of Java in RIA is not because of the syntax, its the install/maint of the "plugin" and JavaFX doesn't *appear* to touch that?
I still think the JavaFX project is very impressive, and has great potential, I just don't think its really got anything to do with "RIA" (unless you prefer applets for that) and there is no way its the new thread that will tie all delivery metaphors together in the way it has been pitched.
Chatter
21 hours 28 min ago
4 days 18 hours ago
1 week 3 days ago
2 weeks 2 days ago
2 weeks 2 days ago
3 weeks 15 hours ago
3 weeks 3 days ago
3 weeks 4 days ago
4 weeks 1 day ago
5 weeks 17 hours ago