Java 2005回顾&2006展望[@more@] 过去的一年,Mustang 没能出来,EJB3刚刚才提交最终草案,Ajax兴起但是五花八门不知道应该用谁,Aspectj 5出来了,但是缺乏惊喜。
或许我们会说,过去的2005,Java界缺乏成绩,但是却毫无疑问,Java遥遥领先于其他语言。从11月的语言排行榜Java遥遥领先,到今年的Java图书销售统计上,Java图书销售总数是C#的2倍,PHP的2.5倍,Perl的4倍,Ruby/Python的9倍.
这足以让我们对2006充满想象。
不过,还是让我们先回顾下2005吧....
1、2005 之 Java 对手
过去的2005,Java无疑是最受欢迎的语言。但是Java也面临其他语言的挑战,其中Bruce A. Tate,在一文中,提出了有可能挑战Java开发的4种技术,包括动态语言,Continuation,Conventions,元编程等。
Ruby可以说是最有可能挑战Java的语言,刚刚发布的Rails1.0引起了Fans的疯狂。Rails会不会是下一代伟大的框架?有可能。要做一个选择的话,Rails应该会是在使用Ruby或是其他动态编程语言的元编程框架潮流中的第一个。但是Java已经开始引进Ruby的特性了,比如Trails,Groovy。
2、2005 之 Java 新玩意
·Drools:Drools 是一个基于Charles Forgy's的Rete算法的,专为Java语言所设计的规则引擎。Rete算法应用于面向对象的接口将使基于商业对象的商业规则的表达更为自然。Drools是用Java写的,但能同时运行在Java和.Net上。Drools提供了声明式程序设计(Declarative Programming),并且使用域描述语言(Domain Specific Languages (DSL))。Web和持久层框架我们已经有很多选择了,但是处在中间层的商务逻辑有好的框架吗?你希望每次经理给你一个新的命令就不得不重编译那些复杂的if ... then 意大利面条代码吗?Drools- 商务逻辑框架的选择这篇文章中,保罗布朗推荐的Drools的规则引擎或许是完成这类任务的最好选择;为你的基于SPRING的应用增加简单规则引擎描述如何为流行的Spring框架开发简单的规则引擎;在你的企业级java应用中使用Drools一文则向你展示如何在企业级Java应用中使用Drools.
·Portlet:“Portlets是一种Web组件-就像servlets-是专为将合成页面里的内容聚集在一起而设计的。通常请求一个portal页面会引发多个portlets被调用。每个portlet都会生成标记段,并与别的portlets生成的标记段组合在一起嵌入到portal页面的标记内。”(摘自Portlet规范,JSR 168)。2005,Portlet框架层出不穷。什么是Portlet ?让你的Portlet之旅从这里开始。
·Ajax:2005年,还有什么比Ajax更火呢?Ajax兴起, 传统Web框架将走向何方? 引起广泛讨论,一度让人感受到了Ajax的凶猛之势。虽然Ajax和Java没有直接关系,但是毫无疑问Ajax也是Java界关心的东西。Ajax: Web应用的新方法介绍了这个将令人们兴奋的技术。
Ajax的应用也层出不穷,比如Google就成功地使用了Ajax。用AJAX来控制书签和回退按钮告诉我们如何用AJAX来控制书签和回退按钮。
一系列框架也随之而出来,比如DWR, Ajaxanywhere,Ajaxtags。其中:DWR让AJAX如此简单展示DWR如何使得AJAX的应用既简单又快捷。初探AjaxTags展示如何使用Ajaxtags进行Ajax开发。
·SOA:当然,2005不仅是框架,2005还有SOA,BEA, IBM, ORACLE..... 一家又一家企业公布了他们的SOA方案, 宣称他们的产品支持SOA功能. SCA和SDO也将组成新的SOA编程模型。SCA和SDO将组成新的SOA编程模型说明了如何在实现了J2EE1.4规范的应用服务器之间,比如Oracle Application Server 10g,使用J2EE1.4建立可互操作的,轻便灵活的服务;SOA架构中的事件驱动服务讨论使用Mule实现一个高效的事件驱动和面向服务的平台; 面对SOA, 你准备好了吗?
·RPC:Web应用的RPC方式调用,随着Web2.0的兴起,RPC方式逐渐成为Web调用的一种方式。
·分布式组件开发:在一个分布式应用当中,提供一个统一对外接口,通过可重用的外部API来满足需求。Java组件开发:一个概念框架提出了一个构建概念框架地解决方案.
3、Hibernate继续前进
Hibernate仍然是最受欢迎的企业级开发持久层方案,Ejb 3.0 的出现是否会让Hibernate的发展有什么变化吗? 这无疑是让大家都感兴趣的事情。过去的一年,关于Hibernate也有很多有趣的东西:Hibernate 3 的Formulas展现formula的各种特征是如何辅助模式转换的;而Magicgod的Hibernate的思考则提出了提到了Hibernate的一些弱点。
4、Spring大热
没有什么文章,比POJO应用框架:Spring与EJB3.0的比较 夺得更多的人的眼球了。Spring框架虽然很流行但并不是一个标准的开源框架,EJB3.0是由Java Community Process (JCP)制订的标准框架,为所有主要的J2EE厂商支持。两者都大量地使用了依赖注入。在SPRING中实现事务暂停讨论了Spring的事务管理特性。在Spring中配置Hibernate事务探讨了怎么用Spring来装配组件及其事务管理。爱上Spring的5个理由里作者描述了他为何喜欢上了Spring;而使用EJB 3.0简化企业级Java开发阐述了如何使用EJB 3.0 注释来开发藕合松散的POJO应用及容器服务器如何管理POJO。
2006,看来还有一场大战。
5、在Eclipse的影子下
调查表示,超过70%的开发者使用Eclipse进行开发。Eclipse毫无疑问已经占据了IDE的主流市场。Eclipse的兴起,也间接引起了Borland的离去。但是也引起了IDE工具的竞争加剧,对开发者是件不折不扣的好事。成为Eclipse热键高手提到了那些会让你的手指动的飞快的热键组合。这只是Eclipse快捷方便的一个缩影。刚发布的WTP,?? 好用的Myeclipse,都推动着Eclipse的不断发展,或许这就是社区的力量。
6、ANT
ANT仍然很受欢迎。ANT不仅仅是一个Build工具,它还可以作更多的事情。使用Ant进行Web开发介绍WEB 应用程序的部署,包括get, serverdeploy, 和 scp等。使项目开发自动化描绘了用Ant自动化你的项目能带来的好处。
7、2006的Java期待?
·EJB3: EJB3最终草案提交,预示着EJB3的即将到来了,相信明年一定程度上是EJB3年,简化开发是否真的实至名归?
·Mustang: 不知道Mustang 的出现,会给Java性能带来多大的改变,寄存器优化不知道是不是能带来革命的效果?
·JBI-ESB:JBI这个提了很多年的名词,终于在今年大热,相信明年JBI仍然会继续发展。
·JSF:JSF有太多对手了,Struts,Spring mvc,特别是Webwork加入Struts之后,不过相信JSF也是值得我们期待
·AJAX:虽然有很多AJAX框架出来,但是killer级别的框架是谁呢?2006会揭晓吗?
·Groovy:社区的力量使得Groovy越来越成熟和完善了。
·Rails:Ruby虽然和Java无关,但是我想多数人都在关心Rails。毕竟Rails还是我们所期待的东西。
·Spring2.0:Spring 2.0明年初就会发布了,相信会继续带动Spring社区的狂热。
相信在所有技术语言中,Java是2006年的热点所在,让我们共同期待2006。