BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Java 7 Now Includes JavaFX

by Charles Humble on Dec 30, 2011 |

Just before Christmas, Oracle released a second update to Java SE 7, and a 30th for Java SE 6. The Java 6 update improves the performance and stability of Java applications, and is now certified for Red Hat Enterprise 6. The Java 7 update includes a new version of HotSpot to improve reliability and performance, and adds support for Solaris 11 and version 5 and later of the Firefox browser.

In addition, as part of the Java 7 release, the Java Development Kit (JDK) now includes the SDK for developing JavaFX applications and, more importantly, the JavaFX Runtime is now installed with the JRE. As well as bug fixes, the bundled JavaFX release, version 2.0.2, includes some important updates, such as interoperability with the Standard Widget Toolkit (SWT), and a change of license, which enables third party developers to redistribute the JavaFX Runtime with their applications in accordance with the Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX (pdf document).

At JavaOne, Oracle announced its intention to open-source the entire JavaFX platform, and this process has now started with JavaFX 2 accepted as a project under OpenJDK. Under Sun's leadership, JavaFX was positioned as a framework for building Rich Internet Applications in Java; broadly a competitor to Flex and Silverlight. Both those frameworks now face an uncertain future, as Adobe and Microsoft, their respective vendors, now believe that the future of internet application development belongs to HTML 5. Marketing aside however, desktop-style applications still have a role, and Java does need a new client toolkit to replace the increasingly antiquated Swing, SWT, and AWT options. InfoQ noted, when the JavaFX 2 beta was first released, that it represented a completely new client layer for the Java SE platform, and the OpenJDK project page now makes this aim explicit:

The goal of OpenJFX is to build the next-generation Java client toolkit. The project intends to file a JSR in the Java SE 9 timeframe and hopes to eventually be part of the JDK proper.

The inclusion of JavaFX as part of Java 7 is a significant move. It isn't the first time something along these lines has been done - Sun bundled the Apache Derby database in the JDK as Java DB, for example. There are plenty of other things, including remarkably the classpath, that aren't part of the Java Language Specification, but are instead implementation details of Oracle's reference implementation. Similarly, since JavaFX is not yet part of the Java specification, and is unlikely to be so before Java 9 is released, it is only included in Oracle's release. But with Oracle providing releases for Windows, Linux, Solaris, and in the future Apple's OS X, that should cover the majority of desktops.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Great, but still too little too late? by C Curl

Good thing they now deploy the runtime with the JRE. At least it might now be possible to continuously build, test and deploy a system using JavaFX without wrecking your brains for hacks trying to make it work.

But JavaFX is still targetting the wrong audience. A lot of the stuff (scenes, animations, etc.) seems to be playing catch-up with Flash and Silverlight, both of which are also dying platforms. The future battle field of GUIs seem to be web, tablets and smarthphones. I don't see Oracle playing with any of the major platform vendors (Android, iOS, or even windows), or hardware vendors, and it's going to take some major concessions to break the ice with any of them (such as dropping lawsuits).

At the same time, the guys jumping up and down screaming "pick me!, pick me!" (mostly legacy app developers using swing) don't get much except a lousy swing-javafx bridge, when they really wanted better GUI components such as advanced tables, better apis, layouts, data binding, an application framework which isn't netbeans, etc.
What they need though, are incentives and a migration path. Preferrably before 2015.

Re: Great, but still too little too late? by arnaud m

I agree, the migration from Swing to JavaFX is not clear.
Swing is now dormant/end-of-life and it seems that JavaFX is not really ready for some kinds of advanced apps, and on all platforms.
(For instance when will Netbean platform be ported from Swing to JavaFX?)

It seems that MS has the same issue with Metro: www.osnews.com/story/25450/Microsoft_Metro_Does...

I think many java developers would have preferred an application-oriented framework (like OSX Cocoa) rather than another weather-widget oriented toolkit,
especially since JavaFX is not available on mobile devices like iPad (yet).

But a true "application framework" has been announced for the next JavaFX release, so maybe there is hope...
And it's good that Oracle has started to work on JRE/JavaFX for iOS, but we can't wait 2 years.

