Fwd: No JavaFX for iOS, Android or WP - why not?

Daniel Zwolenski zonski at gmail.com
Wed Oct 10 14:12:03 PDT 2012


Ah yea, forgot to reply all. 



Begin forwarded message:

> From: Daniel Zwolenski <zonski at gmail.com>
> Date: 11 October 2012 1:42:19 AM AEDT
> To: Richard Bair <richard.bair at oracle.com>
> Subject: Re: No JavaFX for iOS, Android or WP - why not?
> 
> This is not whining, this is highlighting problems so solutions can be worked out. I thought that was the point of this forum and this community? 
> 
> And to stress even more, as I said very early on this is not just about iOS or Android support. It's about the direction JavaFX is heading and how it can be a real contender for mainstream serious application development, not just for niche use cases and platform enthusiasts.   
> 
> I'm not looking for a justification or defence of the current position (that's just wasting time and not making anything better). I'm looking for recognition of a genuine problem and then a workable solution 
> 
> Here's the problem: I'm a JFX fan. I want to use JFX. I currently can't. 
> 
> I work smack bang in the 'serious application' space Richard has indicated is the prime space for JFX. Right now I am building Grant Application management software (i.e. apply for and allocate funding). It is your classic form based system with a 'public facing' UI for applicants, a 'back-office' management UI, and a power 'admin' UI for helpdesk. I believe the back-office and admin UI systems are exactly the sort of apps Richard is talking about. I also believe this type of app is pretty damn similar to 80% of the Java applications out there. 
>  
> What's more my client is a pure-Java advocate, is totally open to using new technologies if they can be demonstrated to be better than their existing ones, and my client has some very sharp developers working for them. They _should_ be an absolute prime candidate for using JavaFX if it is truly the best platform for them. But they can't justify the move and I can't come up with a logical argument why they should. 
> 
> Isn't that a problem: the key target space for JFX, the right conditions; the 80% use case and yet still no movement. Isn't that something we should be looking at? I get that others are moving to JFX but as Richard alludes to below these are mostly Swing developers - that's a no brainer and not really the lion's share of the market. We need to see webapp developers making the switch to JFX.
> 
> Tell me how you would sell JavaFX into a client who is already using webapps? I've tried these arguments and they don't work (my argument in bold, webapp developer's counter argument follows): 
> 
> JavaFX is cross platform. - Well so is HTML+JScript. In fact HTML will even work on iPads and Android tablets so you can take it into the meeting with you or do your work on the train. What's more to build HTML for all my platforms I just run one simple Maven build and deploy it to my server. To build cross platform JFX I have to have every possible OS setup with JFX installed, then I need the special packaging tool for that platform installed and on my path (with different steps on Mac, Linux and Windows), and I need to upload all of these separately and make sure the right one is delivered to the right client. Oh and there's no auto-updating yet, but in web land the user can just hit refresh. 
> 
> JavaFX doesn't have cross-browser problems: Yea but you have to install Java (horrible) or a co-bundled app (still pretty raw), which is really no worse than telling a back-office web user they can only use one browser (such as Chrome), cross-browser issues magically gone!
> 
> JavaFX can do richer user interfaces: not really, have you seen what you can do on the web these days?    
> 
> CSS selectors suck to maintain and debug: umm, JFX uses the same CSS selector model. What's more web has already started to address this with @Less, JFX has to play some catchup just to be on par. 
> 
> JavaFX is all pure Java none of that nasty scripting: sure but using JQuery and other JScript libraries you don't actually have to write that much JavaScript any more. Add in things like Google Closure Templates and things get quite clean. What's more IDE support for JScript is pretty good these days so you pick up a lot of scripting problems early, which is more than I can say for IDE support for things like FXML or JFX CSS - not enough community pressure to get those supported. 
> 
> JavaFX has layout managers: yea ok you win on that one, layout in HTML with CSS is horrible. But then there's things like Twitter Bootstrap which make it manageable, and to be honest us webapp guys have memorized all the obscure CSS hacks to get around this, so really it's not such a big deal, and we'd have to learn all new tricks in JFX anyway. 
> 
> JavaFX works offline: hey that's kind of cool but really all our users are connected to the web, and offline has security problems. It's not a strong use case for us, and to be honest we could probably do something with JScript if we really wanted to anyway. 
> 
> JavaFX will work on mobile so we can re-use our code and not have to write new XCode: ah, no it won't. Didn't you read those forum posts?
> 
>  
> Once the web app developer has then finished ripping my arguments apart, he/she then lays in a few more blows:
> HTML webapp development has a massive community behind it. Heaps bigger than JFX with a whole range of established tools and platforms, from awesome Spring integration to form validation frameworks, style sheet and HTML template libraries, Twitter Bootstrap, years worth of tutorials, example and well answered questions on StackOverflow
> 
> HTML5 is gradually adding stuff that you wouldn't believe a browser could do, like 3D graphics, multi-media offline data storage. It is doing or will do everything that is on the JFX roadmap.  
> 
> Given the Java installation hassles, the client-facing side of things will always have to be HTML so we're going to have to do webapp development no matter what. Since the same coders are going to be working on all three UI's and there are some common components between them all, if we use web across the board then we can re-use things and keep all the patterns consistent making it easier to learn and maintain.
>  
> Are you telling me I can't use Maven to do a JFX build properly? There's no plugin for it - forget it.
> 
> So help me out here. What's the comeback? I've got nothing - and I can't imagine how anyone else building these sorts of apps is in any better position for selling in JavaFX in this key space?! 
> 
> 
> Some other more specific comments inline below. 
> 
> 
> On Wed, Oct 10, 2012 at 1:22 PM, Richard Bair <richard.bair at oracle.com> wrote:
> 
> > The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy.
> 
> I should hope not. I know many developers (some of whom have already spoken up on this thread) happy to do a port. Android hasn't had any trouble getting 3rd parties to port Android to anything and everything. A new port of JavaFX is not a major undertaking, almost the entire platform just works.
> 
> Sorry to be a bit pedantic, but if it is not a major undertaking then why is it that Oracle is so wary of committing resources to it? This doesn't stack up. Is there some reason other than resources why Oracle isn't wanting to support mobile?
> 
> Also, as I mentioned at the start of this email, iOS and Android is only one half of this conversation. The other is making it competitive with webapps. Which firstly and most importantly means properly addressing deployment well beyond co-bundling (e.g. the JScript 'VM' idea and/or a massively simplified one-click installer for a 'Java Browser' of some kind). 
> 
> I can't imagine any of that is trivial. 
> 
>  
> > Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive.
> 
> That's just being silly. HTML 5 isn't even going to be here for a few more years, let alone 6.
> 
> Fair call but 'lazy' might be a better adjective than 'silly'. I was hand-waving for the feature number when I said HTML6, I meant that by the time all the above work is done HTML will have had those (2, 3, 4, 5?) years to improve upon it's current position (i.e. it will be at HTML-now++), whereas JFX will just be hitting the point that HTML is at now. That's before we take into account the size of the community improving HTML+JScript vs the size of the community improving JFX. 
> 
> And it's worth noting that although the HTML5 spec is not going to 'be here for a few more years' the good bits of the implementation are actually already alive and well in modern browsers. Basically when webapp people talk about HTML5 in general conversation they are usually talking about where HTML is at now. It's pretty good compared to what it was even a few years ago. More standard, less buggy, and good tools for hiding the worst of it.
> 
> GWT (which allows you to compile Java to cross-platform JScript) is on the decline for example, since the current state of HTML makes it less relevant (of course the GWT enthusiasts will react to that comment just as angrily as the Flash ones would if I said that was on the decline, and as the JFX have been when I suggest something is out competing it - we all love our team). 
> 
>  
> > Secondly, where's the incentive for the community to do this?
> 
> If there is no incentive, then I guess you've proved the point, no?
> 
> Not quite. My question was not "where's the incentive for mobile and webapp support" but rather why put effort into adding this to the JFX platform when a competitor (i.e. webapp) already has it. Why not instead just move to that competitor and use your 'spare time' to add something even cooler on top of it.
> 
> There's absolutely no doubt in my mind that the community not only wants, but has to have, both mobile and web support in their toolkit. If there is one toolkit that can offer both cleanly, allowing reuse between platforms, then that will be the one developers will turn to even if it has some other minor shortcomings. Web is nudging there already but it's crude. JavaFX could do it better but if it turns up too late for the party everyone will already be on the dance floor with Webapp.  
> 
>  
> I should hope there is a large amount of incentive, as others on this thread (and many more privately) have verified. You act as though nobody has adopted JavaFX, but we're seeing a broad swell of adoption, especially among existing Swing developers.
> 
> I'd love to know more about the non-Swing developers adopting it. How many are there, why are they doing it, how are they finding it and what are they building with it.  
> 
> Convincing Swing developers to move to JFX is like convincing a kid to eat ice cream instead of sprouts. It's the other movements that are the indicators of long term mainstream success in my opinion. 
> 
> There are a lot of people who are developing for JavaFX commercially, and most of those people are not talking about it openly. Some very big customers in the lot. They love FX and are also committed to it.
> 
> Get them talking. Get them making noise. They need a community as much as the community needs them. Silence gets no one anywhere in this game. Growth leads to growth, snowball, critical mass, momentum. 
> 
> Do we have a "JFX sightings" yet? If not, I'd say that would be useful.
> 
> Oracle funds hundreds of salaries based on JavaFX & Java client. There is a huge, heavy investment from Oracle. JavaFX is here for a long time -- we've got paying customers and we've got support contracts. Look, we got beat up real bad for not having Mac and Linux support at 1.0, people questioned publicly whether we'd ever do it.
> 
> On the Mac/Linux issue, it was pretty early on for my involvement so maybe I remember incorrectly but I thought you guys made a pretty public commitment to supporting these from the outset (just didn't specify dates). So the guys 'beating you up' just didn't trust Oracle and were unjustified in this. 
> 
> That's not the same as this situation is it? What we're seeing here is an open (if slightly vague) stance being taken to not support mobile and not care too much about web. We're hearing "Oracle won't do it but the community can if it wants".
> 
> As ever with this stuff you're going to cop the brunt of it because you're the face of it all. I've seen enough of how you and your team work to know you guys want everything we want for this platform, and you're all working your guts out to make it happen. I'm sure you're probably pushing back on this just as hard as we're all pushing back on you. For me this isn't about lampooning any of the work here or kicking or screaming for the sake of it - it's about waving a flag at the train driver so we can pull out the map and check that we're on the right track (and if needs be get the union to march on HQ to get some new tracks laid). 
> 
> Truly sort out deployment and I am certain JFX can penetrate webapp (but only if it happens soon, html5 is winning the battle for hearts and minds). 
> 
> Support mobile and I am certain JFX will own this space quickly (easy win - it's such a mess).
> 
> Either space would be enough to grow the community past tipping point (and from this everything else would flow). 
> 
> Supporting both spaces would make it the all round winner. 
> 
> Support neither and, in my opinion, JFX will be limited to the space currently owned by Swing. Sure it'll be around for a long time but it won't be a main player, and certainly won't achieve it's potential. 
> 
>  


More information about the openjfx-dev mailing list