views:

3415

answers:

10

JavaFX is now out, and there are promises that Swing will improve along with JavaFX. Gone will be the days of ugly default UI, and at long last we can create engaging applications that are comparable to Flash, Air, and Silverlight in terms of quality.

  1. Will this mean that Java Applets that hail from 1990's are dead and not worth going back to?

  2. Same with Java Desktop: What will be compelling for us Java Developers to use it rather than JavaFX?

+9  A: 

In my opinion Java Applets have been dead for years. I wrote some in the late 90s - a Tetris game during an internship to demonstrate on a 40MHz ARM Acorn Set Top Box for example. Of course I bet there are some casual game sites that have tonnes of them still, and thus it will remain supported, but active development will/has dropped off.

Java Web Start is a handy technology in my opinion. That will still work with JavaFX, it's just another library for that system.

JavaFX will give Java opportunities beyond technical tools (like SQL Developer), in-house business applications and server applications (where it excels). I think it's one of those libraries that is worth learning for any Java developer, if they can get the time. There's no arguing that user interface libraries for Java have been sorely lacking, or overly complex, for many a year.

However there's a lot of competition out there, and it is very new (which means the development tool support is very raw, compared to Flash and Silverlight). Also people don't like downloading massive runtime environments, although broadband makes it less painful than 5 years ago for many!

JeeBee
+4  A: 

Though this might eventually be true , currently JavaFX lacks controls , no mobile devices support and other lacunae which makes it 'not there yet'

Learning
I just learned a new word!
Michael Myers
You just saved me time letting me know that JavaFX lacks controls. When it lacks controls, it will slow me down looking for non-standard free ones.
thenonhacker
Mobile device support is now there with JavaFX 1.1 which was released last week or so (just to update your answer).
JeeBee
+1  A: 

I agree with the others, Java Applets already died. JavaFX could possibly fill that void. However, I just don't see it replacing Java Desktop any time soon. It's the same thing as saying web apps will replace all desktop apps. Some people do believe that, and I agree that web apps will grow in popularity, however, desktop apps will continue to have a place for quite awhile.

Brian Knoblauch
+8  A: 

I think this discussion is somewhat misleading. I an no fan of applet technology either (and I have been underwhelmed by JavaFX). But the point that this thread is missing is that, unless I am mistaken, JavaFX is built on top of applet technology. They are not competing or mutually exclusive. See these articles here and here.

It could be that the confusion is somewhat intentional on Sun's part as they do not want JavaFX and applets to be mentioned in the same sentence, since Applets had so many problems.

Julien Chastang
Well that is correct. Sun won't start all over from the ground. But the difference here is JavaFX another objective. Applets were to follow "Write Once Run..." but JavaFX is not. Actually it is not currently supported in Linux or Solaris. They will be later, but as of now Sun's focusing on Windows.
OscarRyz
@JMan: Still, there is a thick line differentiating Applets and JavaFX, and all new things introduced in JavaFX like Scripting could not be done in the 1990's.A Square is a Rectangle, but that doesn't mean Square = Rectangle.
thenonhacker
You are right. Applet can't die as long as JavaFX is alive.
grayger
+5  A: 

Java Applets died not because of the concept of an applet, but because the JRE plugin for web browsers was abyssmal.

In fact, Flash proved that there is a role for in-line interactive content.

JavaFX is a new way of programming rich internet applications - essentially equivalent to Java applets or Flash content. The new JRE runtime (1.6.0_10, aka "Update 10") includes lots of features that make running Java in the context of a browser much more palatable.

JavaFX != Java Desktop. The two are quite different, and each have a place in a developer's toolbox.

David
+1  A: 

1 - Will this mean that Java Applets that hail from 1990's are dead and not worth going back to? With the update to the Java plug-in - all applets, not just JavaFX-based applets get the improved user experience and performance. That being said - I don't think there are many (if any) killer applets out there. If there were - JavaFX would never have been needed.