Also I wonder what is the future of SWT.
I have never used it, but if I had to start a desktop app from scratch today, it will probably based on SWT rather than swing.

What we need is Java Web Start built in browser by Serge Bureau

Because the actual web state is currently a mess. Paging app is a stupid concept.
Dart is the right Idea, but they have the same issue it has to be in every browser, specially mobile device.
At least Google has Android to put it in.

Why idiots in the Java camp never could get a JVM in every browser ? Instead we have clumsy Javascript, what a waste.

Re: What we need is Java Web Start built in browser by arnaud m

Dart is designed to cross-compile easily to JS,
so it could be used in current HTML5 containers (like PhoneGap), on many devices.
It could benefit from existing optimized JS VM, and accelerated HTML rendering engines, "for free".

Anyway, I don't think JavaFX will succeed as a plugin inside a browser (see Flash, Silverlight,...).
In the browser, HTML5-based solutions are going to win (with JS or with any language).
But it could be a good (or better) solution like Air or Mono, for standalone apps.

Re: What we need is Java Web Start built in browser by Serge Bureau

My comment had nothing to do with JavaFX per se but by the need of a language available in all browsers.

I also specifically stated that the page model is something we should get rid of, not having another JS translator.
The best feature of Dart is to not use JS, for legacy they and before momentum is gained they provide translation to JS.

I want universal access to browsers to many languages, JS is awful.
And the page model is not in any way a fit for applications.

JavaFX is nice but of little signification for mobile applications

JavaFX may be the next Adobe AIR by Dominique De Vito

I already wrote a post about JavaFX embracing HTML+CSS. Let's add also Oracle could offer with JavaFX the next Adobe AIR, as these 2 platforms are closer and closer. Let's detail this point here:
- JavaFX is Java-based, while AIR is ActionScript-based, but both languages are close (see this post)
- WebKit is integrated into both platforms
- JavaFX has now the possibility, like AIR, to define views through an XML-based language named FXML
- Both runtimes sit outside the browser
- Both are expected to be open source or open sourced

With the expected decline of Flash and Sliverlight, according to recent news, Oracle may have a card to play. It could be even the HotJava comeback.

Well, in the past, HTML is the juggernaut of our time and SUN has paid a great price fighting it directly with Java applets. The JavaFX approach sounds like to inherit from the applet failure: Oracle does not fight directly HTML, but mixes HTML and Java strengths (as JavaFX includes the WebKit runtime). JavaFX (runtime) could be the stub to let bloom again Java-based applications on the client side, in order to be able to build (Java-based) business desktop applications on top of this cornerstone.

Re: Great, but still too little too late? by Dejan Lekic

Saying "Swing is now dormant/end-of-life" and right after that asking "For instance when will Netbean platform be ported from Swing to JavaFX?" is kinda paradoxal, is it? :)

No, Swing is not dead, not at least for next 10 years or perhaps even more. Myth about web apps and mobile apps taking over and the death of desktop is far from the truth. :)

Re: Great, but still too little too late? by Serge Bureau

I agree,
in the long run it is the browser DOM and page model that should be replaced. It is a whole mess.

I hope many follow the scenario that Google tries with Dart, we need other language than Javascript in browsers. I would personally love Scala. But many choices would be interesting.

We are going in the direction of web app.

Preferably without HTML, CSS and JS. We need to evolve even if we have to support the old system for a decade.
We are being extremely inefficient with the current web

Re: Great, but still too little too late? by Russell Leggett

I would agree that the DOM/page model is far from ideal for applications developers. For a while I was very worried that the open web would lose out to flash/silverlight/javaFX, but that hasn't happened, and since then I've rethought a little about what I would want from a web.next platform. While just picking your favorite language is an easy way to think what could replace the mess that's there now, I think its important to remember all of the many use cases that the web has done well with, and also remember that what the open web has given us has influenced the thinking on desktop apps a great deal as well.

