星期五 一月 11, 2008

今天是我在Sun的最后一天,这个博客也就要关闭了。目前还没有找到合适的博客网站,先把博客移回http://blog.sina.com.cn/swingjava。如果有了新的博客地址,我会在那上面通知大家。

谢谢大家一直以来的关注!

星期一 十月 22, 2007

Ken Russell是Sun Microsystems公司Java SE开发组成员之一,他和他的小组致力于重新编写浏览器的Java插件。在这之前,他在Java HotSpot VM工作过好多年,他还领导过JOGL项目,是包括Richard Bair和Jasper Potts的“三人帮”成员之一。

本文Ken Russell讨论了目前浏览器Java Plug-In...[Read More]
最近要发版的Java SE 6 Update N beta将会包括一个全新的Java Plugin。根据Ken Russell的说法,jdk6uN将会包含一个完全重新写过的浏览器plugin,功能有以下提升...[Read More]

星期五 十月 12, 2007

Chet在他的博客上撰文说Consumer JRE的Early Access也就是preview版出来了,其中包含了以下几种重要的feature...[Read More]

星期二 九月 18, 2007

swing_designer终于完成了。最新的swing_designer添加了代码生成的功能...[Read More]

星期五 四月 07, 2006

Java has been very successful on server side. Java is flourishing on client side,but deployment and integration are blocking it from further thriving.

A few years ago, java was notorious for its ugly and sluggish graphical user interface. Since JDK1.5 release, complaints about user interfaces seem fading. But Java is still far from flourishing on client application. Two major reasons, I think, are blocking java from further thriving is application deployment and desktop integration.

Many of my friends are complaining that it is very hard to deliver their java desktop applications to end users. The first question is dreadful nightmare of downloading and installing JRE. Another question is the conflicts between different JRE versions. Applications developed in java emerged a lot in recent years. They are developed in different time and compatible to different JRE. These java applications require different version of JRE. This usually results in massy jre enviroment on a machine. Another question is these application cannot use a same JVM.

JRE installation is becoming more and more bloat. At java's very early stage, there is only one set of java called jdk. Later, with bloating of java library, java is divided into three major categories: j2me, j2se and j2ee. And now it is time to divide them into more refined grains. For example, why not split j2se into three types: small sized, medium sized and large sized. By division, we can provide more refined grain installation. Some application especially deployed using java web start can download small sized package, and lazy-loading those required class on demand.

Another question about java deployment is java versioning. Isn't a way that we can update our jre from 1.5 to 1.6 gradually, without downloading a completely new jre installation? Why do we need to several jre of different versions installed on one machine? ect.

Java desktop integration is another big problems that keeps java away from client application. If an application cannot interact well with native desktop application, it cannot solve the so-called data isolation problem. Nowadays, it is very clear that integration is the trend that every desktop application should follow. Applications that interact with other application, eg. input data from other application or output data to be processed by other application, can be more competitive the others with less integrations.

Unforuntately, at the very beginning java is designed as WORA language, highly abstract from native OS. If java wants to thrive on client side, it has to reconsider the WORA conception. IMO, WORA should be kept at different level. At the core of java, we should keep it. But outside that, why not fit java into different OS, providing OS specific library and API? Desktop application naturally should target a specific OS platform. And people who are making desktop application are most probably producing their software targeting specific platform. If Java does not want to loose the market of client side, it needs to fit the trends.

JDIC is not rigidly the conception of integration. It is just bigger AWT components. They still keeps the platform independent APIs. My sugguestion to java integration is to divide client java into different types of java according to major platform.

Mustang seems to be striding to this direction. But the pace is not so big. It is high time for us to have revolutionary reform on Java.

This blog copyright 2009 by williamchen