New Desktop Features Of Next Java
bonch writes "Sun has posted the new desktop features of the next Java, codename Mustang. Improvements to Swing look and feel, OpenGL 2D renderer performance, AWT features such as the ability to add a tray/panel icon, and improved deployment capabilities."
Here are my items that I would like to see in the next Java:
1) The ability to allocate more memory space to Java apps.
2) 64 bit support.
3) Ability to/Easier implementation of hardware specific calls to speed calculations. (e.g. Altivec acceleration).
Visit Jonesblog and say hello.
This java first post was brought to you by...
jFirstPostBot v0.94
Is a Java Desktop what we really need? Explain to me why it's a good idea. Personally I hate java (both the computer types as well as the drinkining type ). And no this is not an attempt to start a flame war, I just dont see the need for it
Step out of the box and enjoy life
...that mustang is also the first Java version to be developed under an Open Source type model. The CVS is open to guests over on http://www.java.net, thus allowing for immediate feedback and bugfixes. It has been a real boon for the gaming community, as they've been able to direct several key performance features.
Javascript + Nintendo DSi = DSiCade
Yeah! This is really something that should be made better.
Always when I use some Swing based applications I'm remembered that the times of ugly GUI's aren't over yet.
chris
Who spilled the java in my Mustang??!
By reading this, you have given me brief control of your mind.
You would have succeeded, if only you had used the speedy next version of Java, codenamed Mustang.
Letter
Jave was too slow.
As usual, Java is slow, cumbersome, irritating, and fails to accomplish the task.
is that the language i used to care about before i discovered free and open source python?
who is she? leave a comment!
YOU FAIL IT. Yes, you had a bot.
I'd also like to see a reduction in the 'layouts' available. Maybe I'm old-fashioned, but I like to position the elements where I want them, and not how some layout manager feeld they will will go best.
antipaucity
It looks like they've finally addressed this issue, but I think Sun is a little late.
.NET/Mono being around to give Sun a little kick in the rear to get moving on things.
Personally, I can deal with non-native look-n-feel, but when the fonts look like something circa 1988 on an Amiga, how can anyone take Swing seriously.
I never understood why they couldn't use platform specific code for fonts, and if not possible then go into fallback mode and paint everything themselves.
Swing has been a disaster. I believe it was the OTI guys (who now work on Eclipse and SWT) that told Sun not to go the route of "give me a handle to a brush and we'll paint everything ourselves", but some other group won that debate.
And thank god for
Screenshots!
A story about desktops carry no weight with me unless there is pretty pictures.
Get your Unix fortune now!
...the next version.
Not quite the same thing as "this is in the next version."
Loading...
You should have used the GNAA FirstPostBot!
You mean java is slow?
;)
Yes. Sometimes it is.
But hey! With such a codename it MUST be much faster
chris
Yup, I agree. Java needs to be able to allocate more memory... but hey, I think they already make it allocate more with each release, didn't they?
Java must embrace SWT and start doing GUIs in a fast, portable, native way. SWING is slow, redundant and ugly. IBM knows the right way, SUN should follow them or surrender to .NET (both windows and mono have NATIVE widgets stuff).
I was thinking they should add a new feature like not such random sluggish responsiveness in all java GUI apps on *nix machines.
This is downright stupid. How long, exactly, has JAVA been in existance? YEARS. It should never have taken such a mainstream language so many many years to have such basic features in the UI package. We're supposed to ooh and aah over this like it's exciting, breaking, important news. This is JAVA catching up to 10 years of simply horrible UI design (and other features.)
Excuse my speling.
Making The Bar Project
I guess the VM could use 64-bit pointers internally, but as you can't access memory directly in Java I don't know how the programmer would ever be able to tell.
Exactly. So why is Sun dragging its feet on porting its virtual machine for the Java language to the AMD64 platform?
but I like to position the elements where I want them, and not how some layout manager feeld they will will go best.
Thing is that "some layout manager" will know about the different conventions used for different human languages when it comes time to localize your software. Pixel layout is dead because different languages use different numbers of letters to spell the same thing. And in Israel and the Arab world, text in the local languages reads from right to left.
I thought Slashdot was all about TRUE open source.
Not pretend open source.
What the hell is that? Is it like Eliza Doolittle trying to say HAWT?
More useful information please, thanks
I've been on the java.net site.>/a>
.net suffix is either coincidence or very ironic.
Its a good mix of Sun developers and java users. I'm thinking of jumping back into java and been poking around that site to see what is new.
Its not all netbean either, Eclipse is giving good billing to.
The
as soon as I find out something's written in Java I can immediately ignore it
Then which web games do you play? Do you really want to use ActiveX to load web games written in native Win32 code when ActiveX lacks the sandbox capability of the Java platform?
Slashdot's [tux.org]? Are 7ou they're gone Mac Is dying and its
Or any kind of OSI approved license?
64-bit Java VMs have been available for SPARC64, PPC64, and AMD64 for ages.
Those all sound like very good enhancements. I would get rid of the crappy "Ocean" theme for the default. It's really no better than the much hated Metal. It sounds like they have worked to get the native look and feel much improved, but I would still like to see a *much* nicer default since it seems like that's what so many developers end up using.
The other thing is major Java Web Start improvements. I've tried to use it and it sucks majorly. Basically you end up having two different versions of your application, one that works with WS and one that works as a native application, which stinks from a QA perspective. Furthermore, while I know there are major security considerations when clicking on a program from the web, something has to be done about the dialog boxes. My own parents wouldn't run the application I wrote because it said "it is strongly recommended not to run this program". Then, there are all sorts of other weird dialogs like "would you like to enable desktop integration" that never works, and also sometimes gets put behind the application so you can't see it while it's still modal.
Otherwise, they REALLY REALLY need to get a better browser component. Here's what I suggest:
http://jrex.mozdev.org.
Make this a part of the standard JRE! *It will be the most significant and best single thing that ever could have been done to java*. Imagine having a gecko rendering engine whose DOM is fully controllable from Java on every major platform that the JRE supports! Imagine being able to use a gecko widget inside any GUI com\ponent! That would be how to step up and really innovate.
Finally, provide better desktop integration. Interact with the system tray. Allow "always on top" behavior. Include proper fonts (which it sounds like they're doing).
All in all, though, it sounds like there are some definite improvements, but they need to leap frog, not just catch up. Taking the JREX.MOZDEV.ORG concept and running with it is just how to do it.
I can count the Java desktop apps I know on one hand. I'm sure theres more but it's pretty much a dead topic for most developers since Swing has sucked for so long. The more I think of it, I see lots of problems with the whole Swing API/programatic approach to building a GUI. Why can't it all be XML based where you just design your GUI elements in document form and load it in.
On a side note, I'm not very happy with JSP these days either. I've been doing dotnet development for a year now and love the idea that each page has an instance of a class behind it. I tried to get back into JSP again lately, but was disgusted to rediscover that all instances of a page are sharing the same object, which is very frustrating and anoying after having done it the other way.
Blender And Linux Fan
Where possible, we will add pointers
Wow, the beginning of that sentence sure scared the hell out of me. In my opinion, asterisks should be for multiplication only.
I dont know why... but when i first read the article i thought it said..
"and improved unemployment capabilities."
Ahh.. the life of a java developer
C and C++ would never have become popular if they had come out without such basic features as a UI library.. ... oh..
emm..
hmm?
Seriously, where are all those Java games which sun keeps talking about? I see a million games written in Flash, but hardly any games written in Java. How come Java isn't better than Flash?
I love how Apple and Mac OS X are not mentioned anywhere at all.. Java has been welcomed pretty nicely to the platform - although you've probably never heard of WebObjects, among other things - and Sun could really care less about a platform that *wants* good Java.
I'm very excited with all the improvments Java is going through, but I'd hate to see it all being completely missed by the general public and web application developers if Microsoft won't include the JRE and Java Plug-in in Longhorn.
Anyone knows what going on with this issue?
First, it seems like KDE/Qt has more momentum than GTK on the desktop. Qt apps look better and are more integrated with eachother. Suse is the dominant desktop Linux distro and Suse is KDE-oriented. I'm glad that Java is going to be using native GTK for rendering, but what I would really like to see is native Qt. Maybe they could create some kind of interface to make it easier to plug in different rendering systems? Maybe they could open source Java and let the community take care of it? Maybe they don't care because desktop Linux is only about 5% of the market anyway? But still, it's something I would like to see.
The second thing they need is a "SwingLite", or some easier way to do common things. For example, it is very common to need a text field that allows the user to enter a number, but not text. Should be easy, right? This is the code I have to use to do it:
That's just wrong. I should be able to say:or maybe:The above example, involving two different factory classes to just get the field to accept integers only, puts a high burden of knowledge on the programmer, and Swing is full of stuff like that. It's great that the power is there because I can write my own hierarchy of text formatting factories and objects that enforces correctly-entered Sandhi rules, but that doesn't come up very often, and what does come up very often is having to enter a plain old number, date, currency value, that kind of thing. And I'm just using this one example, but this kind of over-design is all over the place in Swing.The final problem that they have is putting emphasis on plugable look and feel. Application developers shouldn't get to decide the look and feel of their apps. That should be determined by the desktop environment. Pluggable look and feel is not a feature; it is a bug. It should be deprecated and removed.
----------
Educational software
I use many java desktop apps in my day to day tasks on my linux desktop. There is no better way to connect to multiple databases than Squirrel , No better way to code in Java than NetBeans and no better editor than JEdit
I think Java 5 already has great desktop features like shared class data, and 2D acceleration for 2D acelerated hardware (which I don't have yet!).
I just checked out the latest build release of Mustang, Swing at least on Win32 seemed again snappier, the absence of the gray rectangle problem really made a huge difference, the guy now is faster on Windows (tested it on SwingSet2 and JEdit) than Firefoxs is.
But there still were minor annoyances in the Windows look and feel, mainly, the menus still are different to those done by windows (XP does dropshadows and transparency while being opened, Swing is flat) The file open dialog still has layouting differences, but besides that things start to look very good and fast. Cannot speak for Linux however and the Mac has yet to get a 1.5 release.
I wonder why they aren't having an XUL/XAML implementation?
the overhead in java keeps growing in an exponential rate, for the love of pete make an OS from it instead, would make more sense instead of cramming more and more resourses just to make it more appealing, really from the small foot print of java 1.0 to java 2 5.0 there is no similarity whatsoever only in the name, wanna make java better? read how bad some classes are written and implemented, write smarter code and java won't be so crappy, and once and for all stop shooting java left and right, there is a better option for every thing java shoots for like flash for web application, PHP for server side programming and such, watch how many companies have dropped java based solutions for easy to mantain alternatives... java is great for the hobbyist and far from perfect for the enterprise.
RIP Java.
and suggest Eclipse or IntelliJ as a better java IDE.
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
Is stability, security, and more speed. OOo 2 beta is SLOW and most issues i have with it are Java related in some way.
I am Spartacus
Use Microsoft's API for rendering portions of components (5106661).
and
Use GTK API for rendering portions of components (6185456). After fixing 6185456 Swing components will use GTK's rendering engine...
ROTFL. After years of Swing fanboys bashing IBM for daring using native OS rendering for UI widgets in their SWT toolkit (in contrast with Swings alleged the-only-right-and-holy-way of drawing everything in Java in name of "Java purity"), they seem to have finally gave up the futile attempts to imitate native OS and Swing will now delegate part of its rendering to the *gasp* _native_ rendering engines. I really wonder how can it be noone in the Swing camp cries desecration... :-)
Sig erased via substitution of an identical one.
Demographically, it's clear that most Java VM's run on Windows. Why don't they write a version that works even half as well as Microsoft's VM did?
The first thing I do after building a clean XP Service Pack 2 (or 1a) machine is install the no-longer-available Microsoft VM. Then, I go to Sun.com to download and install... nothing.
If I work on a machine that already has the Sun VM, I install the Microsoft VM and set Sun's not to be the default Java engine for IE. I also get rid of the stupid f***ing shortcuts and update managers Sun loves to install.
Why didn't Microsoft just pay those assholes off and keep on making their own VM? It actually worked in Windows.
The AMD64 editions still does not provide a browser plug-in. Luckily, there is Blackdown.
Some of you are complaining about GridBag and other layout managers. You have an excellent point.
To drop components just where you want and still have things resize, look at the UI builder called Foam. They have some videos at http://www.computersinmotion.com/ where you can see some pretty neat demos of Foam building some dialogs.
The dialogs get saved in XML which means one line of Java loads up and creates your layed-out panels!
You just posted to slashdot that you use IE... nevermind that you also prefer a 10-year-old JVM. Maybe it's just me, but highly I recommend learning something new instead of praying "JCobol" will stretch out your IT career until retirement.
About time they started thinking about the desktop. Java rules the server, why not the client?
Long live C#!
...and nobody bloody cares or remembers.
SwingWT is a FREE implementation of the Swing APIs on top of SWT so you get all the juicy nativeness of SWT and all of the nice APIness of Swing.
I know about the old Slashdot joke about BSD dying but I think Sun should release a distribution of Java for BSD. BSD's can make great servers and Java on that platform could open the way for many enterprise solutions.
How about Flash?
Games using Java technology can be made in J2SDK, which costs $0 (royalty-free proprietary software). Games using ActiveX technology can be made in MinGW, which costs $0 (free software). In both cases, the Eclipse IDE is free software. Flash games, on the other hand, are made only in Macromedia Flash, which costs well over what I can afford.
In addition, doesn't using Java technology let nearly the same codebase run on J2SE web browsers and J2ME phones?
Of course, it's still better to not fix stuff that ain't broke.
Everything I've written has had no reason to be localized.
Yet. Are you planning for when some foreign company wants to publish your program in another country and possibly pay you for the i18n work underlying its L10n job?
What I would like to see is a reduced memory footprint for Java. Using up 40MB for a tiny applet, application or servlet is a pain. CDS, Class Data Sharing, is close but you have to use the old-school garbage collector and the client VM. See http://java.sun.com/j2se/1.5.0/docs/guide/vm/class -data-sharing.html for the poop.
Please show me I am wrong.
I suspect two reasons for the lukewarm reaction to java: one the complete LACk of apple suport, two: "cooL!" factor.
Only reason Swing runs without a companion distribution is that the required DLL's for Swing are part of the Java download for Windows, Mac, etc.
OK, so Swing is "lightweight" in that most of it is done in Java, but there still has to be a link to the native OS at some level.
Yuo must be in INdia where programmars work for $1..... AHAHAHAHAHAHAHAHAHAHAHH WTF! LOL1 BBQ!!!!!
What Java needs is a major overhall. I know it ought to be fucking sexy, and it is. I developed and deployed parts of the Java Staton. I know people bash the speed. The god damn object syntax it self is a fucking joke! Who in their right mind makes a POS syntax that ReadsLikeABadWarezPost! Shit. For the love of pete! It makes having to write your programs with threads a nessesity: only god damn way to read your own god damn code and not go apeshit!Also what moron gave Java more than one Num type? Can someone explain to me what fucking idiot allows mixing of java and not? And the JAR file shit is a POS some JAR files run and others not. Someone call McNeli and Gosling and tell them to fix Apple support and to fix the god damn executables. Nextgive SUN a fucking clue: Yes the internet is sexy: however pusing app fucking lets over applications was a marketing blunder beyoned anything. And mabie, just mabie make a god damn JAVA Chip or something so that the god damn java programs don't act like the Valdez leeking more oil than a 5 dolla crack hoe. Then I want the real java to step the fuck foward: Why in gods name is ok for someone like Open Office to make a kick ass Java Application and Sun god damn mother fucking Microsystems version of Bubble Boble is a POS poor ass shity code that doesn't even launch. If it's a god damn standard then their doesn't need to be a million wrappers just pure fucking java.
"Make this a part of the standard JRE! *It will be the most significant and best single thing that ever could have been done to java*. Imagine having a gecko rendering engine whose DOM is fully controllable from Java on every major platform that the JRE supports! Imagine being able to use a gecko widget inside any GUI com\ponent! That would be how to step up and really innovate."
Imagine listening to "It's bloated!", and "Why do I need this?"
Built in USB and HID support would be nice!
Is it being prepared to do the right thing, whatever the cost. Isn't that what makes a man? That and a pair of testicles
Anti-aliased fonts have been around since Java 1.2. They are not enabled by default in Swing but sophisticated applications like netbeans can enable them with a simple switch in the preferences menu.
What is still missing is "ClearType" which is relevant only for LCD monitors! Personally I'm not too crazy about ClearType since it makes the fonts look "colorfull" when they should be black. But some people claim they are essential.
ClearType will be a part of Mustang and it will probably turn on anti-aliasing by default rather than let the programmer decide (it will do so by using the OS/font defaults).
Simplified model based on XML for client server applications. With an additionally large layered component libraries. Its FREE SOFTWARE (as in GPL).
It only does the rendering natively which gives it the advantages of SWT without the disadvantages. The look of the component will be the same as the native OS but the full behavior and the ability to modify the look will remain in Swing which is exactly what the PLAF was designed to do.
Up until now this was impossible to do under Windows, but XP has made some internal undocumented rendering API's into public API's. So rather than ask the OS to create a button, Swing creates a button and only asks the OS to draw it for a particular state and allows the user to replace the drawing if necessary. No dissadvantage of portability since the PLAF can still be replaced and is still in control.
Unlike SWT who both lacks a PLAF and handles events using an EVENT LOOP (how 1980's is that).
Since Swing is much larger and more complicated than SWT/JFace this cannot technically be accomplished for REAL LIFE Swing applications. The reverse however is possible there is a partial SWT implementation running on Swing....
Features such as full component based renderers/editors with truely decoupled models just can't be accomplished natively.
You just posted to slashdot that you use IE... nevermind that you also prefer a 10-year-old JVM
Yeah, I'm sure he feels the need to fit in with Slashbot groupthink.