The web brought us a platform that is capable of straddling the application/document divide. Even through the warts, you can see that declarative UI code, and cross cutting styling is valuable - it has shown up in most of the modern toolkits - XAML, FXML, MXML. Even GWT and Android have an XML based UI layer. FXML and MXML support some kind of CSS type support.

The web has brought us a ton of designer minds into what makes a good UI, and how we can create unique experience in our web sites because we don't have to follow the same standard desktop conventions. Before the web hit its stride, I feel like most desktop apps looked like they were all the same, both Mac and PC. There's some benefits to that, and there is such a thing as straying too far from common sense, and good user interface design, but there is also something to be said about innovation in UI and crappy old html has played a big role in that.

Finally, let's not forget that many of the advanced javascript apps using lazy loading techniques, meta-programming, cross-site integrations, etc. would all be more challenging with a statically typed programming language.

I guess that's just the long way of me saying that while the dom/page model may suck for apps, maybe we shouldn't throw out the baby with the bath water. Html5, CSS3, JS.next, and all of the APIs being worked on, in addition to the wealth of tooling getting aimed at this are going to get us where we want to go a lot faster than starting from scratch, as much as I've wanted the same thing myself.

I love programming languages, so I don't want to sound like JavaScript should be good enough for everybody, but I don't think JavaFX should be that thing. Whatever it is that comes after, or in addition to the html/css/js mix, I think its going to have to be grass roots and prove itself the way that coffeescript and Less/Sass are starting to do it now. And I think it will probably have to compile first to html/css/js for it to ever take off. Maybe some day, if we rally around it enough, it can take the road that Google is trying to make now with Dart. Maybe Dart will be that language, but it's going to have to pay its dues first.

Re: Great, but still too little too late? by Serge Bureau

I would agree that the DOM/page model is far from ideal for applications developers. For a while I was very worried that the open web would lose out to flash/silverlight/javaFX, but that hasn't happened, and since then I've rethought a little about what I would want from a web.next platform. While just picking your favorite language is an easy way to think what could replace the mess that's there now, I think its important to remember all of the many use cases that the web has done well with, and also remember that what the open web has given us has influenced the thinking on desktop apps a great deal as well.

flash/silverlight/javaFX are not really languages, at best they are DSL's.
I agree it has influenced the desktop, but it has mainly been a negative influence.
The web brought us a platform that is capable of straddling the application/document divide. Even through the warts, you can see that declarative UI code, and cross cutting styling is valuable - it has shown up in most of the modern toolkits - XAML, FXML, MXML. Even GWT and Android have an XML based UI layer. FXML and MXML support some kind of CSS type support..

For documentation display and navigating the current web is adequate.
But how do you read a document in HTML ? From link to link without a sense of continuity, to do simple browsing through a document is fine but to really read any pdf reader is infinitely better ! Look at IPads, do you think people read through the web our through pdf readers ? For real reading and research, the web is totally inadequate.
Transferring info through XML is one thing rendering it in disparates non compatible browsers is simply a mess.
While GWT is a nice technical achievement, it is still only translating to the current flawed paradigm.
The web has brought us a ton of designer minds into what makes a good UI, and how we can create unique experience in our web sites because we don't have to follow the same standard desktop conventions. Before the web hit its stride, I feel like most desktop apps looked like they were all the same, both Mac and PC. There's some benefits to that, and there is such a thing as straying too far from common sense, and good user interface design, but there is also something to be said about innovation in UI and crappy old html has played a big role in that.

What are you talking about ?
The best design are by far by Apple and are not web based at all. The web brought deterioration. And ridiculous things like embebding text inside images, absolute position layouts and no automatic resizing for the most part. You talk about contribution ? Again a very negative one to me. We have regressed.
The web is good for what it was designed first, quick consumption of perishable data that are short lived. Because as soon as you have to modify something you have to pay a high price.
Finally, let's not forget that many of the advanced javascript apps using lazy loading techniques, meta-programming, cross-site integrations, etc. would all be more challenging with a statically typed programming language.

