Graham Hamilton, VP and Fellow in the Java platform team at Sun Microsystems, talked about the future of Java SE in today's Sun general Technical session. In the same session Bill Shannon talked about Java EE 5, but I'll save that for another article.
Graham: Here are the dates for the Java SE Roadmap:
- JSE5 Tiger shipped fall 2004
- JSE6 Mustang ships this October
- JSE7 Dolphin targets the second half of 2008
- Plus small bugfix updates every 8-16 weeks.
We've made some radical changes on how we've developed Mustang, by involving the community much earlier and more deeply. Every week we post our snapshot builds. This makes it much easier to contribute bug reports and fixes back. We get feedback much more quickly, for example people write about it on their blogs. This is working very well for us and for the community. Expect to see more of this for Dolphin.JSE6 Mustang systemic properties
JSE6 Mustang feature areas
- Compatibility, stability, quality.
- Performance (client and server, gc, hardware accelleration, gray rect problem, SpecJBB)
- Monitoring and Management (JMX upgrades, JConsole upgrades, more JVM level diagnostics, attach on demand, all java apps are enabled for M&M by default).
- Scripting (JSR223, co-bundling Mozilla Rhino, others supported, see scripting.dev.java.net)
- Desktop (look-n-feel including vista, antialiased fonts, benefit 10-12% on older machines, 60-70% range on newer machines, GroupLayout, Desktop integration)
Demo: Appointment manager "CalPal". Shows a splash screen, connection to Google web servers. In Windows and GTK we're accessing the native rendering engines to pick up on ... updated look and feel dynamically to Vista. Tray icon, launch native browser and other native applications to view default data types.
Windows Vista Status
Vista is a key target platform
Mustang will include core Vista support, including the IE7 plug-in. All available when Vista ships in november. Key updates will go into Mustang Beta2 in June.
1.4.2 and 5.0 will also support Vista in November but with older UI and more limited features.
Web Services: JAX-WS
All the Java vendors AND Microsoft are behind it. Mustang delivers full JAX-WS client and lightweight server (for callbacks). JEE5 adds richer server support.
Web Services: Java and .NET
We recommend Java developers program up at the JAX-WS level to isolate you from the protocol stack changes that might occur in the next view years. Treat JAX-WS like the socket level. Sun has been working with MS on project Tango to provide a higher quality interop with MS. JAX-WS 2.0 delivers WS-I basic interop, but project Tango adds a richer protocol support. Sun Java team is working closely with Microsoft. This will be delivered on top of Mustang and JEE5 in 2007.
There are many more Mustang features. Mark Reinhold will be talking about it in much more detail at another session this week.
Java SE futures
In Dolphin (JSE7) we're considering some Java language updates. We're cautious in changing the Java language but languages do evolve. Two things we're likely to do are direct support for XML, and super-packages. Possibly some others like method references, but not operator overloading. Some other ideas include desktop improvements (Java2D acceleration, Swing beans binding (JSR295), Swing application framework (JSR296)) Java Module System (JSR277), BeanShell (JSR274), and more.
Growing the Java platform through more languages
Java is great for large scale commercial development but diversity is good. Lightweight apps may not need static checking. Dynamic languages run on the JVM today, for example Ruby, Python, Groovy, and many more. A new bytecode (JSR292) will accelerate dynamic languages. It supports more dynamic method dispatch to make JVM support easier and faster. This will be the first JVM bytecode not used by the Java language.
Visual Basic for Java: Project Semplice
The goal is to enable VB developers to use Java platform. It's not for porting existing applications, it just lets you use your VB skills. Compile from VB source into Java classfiles, make VB source code calls into Java platform APIs, etc. It's a new language for the Java latform. It will support standard VB.net concepts. There will be more at a session later this week.
Demo: GUI application created in NetBeans, double-click on a button and see the event handler is written in Visual Basic.
Web tier futures: Project Phobos
Graham: Please help get the word out, see weblogs.java.net/blog/kgh .