Linked by Eugenia Loli on Tue 19th Sep 2006 09:27 UTC, submitted by arooaroo
Java This is an overview of the main desktop features in Java 6 that should make it more appealing to desktop users. As with the Windows LAF, the GTK LAF in Java 5 struggled to match fidelity with the GTK toolkit. For Java 6, the GTK LAF will also utilise proper native GTK widgets rather than emulating them.
Order by: Score:
Probably not much
by Lambda on Tue 19th Sep 2006 10:04 UTC
Lambda
Member since:
2006-07-28

I've kept up with recent Java 6 builds, and Swing apps can almost pass for a native widget application now.

But it probably won't lead to some resurgence of interest in Java as a thick client. Windows developers will just use .NET and Unix open source desktop developers will continue to use whatever they've been using (which is basically anything but Java).

Swing is a flexible API, but Sun (until recently) never paid attention to putting a RAD layer on top of it. Actually, Sun should probably put a RAD language on top of the JVM, but that's another topic.

Reply Score: 4

RE: Probably not much
by miketech on Tue 19th Sep 2006 10:36 UTC in reply to "Probably not much"
miketech Member since:
2005-07-21

Hi,

well it always depends on the target platform. I agree, that .NET is the platform for windows development.

For Unix it is not clear. You can use Mono with gtk#, Qt and so on.

But what, if you wanna develop applications for several platforms? Mac, Windows, Unix/Linux?

Of course you have several possibilities e.g.:

Mono (works on Mac, Linux and Windows)
- With Gtk#
- With Winforms


Winforms are working, but the newest versions are not completed. Gtk# works on all platforms, but maybe some developers don't like the look and feel of gtk on Windows, or Mac.

Alternatively you can use Qt, or WxWidgets. They both work well on all platforms. But maybe not everyone wants to write a application in C++. Yeah there is a Java binding for Qt now too, I know.

I don't wanna say, that there is the one and only framework for cross platform development. I wanna clarify, that there are several choices.

But as you see: Java is one big player, if you wanna write your application once and use it on several platforms. And Swing worked well on all platforms, but the native Look and Feel was missed by many developers.

Swing now becomes more and more what SWT already is. And eclipse as a SWT application is a big success. It runs well on several platforms and looks nice on every one. But SWT isn't installed by default with the Java JRE.

So I agree, that it is a bit late for swing, because of SWT and .NET, but it is not too late.
(It's never too late ;) )

I believe that these are great news for developers, who wanna develop cross platform. (For me they are ;) )

Greetings

Mike

Reply Score: 5

RE[2]: Probably not much
by Lambda on Tue 19th Sep 2006 10:59 UTC in reply to "RE: Probably not much"
Lambda Member since:
2006-07-28

Hi Mike

So I agree, that it is a bit late for swing, because of SWT and .NET, but it is not too late.
(It's never too late ;) )


It's almost always too late;) It's not just the visual fidelity to the native platforms. It's the Swing APIs, it's the Java language itself, it's the perceptions of Swing and Java, as well as the investment in other technologies. I've always said that Java 5 was the last chance that Sun had with Swing making an impact as a thick client technology. I'm not backing away from that now.

Of course the unknown factor is what impact an open source Java will have. And when I mean Java, I don't mean the Java language. Java just isn't a RAD language.

Reply Score: 1

RE[3]: Probably not much
by miketech on Tue 19th Sep 2006 11:22 UTC in reply to "RE[2]: Probably not much"
miketech Member since:
2005-07-21

Hi,

I agree that Java doesn't have a good image as a platform for thick clients, especially from the users view.

But what is the problem with the Swing API and Java itself?

What is a RAD language for you? Python, Ruby? Is C# a RAD language? Imho no. Doesn't it depend on the IDE too?

And yesy: An open source Java could change something on the java on the desktop side.


Beside this: What do you think about Java on the server side? JSP + JSF and so on? Do you think the same here too? At this domain Java has a much better position than on the desktop. Or are .NET and other frameworks (Ruby on rails) superior to Java?

Don't wanna discuss this in depth, I am only interested in your opinion about this.

Greetings

Mike

Reply Score: 1

RE[4]: Probably not much
by Lambda on Tue 19th Sep 2006 19:16 UTC in reply to "RE[3]: Probably not much"
Lambda Member since:
2006-07-28


But what is the problem with the Swing API and Java itself?


They both suffer from a lot of boilerplate. Swing is a flexible API, but until recently Sun wasn't working on a layer on top that would ease building normal apps.

What is a RAD language for you? Python, Ruby? Is C# a RAD language? Imho no. Doesn't it depend on the IDE too?

Python and Ruby would be RAD languages. At the very least a RAD language needs type inference if it's statically typed. Boo is a nice example of a RAD language with good IDE support.

Beside this: What do you think about Java on the server side? JSP + JSF and so on? Do you think the same here too? At this domain Java has a much better position than on the desktop. Or are .NET and other frameworks (Ruby on rails) superior to Java?

Obviously, Java has done very well on the server side. I prefer frameworks like Echo2 over JSP/JSF.

Don't wanna discuss this in depth, I am only interested in your opinion about this.

Put it this way. Do you think applets will make a comeback? There are a lot of advantages of Java applets over AJAX. But despite that, I don't think applets will make a comeback. It's one of those time to market and momentum issues.

Reply Score: 2

RE[2]: Probably not much
by ma_d on Tue 19th Sep 2006 18:05 UTC in reply to "RE: Probably not much"
ma_d Member since:
2005-06-29

Definitely tcl/tk ;) . Just kidding..

Reply Score: 1

RE[2]: Probably not much
by historyb on Tue 19th Sep 2006 20:28 UTC in reply to "RE: Probably not much"
historyb Member since:
2005-07-06