You must be kidding, Scala is century's ahead of Javascript and is statictly typed. And many of the recent programming language could do it easily. The only reason Javascript is so used is because it is the only one available on the client browser. Otherwise we would not ear from it.
I guess that's just the long way of me saying that while the dom/page model may suck for apps, maybe we shouldn't throw out the baby with the bath water. Html5, CSS3, JS.next, and all of the APIs being worked on, in addition to the wealth of tooling getting aimed at this are going to get us where we want to go a lot faster than starting from scratch, as much as I've wanted the same thing myself.

Starting from scratch ? Most modern languages have all thos facilities and a lot more.
Wher on the web do we have, Inheritance or Agregation or threads or even much better Actors or real debugging and good unit testing. On the web we regress a good 20 years.
Now let's think about context sensitive apps, it's a nightmare to even think using this on web based app. We need the power provided by functional programming, true object orientation and yes, statictly typed code.
The web as it is is is badly underpowered.
Plus of the supposed standard (CSS, HTML) are not standard at all as the browser implementing them aren't even close to specs.
And now think about mobile device, we cary the mess even further.
Frameworks are generating hundreds of versions to reach spread devices, talk about standard ? We regressed a lot.
I love programming languages, so I don't want to sound like JavaScript should be good enough for everybody, but I don't think JavaFX should be that thing. Whatever it is that comes after, or in addition to the html/css/js mix, I think its going to have to be grass roots and prove itself the way that coffeescript and Less/Sass are starting to do it now. And I think it will probably have to compile first to html/css/js for it to ever take off. Maybe some day, if we rally around it enough, it can take the road that Google is trying to make now with Dart. Maybe Dart will be that language, but it's going to have to pay its dues first.

JavaFX has nothing to do in this, as it is only a UI thing.
The rest of the tools you named in the preceeding paragraph, if I never saw them agin I would be happy. Give me a desktop environment on a browser, I have been waiting since the web came and probably will die with this insanity still there. No wonder we have such an incredible national debt !

Re: Great, but still too little too late? by Russell Leggett

I would agree that the DOM/page model is far from ideal for applications developers. For a while I was very worried that the open web would lose out to flash/silverlight/javaFX, but that hasn't happened, and since then I've rethought a little about what I would want from a web.next platform. While just picking your favorite language is an easy way to think what could replace the mess that's there now, I think its important to remember all of the many use cases that the web has done well with, and also remember that what the open web has given us has influenced the thinking on desktop apps a great deal as well.


flash/silverlight/javaFX are not really languages, at best they are DSL's.
I agree it has influenced the desktop, but it has mainly been a negative influence.


I never said they were languages - but they've been the only real attempts at replacing html/css/js that I've seen.

The web brought us a platform that is capable of straddling the application/document divide. Even through the warts, you can see that declarative UI code, and cross cutting styling is valuable - it has shown up in most of the modern toolkits - XAML, FXML, MXML. Even GWT and Android have an XML based UI layer. FXML and MXML support some kind of CSS type support..


For documentation display and navigating the current web is adequate.
But how do you read a document in HTML ? From link to link without a sense of continuity, to do simple browsing through a document is fine but to really read any pdf reader is infinitely better ! Look at IPads, do you think people read through the web our through pdf readers ? For real reading and research, the web is totally inadequate.

Transferring info through XML is one thing rendering it in disparates non compatible browsers is simply a mess.
While GWT is a nice technical achievement, it is still only translating to the current flawed paradigm.

You do realize that all modern ebook formats are html based, right? I get that its not a standard browser, but it is html, and google and kindle have both made browser based ebook readers. PDF is an inferior format for displaying the same content to a variety of screen sizes. With the iPad all the rage, many publishers do use HTML5, even for their newstand apps.

Transferring info through XML is one thing rendering it in disparates non compatible browsers is simply a mess.
While GWT is a nice technical achievement, it is still only translating to the current flawed paradigm.


It's not about transferring info - these XML languages (DSLs) are code. They specify layout, databinding, etc. and get compiled down to a native representation for each of their respective platforms. In the case of GWT, that happens to be javascript.