2 - Same with Java Desktop: What will be compelling for us Java Developers to use it rather than JavaFX? If you are building GUI applications and want to run it in Java - in particular across multiple platforms (e.g. desktop, applets and mobile) as well as make it easier to work with someone who has actual Photoshop/GIMP skills - JavaFX is your best choice because it was designed explicitly for that type of process. However, remember JavaFX can call Java code and it can also make remote calls (either getting back XML or JSON). I think the most likely integration point will be to use JavaFX for UI and caching of results but all of the heavy coding logic will be on the server. Where it can be written in Java or .NET or assembler if you can get your assembler to emit XML or JSON :).

Mark Wilcox
+4  A: 

Java Applets are not dead.

They had a bad history, for several reasons:

  • Most platforms had bad browser plug-ins for the entire 90s, moving into the 2000s, and this gave Applets (and Java, to some extent) a reputation for slowness and large downloads.
  • The actual Applet platform created a new VM for each applet, which further created sluggishness, especially in the startup of an Applet.
  • many Applet developers weren't conscientious about minimizing the size of the jars they pushed down, even Further creating the impression of sluggishness

The improvements which bring JavaFX also bring improvements to the Applet (they are one and the same). VMs can be shared and caching is better than before. In addition, higher average user bandwidth can help even poorly designed applet deployments startup quickly. If you look along the axes of install base and platform power, the Applet is still pretty high up, if not the top, in my opinion.

JavaFX is cool, but it requires an additional runtime, and for many parts of it is just syntactic sugar on top of the Applet platform. Almost any problems Applets have today are shared by JavaFX for this reason

Patrick Lee
It always used to be all applets in one VM instance. From 6u10 it can go multiprocess (although if you are using applets without any strange configuration that wont usually happen).
Tom Hawtin - tackline
+6  A: 

Actually, Java applets are a nice technology which could have been as ubiquitous as Flash, if only Sun didn't lose the PR and technology war with Microsoft.

Microsoft was pushing DirectX controls at a time, and leveraging IE market share against applets. I remember doing some benchmarks then: Java applet of 3 MB (which was large), loaded from local disk (to take network load times out of equation), took around 5 seconds to start in Opera. The same applet somehow took about 2 minutes to start in IE.

So, it wasn't that technology sucked; it wasn't that applets were slow because they were too big; they were slow because the dominant browser at the time deliberately made them slow. :)

I guess that JavaFX is Sun's attempt to revive a lot of ideas from applets, at a different time and in a different market.

Domchi
+1  A: 
  1. Will this mean that Java Applets that hail from 1990's are dead and not worth going back to?

JavaFX and associated changes are an attempt to revitalize the applet space - applets were always dogged by poor plugin implementations and flakeu`y bridges into the browser. That's been improved - though still needs more work - but at last Sun has recognized it needed work and has done something about it. Applets are better positioned than they have ever been. Of the competition you mention - Flash, Air, and Silverlight - I think you missed out the key competitor - the browser/javascript - the browser makers are also addressing key platform weaknesses - javascript performance, ability to do arbitrary drawing ( ie canvas etc ). For low-end requirements I think a pure play browser approach is going to win out - for higher end graphics - JavaFX has a chance.

  1. Same with Java Desktop: What will be compelling for us Java Developers to use it rather than JavaFX?

As a big developer of Java Desktop apps, one of the things that's missing is a decent set of basic widgets and the time to play! It needs a killer table implementation - you can embedded swing but kinda what's the point. Now I could write my own by that's not really where I'm adding value in my kinda of job.

A: 

We cannot easily write applets down as there are way too many good code on a web. Lots of it was written by people who are not specialists in software development but are specialists in various high end areas that they tried to explain and illustrate with the help of Java applets, the top technology at that time. They may not have time to learn new language and rewrite they work any. Many are not active for years.

I also see Java applets as more appropriate for community projects that are based on server side builds and code reviewing. Various fancy user friendly tools can make development of web components fast and easy but the result is either not human readable at all or very difficult to review.

We have recently launched the Ultrastudio.org project that still relies on Java applet technology. I was thinking a lot about putting more languages and platforms but at the end was forced to conclude that it is either less secure or otherwise way more complex to do.