But what, if you wanna develop applications for several platforms? Mac, Windows, Unix/Linux?


There RealBasic www.realbasic.com which is a cross platform IDE

Edited 2006-09-19 20:28

Reply Score: 2

RE: Probably not much
by thjayo on Tue 19th Sep 2006 13:26 UTC in reply to "Probably not much"
thjayo Member since:
2005-11-11

But it probably won't lead to some resurgence of interest in Java as a thick client. Windows developers will just use .NET and Unix open source desktop developers will continue to use whatever they've been using (which is basically anything but Java).

Well, is it just me or the number of open source projects done in Java have been growing lately?

Reply Score: 2

RE: Probably not much
by BryanFeeney on Tue 19th Sep 2006 22:28 UTC in reply to "Probably not much"
BryanFeeney Member since:
2005-07-06

Swing is a flexible API, but Sun (until recently) never paid attention to putting a RAD layer on top of it.

Swing has had a RAD layer for years, since about NetBeans 3 I think (back in 2000). Not to mention all the proprietary IDEs that had RAD tools (JBuilder springs to mind).

What they've done is two things:
1) Swing uses native widgets whenever possible, only drawing it's own if the native widget set can't create a widget with the given settings

2) Swing has been expanded to use System fonts, instead of the usual cross-platform fonts that came with Java.

2) Swing uses a new Layout engine - GroupLayout - which knows about each desktops default widget spacing and placement rules. Developers just throw their widgets into the layout in Matisse, and then when the app is started the layout engine places the widgets the way the native apps normally do it.


Actually, Sun should probably put a RAD language on top of the JVM, but that's another topic.

Like JRuby for example?

Reply Score: 2

too late
by dukeinlondon on Tue 19th Sep 2006 11:45 UTC
dukeinlondon
Member since:
2005-07-06

I work in a large corporation that did do a surprising amount of swing java development. There is now a big shift to .NET because of performance, memory footprint, lack of RAD etc.... Nothing SUN does now will change that.

Reply Score: 2

Great News
by slashdev on Tue 19th Sep 2006 14:47 UTC
slashdev
Member since:
2006-05-14

I am not sure what people mean by RAD (I'd think that Ruby,Perl, etc are RAD), but with netbeans 5.0 and above, java has been very simple to develop for and easily accessible. Netbeans is also cross platform. Java at least as RAD as C#.

I saw someone mention memory footprint between Java and .Net. Now I have been on a few Desktop .Net projects and I did not notice much of a memory footprint difference between Java and .Net applications, for large complex applications. Now if you are talking about small applications (one screen and a few buttons), then yeah, the memory footprint is unacceptable in Java as appose to .Net (well, at least in comparing 1.4, I have not checked a native 1.5 app)

Reply Score: 1

Java
by Xaero_Vincent on Tue 19th Sep 2006 17:05 UTC
Xaero_Vincent
Member since:
2006-08-18

If Java becomes open-source like SUN promises then we may see a increased uptake in the open-source world. Mono is gaining popularity too. Look at Beagle, F-Spot, SkyNET, and Muine.

Reply Score: 1

Feel the excitement
by pwjazz on Tue 19th Sep 2006 17:26 UTC
pwjazz
Member since:
2006-07-29

One just need compare the number of responses to this story with the number of responses to any Vista story to understand the lack of excitement generated by the thought of Java on the desktop. Until this thing grows from a set of potentially useful technologies to a set of actually useful end-user applications (like Beagle, F-Spot, SkyNET, and Muine), it's too abstract for anyone to care.

Reply Score: 1

RE: Feel the excitement
by evangs on Tue 19th Sep 2006 17:38 UTC in reply to "Feel the excitement"
evangs Member since:
2005-07-07

I use Mercury and aMSN frequently to video conference with friends who are on Windows. These are Java applications (Mercury definitely is, aMSN looks Java-ish) and they are a God send for Mac users who wish to video conference with others who aren't on Macs.

Reply Score: 1

RE[2]: Feel the excitement
by PowerMacX on Tue 19th Sep 2006 20:01 UTC in reply to "RE: Feel the excitement"
PowerMacX Member since:
2005-11-06

"I use Mercury and aMSN frequently to video conference with friends who are on Windows. These are Java applications (Mercury definitely is, aMSN looks Java-ish) and they are a God send for Mac users who wish to video conference with others who aren't on Macs.

Try Skype Beta 2 ;)

Fully native (Cocoa) btw.

Back on topic, unless you are making a multiplatform app, I'd stick with Cocoa on Mac, QT/GTK on Linux & .NET on Windows. Java on the desktop just gives you the minimum common denominator, and in many cases that is not acceptable.

Reply Score: 1

RE: Feel the excitement
by ahmetaa on Tue 19th Sep 2006 17:48 UTC in reply to "Feel the excitement"
ahmetaa Member since:
2005-07-06

i fail to see your logic.

Reply Score: 1

Java RAD like C# RAD?
by snowflake on Tue 19th Sep 2006 18:44 UTC
snowflake
Member since:
2005-07-20

>Java at least as RAD as C#.

Definitely not, the approach taken to implement GUI RAD is completely different between the two. C# GUI development is very much the same model used by Delphi which permits very rapid devlopment The Java pproach is more like QT which is much more awkward.

As for rapid programming, C# an Java are comparable though the way events are handled by both are quire diferent, with I feel C# taking an easier approach (again modeled on Delphi).

Reply Score: 0

I want java to do less.
by Eric Martin on Tue 19th Sep 2006 19:30 UTC
Eric Martin
Member since:
2005-11-11

For the desktop client that is.

Something like Python would be nice.

JIT compiler is just a need for most applets.

You will probably disagree.

There should be an option to the user to go for JIT or interperated and quick start up.

Just a thought.

Reply Score: 2