The web has brought us a ton of designer minds into what makes a good UI, and how we can create unique experience in our web sites because we don't have to follow the same standard desktop conventions. Before the web hit its stride, I feel like most desktop apps looked like they were all the same, both Mac and PC. There's some benefits to that, and there is such a thing as straying too far from common sense, and good user interface design, but there is also something to be said about innovation in UI and crappy old html has played a big role in that.


What are you talking about ?
The best design are by far by Apple and are not web based at all. The web brought deterioration. And ridiculous things like embebding text inside images, absolute position layouts and no automatic resizing for the most part.


The web has a long history. All of the current versions of every browser, both desktop and mobile, avoid these problems. What you are describing is not best practice. There are bad native apps, there are bad web apps. Before the web, how many applications had serious involvement with designers and not just developers. How many applications relied on simply combining the out of the box components to deliver a mediocre application. The web has played a vital role in bringing visual design from a print-only medium to software, and has made people really think more about design in general, both in terms of graphical and user experience. Flash has played a role in enabling that too, but its because of the drive to make unique, engaging web sites/applications. I think there were a lot of fumbles along the way, for sure, but we would not be where we are now with regards to UI/UX development without the web. Not to mention the additional benefits of no-installation, always being up to date, further reach than any other platform, and security of running untrusted code.

You talk about contribution ? Again a very negative one to me. We have regressed.
The web is good for what it was designed first, quick consumption of perishable data that are short lived. Because as soon as you have to modify something you have to pay a high price.


I'm not really sure what you mean by that exactly - that web dev is just harder, so any changes are more difficult?

Finally, let's not forget that many of the advanced javascript apps using lazy loading techniques, meta-programming, cross-site integrations, etc. would all be more challenging with a statically typed programming language.


You must be kidding, Scala is century's ahead of Javascript and is statictly typed. And many of the recent programming language could do it easily. The only reason Javascript is so used is because it is the only one available on the client browser. Otherwise we would not ear from it.

I'm referring to how Types are Anti-Modular, especially nominal typing. Personally, I think that JavaScript is far from ideal, but I also know that there's a reason that JVM failed where JavaScript succeeded. It had its chance. Let's also not forget that JavaScript is very flexible, and that has made it a pretty decent compilation target.

I guess that's just the long way of me saying that while the dom/page model may suck for apps, maybe we shouldn't throw out the baby with the bath water. Html5, CSS3, JS.next, and all of the APIs being worked on, in addition to the wealth of tooling getting aimed at this are going to get us where we want to go a lot faster than starting from scratch, as much as I've wanted the same thing myself.


Starting from scratch ? Most modern languages have all thos facilities and a lot more.

Well let's be clear, the language is just the beginning. It really is. For now let's call into question HTML/CSS/JS the DOM and page model. Actually lets ignore the page model aspect because many very real applications are a single page - thats not actually a limitation. Effectively its a browser with different guts. What are all the things that would still need to be done. Well - without the DOM/HTML/CSS, we need a UI. Not only do we need a UI, but it has to be cross-platform - so what is that? Swing? Oh - but it also has to be able to be implemented by multiple browser vendors, and the same source/binary has to work across each browser, and you have to be able to handle older ones and degrade gracefully. Also, you have to be able to be searched by a web crawler, and capable of linking. And run untrusted code. I could go on.

Wher on the web do we have, Inheritance or Agregation or threads or even much better Actors or real debugging and good unit testing. On the web we regress a good 20 years.

I can easily do prototypal inheritance and mixins in JS. The mixins may not be as nice as Scala traits built into the language, but JS is very flexible and capable of a huge range of code reuse patterns. As for threads, I think we can both agree that's not a very good thing to hand to most types of application development raw. As you said, actors would be much better, and the web has something similar called Web Workers. It is supported in the current version of all browsers, and work is being done to make it more efficient/easy to use.

Now let's think about context sensitive apps, it's a nightmare to even think using this on web based app. We need the power provided by functional programming, true object orientation and yes, statictly typed code.
The web as it is is is badly underpowered.
Plus of the supposed standard (CSS, HTML) are not standard at all as the browser implementing them aren't even close to specs.
And now think about mobile device, we cary the mess even further.
Frameworks are generating hundreds of versions to reach spread devices, talk about standard ? We regressed a lot.


