Migarated from here at ‘2012-05-22 17:35:03’.
2005年9月13日和14日,我参加了由SUN公司组织的“2005JavaChina”开发者大会活动。和去年的2004JavaOne会议相比,本次会议的规模要大了许多,内容也更加丰富。在感受到Java十周岁生日热烈气氛的同时,我也聆听了若干大师的布道,了解了一些新的技术。以下是我这两天会议的一些心得和体会。
首先,SUN公司在软件开发方面的决策正在向更加开放的方向迈进。众所周知,SUN公司是以服务器制造起家的,随后在软件方面开发了自己独有的Solaris操作系统,我个人以为在Java之前,SUN公司对自己的定位就是完整服务器系统(包括软硬件)的提供商。在Java出现之后的初期,SUN也并没有能够准确的把握Java的市场价值和发展方向,虽然自己有Java发明者的先天优势,但是SUN并没有从Java的商业软件市场中取得应有的商业利益,反而是被BEA和IBM这样的公司主宰了Java Application Server市场。但是从近一两年SUN的策略来看,它已经开始逐步的把Java最为自身发展的一个重要方向,战略方向由之前的“偏硬”向“软硬兼施”的方向改变。首先SUN开放了自己的Solaris源代码,更令大家兴奋的是,这次会议中SUN公司的副总裁提到,在不久的未来,SUN也会逐步的开放Java的源代码,这对于整个基于Java平台的应用来说是一个好消息。开放将意味着技术的完善,意味着更多的人参与,以及更多优秀应用的产生。而SUN将继续通过JCP这样的方式主导Java平台标准的制定,使Java不会因为开放而导致的不同标准之间的分裂,这一点对于Java的发展也是至关重要的。对于我们这样基于Java平台进行开放的软件公司来说,我们将会使用到技术更先进、性能更优秀、价格更便宜的Java应用产品,以加速我们的开发工作。
关于JDK5,这已经不是一个新的话题了。不过这次JavaChina会议中,James Gosling还是在自己的演讲中强调了这一内容。可以看出,JDK5对Java语言的改进,可以看做是JDK1.2以来,Java语言最大的变化。在刚刚推出的EJB3.0的规范中,Generics和Annotations已经是新规范中的重要内容了,虽然在目前我们的开发中还没有接触到这些内容,不过可以想像,在今后两年出现的新技术中,JDK5的新内容是开发人员必须要掌握的,如果有可能,希望公司的开发人员有机会进行这方面内容的培训和学习,以便在不远的未来顺利的掌握相关的新技术。
说到EJB3.0,可以说这个版本在原有的EJB2架构上做了重大的改变,它汲取了深受广大开发人员认同的轻量级架构的优点,基本上是在原有架构上重新设计,可以预见,这一版本的EJB将会是务实且高效的,因此也必将收到开发者的欢迎。而且在开发难度上的门槛也大大降低,为它的广阔应用奠定了基础。建议大家有机会可以多多参考,该项技术应该是未来两三年内一个重要的技术方向。
另外一个值得我们注意的一个技术方向是AJAX。对于我们公司这样以B/S结构为系统架构的公司来说,这项技术的成熟会对我们今后的开发工作将产生重大的影响。在现有的B/S模式中,浏览器和服务器之间的交互一直是一个棘手的问题。基于FORM SUBMIT和URL方式的消息传递机制一直是改善用户体验和提高用户可操作性的一个瓶颈。对于开发人员来说,象使用“一般应用程序”一样的操作“页面”一直都是一个梦想。现在,随着AJAX技术和JSF技术的逐步成熟,这样的梦想有了一丝曙光。最近JSF规范的正式版本已经release,而且相关的实现已经产生。在本次JavaChina大会上,Oracle公司的人员展示了基于AJAX和JSF技术的页面UI,效果是令人鼓舞的。在页面上操作Grid和Chart真的就像在普通应用程序一样,而且根据他的讲解,开发难度也大大的降低了。可以想像,如果该项技术真的能够达到这样的效果,那么对Browser UI的变革将是颠覆性的。举个例子来讲,我们原来系统中,由于负责的操作,不得不使用Applet实现的功能,现在可以方便的使用AJAX和JSF来实现,这样一来,无论是开发难度,开发效率还是可维护性方面,比以前都有大幅度的提高。但是,在深入了解这项技术之前也不能盲目的乐观,必须待深入的了解之后才能对这项技术的实际效果有一个全面的评估。不过从长远来看,采用这项技术来实现复杂的Brower UI是大势所趋。
新的Glassfish项目将推动开源Java EE平台的巨大发展。由SUN主持的Glassfish项目是开源的Sun’s Java Application Server PE 9.0,该项目的目的是完成一个开源的、完整的Java EE 5实现。这个项目的成长和成功将会对Java Applilcation Server市场产生重大的影响。可以想像,在广大开发者的参与下,如果项目成功,那么我们就可以得到一个免费的Java EE实现,而摒弃商业化的Weblogic,Websphere,甚至是JBoss(JBoss虽然是免费的,但是文档和培训并不免费)。在我们公司的实际项目中,也加可以广泛的使用以前只有商业Application Server软件才能提供的JavaEE功能,从降低用户成本和改善系统功能的角度对我们都会有极大的帮助。建议公司相关的技术人员可以长期关注该项目并逐步深入了解,为今后Glassfish项目成熟后的应用做好准备。
关于开发工具方面,SUN一如既往的推广它的NetBeans IDE,这并不奇怪。但是让我感到一点惊讶的是,在本次JavaChina会议上,我从相关的Session中了解到,NetBeans现在也已经完整的支持基于plugin的开发方式。也就是说,NetBeans现在可以象Eclipse一样,可以由开发者来开发基于NetBeans平台的插件,以NetBeans为一个基础平台,实现自己的应用。而且同Eclipse一样,这样的开发只要使用NetBeans本身就可以实现。同Eclipse相比,NetBeans还有一个优点,就是在安装的时候就已经完整的支持了基于Java EE技术的项目开发,并且包括了Tomcat和完整的Sun’s Application Server,而无需象Eclipse那样,需要自己查找相关的插件,安装后才能进行Java EE项目的开发。这个特点对于新手和怕麻烦的开发者来说是具有吸引力的。而且同Eclipse一样,NetBeans也无缝地集成了对CVS的支持,比Eclipse走的更远的是,NetBeans还无缝地支持VSS和PVCS。另外,NetBeans的Profiler功能也是独具特色,对开发者调试程序具有极大的帮助。另外在移动开发方面,NetBeans也提供Mobility Pack,在UI设计方面的方便性上也是独树一帜。对于中国开发者而言,另一个好消息是NetBeans具有官方的中文版,包括相关的帮助。可以说,就我们目前的应用来说,使用NetBeans完全可以代取Eclispe,在某些方面甚至超出了后者。不过从我个人的角度来说,NetBeans的一个最大缺点是默认的字体比较难看,修改了默认字体又不能正常显示中文,就这样一个小小的缺点就让我对它望而却步了:(不过这并不能抹杀NetBeans最为一个优秀的Java IDE的地位。毕竟,无论是对开发者还是使用者,有竞争都是一件好事。
在Java SE下个版本Mustang中,简体中文版本的JDK JavaDoc也将包含其中,这对中国开发者来说无疑是一个重大的好消息。这也是继日文版本以来,JDK JavaDoc的又一个非英文版本。可以看出,SUN公司对中国市场和中国开发者的重视程度在不断提高,并将其放在了一个重要的位置上,从本次Java十周年的JavaChina盛会中也同样可以看到这一点。在过去的十年中,基于“开放”和“平台无关”理念的Java技术取得了巨大的成功,可以想像,在未来的十年,继续秉承“开放”理念的Java也必将继续得到开发者的青睐,保持领先的技术优势,并取得更辉煌的成就。
在公司对参会人员的统一要求下写了这篇文章,可以把它看作是一篇应试作文,不过感觉还是有一些价值的,仅供纪念及参考。