I'm not sure what you mean by context sensitive apps. Different devices? It could be better I guess, but find me another platform that works on as many devices and has active development on making that easier. You can complain about browser differences, but that has gotten insanely better. The bleeding edge stuff has some differences, but seeing as those standards haven't been finalized, its not that bad. The rest is actually pretty solid.

I love programming languages, so I don't want to sound like JavaScript should be good enough for everybody, but I don't think JavaFX should be that thing. Whatever it is that comes after, or in addition to the html/css/js mix, I think its going to have to be grass roots and prove itself the way that coffeescript and Less/Sass are starting to do it now. And I think it will probably have to compile first to html/css/js for it to ever take off. Maybe some day, if we rally around it enough, it can take the road that Google is trying to make now with Dart. Maybe Dart will be that language, but it's going to have to pay its dues first.


JavaFX has nothing to do in this, as it is only a UI thing.
The rest of the tools you named in the preceeding paragraph, if I never saw them agin I would be happy. Give me a desktop environment on a browser, I have been waiting since the web came and probably will die with this insanity still there. No wonder we have such an incredible national debt


I think this says it all.
1. Only a UI thing? What do you think HTML/CSS is? Isn't that what you're complaining about?
2. You want a desktop environment on a browser. Java applets - poof - your wish is granted. Sorry for the sarcasm, its just that Java Applets are the closest thing, and fail miserably in my and many others' opinion. And honestly, if I really wanted a fully loaded application, no matter what the technology, I would probably prefer it not be in the browser.

You think web tech is so insane, and yet it is strong enough that its killed of all the other technologies that have tried to compete against it. I also think its a bit of a mess, but it has evolved, and I'm practical enough to see that pushing that evolution forward is going to get us somewhere faster than fighting it. What we need are better tools. You don't like JavaScript? Static typing is done at compile time. No reason you couldn't have a statically typed language with JS as a compilation target. Don't like HTML and CSS, no reason you couldn't have a library which abstract this for you, or just skip it and target canvas/webGL for direct 2d/3d output. Those already exist, but the tooling could get better. Have you heard of Emscripten? Its an LLVM-to-JavaScript compiler. Its still in the works but has already shown impressive results. You can say those things shouldn't be necessary, but I guess what I'm saying is that the web is a lot of things to a lot of people, and has to get better at all of them. And I think it is. Switching it out for a desktop environment doesn't fix that problem it just changes it. And then we'd have to figure out all of the answers to what has already been solved.

Re: Great, but still too little too late? by Serge Bureau

1. Only a UI thing? What do you think HTML/CSS is? Isn't that what you're complaining about?
2. You want a desktop environment on a browser. Java applets - poof - your wish is granted. Sorry for the sarcasm, its just that Java Applets are the closest thing, and fail miserably in my and many others' opinion. And honestly, if I really wanted a fully loaded application, no matter what the technology, I would probably prefer it not be in the browser.

You think web tech is so insane, and yet it is strong enough that its killed of all the other technologies that have tried to compete against it. I also think its a bit of a mess, but it has evolved, and I'm practical enough to see that pushing that evolution forward is going to get us somewhere faster than fighting it. What we need are better tools. You don't like JavaScript? Static typing is done at compile time. No reason you couldn't have a statically typed language with JS as a compilation target. Don't like HTML and CSS, no reason you couldn't have a library which abstract this for you, or just skip it and target canvas/webGL for direct 2d/3d output. Those already exist, but the tooling could get better. Have you heard of Emscripten? Its an LLVM-to-JavaScript compiler. Its still in the works but has already shown impressive results. You can say those things shouldn't be necessary, but I guess what I'm saying is that the web is a lot of things to a lot of people, and has to get better at all of them. And I think it is. Switching it out for a desktop environment doesn't fix that problem it just changes it. And then we'd have to figure out all of the answers to what has already been solved.


I won't write 10 pages, as we obviously do not see from the same view.

But for this segment, my bad as I was assuming JS in the group (CSS, HTML, JS)
Your comment on applet is mainly accurate, except I was more thinking of Java Web Start wich is far superior to all that is there. And it lost first because the lack of motivation from Sun, but mainly by inertia.
It was not available in the browser as JS was, otherwise JS would vanish.

You miss the point , you give me frameworks that abstract things and generate JS.
They must generate JS, HTML and CSS so they must obey their limitations so I have gained little. I have only quite limited control.
Targeting Canvas/GL, talk about starting from scratch !!!
You are proposing to go back 15 years !

Which problems have been solved.

Distributed computing (and I am talking code here not just data) exist since a long time and is not available on the web.

If used something similar to JINI to distribute code and use browser to run and network this code we would be many order of magnitude better.

But by all means, let's stay prehistoric.

Re: Great, but still too little too late? by Russell Leggett

Yes, perhaps we are missing each other's points. I can agree and say for certainty that the web is incredibly lacking in many areas that would be important for application development. For sure, a choice of languages would be really great. No language fits all cases. I would like the option to have more static checks, and an actual module system instead of just a global object. I would love to be able to have a more advanced component system than the garbage of nested divs and hacks with css/js. I wish I had enough hooks to right my own layout code instead of relying solely on higher level solutions that don't always fit my needs and don't give me the lower level access to what I need. I want numbers that don't suck. I want a halfway decent collection library. I want better persistent storage options.


Some of those things are easily fixed through incremental improvements. Some are being worked on right now. Some can made bearable with framework/libraries. Some are likely never going to happen. You may have a different list than me, but I think we're on the same page thinking that its a mess and could be a lot better. The point that I was trying to make though, is that there are a lot of considerations - technical, political, and practical - when it comes to getting the application platform we would want. I mentioned many of them previously. I won't stop you from griping if that's all you want to do. It could definitely be better. But if you were to have enough power to sit down and influence where you would want things to go and how to get there, it really is a challenging problem. How are you going to get the different browser vendors to agree. How do you avoid breaking the current web. Do you just skip it all and develop an alternative? I mean, the infrastructure is there. JS/HTML/CSS are just the client. There's nothing stopping anyone from creating a whole new browser that uses scala instead of JS/HTML/CSS. You could still have web sites/apps that get served from urls, just scala instead. The only problem is then you'd have to convince everyone to write for it, and everyone to use your client. Flash is the closest to that, but what about the iPad? I guess in the long run, I chalk it up to "worse-is-better". As much as I want to complain about it, it is getting better - a lot of people are working on it. And all of the problems involved with replacing HTML/CSS/JS with something better seem to be a lot bigger than just making it better a little at a time. Especially since the rate of improvement has gone up dramatically - there's a ton of support now for making HTML better for serious applications - it WILL get better, and a lot faster than during the IE monopoly stagnation.

Re: Great, but still too little too late? by Serge Bureau

I suppose from your previous message that we both see a lot lacking, the main difference is that I do not see much improvement.
It has been what, 20 years and we are still in a precarious state.

True it seems Microsoft domination is going down and the mobile devices are changing the whole dynamic.
I hope it will bring a new paradigm. Although I am not a fan of Dart, I like the fact that It could change the game and in doing so allow other languages.
Most think they have to change all browsers, but the mobiles are becoming the majority, MS Explorer will soon be a minority, so there is a small hope.

Re: Great, but still too little too late? by Russell Leggett

I find it odd to say that you do not see much improvement. I'm not sure how closely you follow these things, but I follow it closely. Professionally I write mostly Java and JS/HTML/CSS, but I've played with a lot of languages. For my job I architected and work on the front-end for a fairly massive mortgage automation system. It is a single-page application, and involves hundreds of JS and XML files, thousand of lines of code. I've written a framework and tooling to actually make it feasible and ultimately, I actually find it to be a fairly reasonable development environment. I don't want to get too far into it except to say that frameworks and tooling and code generation can go a long way, and are going to improve.

Watching the bleeding edge carefully, I can see what is actually becoming available now, and what will be available soon. Massive improvements to cross-browser compatibility, 2d/3d graphics primitives, persistence, huge performance gains, media support, transitions,animations,application style layouts,arbitrary fonts,persistence,application caching. I participate in the EcmaScript Harmony mailing list, and I know they're really hammering out some warts and making it better. And there are some really smart people making that happen. Mark Miller (creator of E) is making sure JavaScript can be used as a secure object capability language. Allen Wirfs-Brock brings his smalltalk heritage to the table. There's a lot of smart additions being made to the language. Not everything I would really want, and some things I don't really care about, but it should come out a better language.

You say you don't want JS/HTML/CSS as a compilation target because of its limitations. I think it won't be long before the limitations aren't that bad, but used directly it will seem a bit of a mess. That is why I think using it as a compilation target can be a very real option soon. I've read that browsers are looking into adding support to their debuggers for source maps, so that you can see the original source when you run the debugger.

Long term, I think thats the out. Over time, more and more improvements will be made to the platform so that it will make a better compilation. Eventually, the dream of multiple languages will be a reality, in a similar way to the JVM, its just that instead of bytecode, it'll be JS.

Re: Great, but still too little too late? by Serge Bureau

I find it odd to say that you do not see much improvement. I'm not sure how closely you follow these things, but I follow it closely. Professionally I write mostly Java and JS/HTML/CSS, but I've played with a lot of languages. For my job I architected and work on the front-end for a fairly massive mortgage automation system. It is a single-page application, and involves hundreds of JS and XML files, thousand of lines of code. I've written a framework and tooling to actually make it feasible and ultimately, I actually find it to be a fairly reasonable development environment. I don't want to get too far into it except to say that frameworks and tooling and code generation can go a long way, and are going to improve.


I follow pretty closely even if it makes me sick.
Yes how about refactoring, unit testing, remote debugging, ...
Hundreds of JS and XML, I congratulate you for your patience. I do a lot of support so I see the incompatibilities, it costing 5 times more than it should to develop.

Watching the bleeding edge carefully, I can see what is actually becoming available now, and what will be available soon. Massive improvements to cross-browser compatibility, 2d/3d graphics primitives, persistence, huge performance gains, media support, transitions,animations,application style layouts,arbitrary fonts,persistence,application caching. I participate in the EcmaScript Harmony mailing list, and I know they're really hammering out some warts and making it better. And there are some really smart people making that happen. Mark Miller (creator of E) is making sure JavaScript can be used as a secure object capability language. Allen Wirfs-Brock brings his smalltalk heritage to the table. There's a lot of smart additions being made to the language. Not everything I would really want, and some things I don't really care about, but it should come out a better language.


Your talking about graphics, this is the easy stuff and even then the performances are barely acceptable.
If those people where so smart, why after 20 years at it is it so lacking.
Why on graphics is there no layout managers, no automatic resizing.
Improvements in JS, it is still decades behind modern language, and let's mention speed ...

You say you don't want JS/HTML/CSS as a compilation target because of its limitations. I think it won't be long before the limitations aren't that bad, but used directly it will seem a bit of a mess. That is why I think using it as a compilation target can be a very real option soon. I've read that browsers are looking into adding support to their debuggers for source maps, so that you can see the original source when you run the debugger.


How long exactly are you willing to wait ?
And using JS as a VM is adding another layer to slow you down.
Look at how GWT as to massacre Java to render in JS. The Swing part is almost totally forgotten, there is an easy explanation that you refuse to admit, the target (JS) is too weak, and it is even worse because it is combined with CSS and HTML

Wow they will have the debuggers we had 20 years ago, where is AOP, Functional programming, remote debugging, ...
All those working on the web have to be paid by the hour, it's the only way to survive.

Long term, I think thats the out. Over time, more and more improvements will be made to the platform so that it will make a better compilation. Eventually, the dream of multiple languages will be a reality, in a similar way to the JVM, its just that instead of bytecode, it'll be JS.

Sure let's have english generated from cuneiform characters while we are at it.
You want us to build low performance everywhere , nice future you are wishing for

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

16 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT