如果技术历史记录2008年,那么今年的Java将被留在记忆中的是:从一个以语言为中心的技术转变成为一个以平台为中心的技术。JavaWorld的Andrew Glover总结了2008年Java大事记,让我们们来看一看。
JVM的转变
JVM 语言的转变并非新鲜事(事实上今天JVM已经支持大概240种语言),而这种转变很受欢迎。在2008年JVM给予Java的开发者动力的方式非常有趣。
到目前为止,最激动人心的发展就是 JRuby 和 Groovy 滚雪球般的增长,由 Ruby on Rails 和 Grails 提供持续动力。这两个web框架将开发者从旧的条条框框中释放出来,使用快速有效的应用开发方式。运行在JVM上,并没有损害这两个开发框架,反而能够利用现有Java平台的丰富的库资源。
2008年同样见证了两个比较新的语言的发展:Scala 和 Clojure,以及再度出现在台前的语言 Jython。Clojure 被称为 Java平台的Erlang,是一个在JVM平台运行的动态函数式编程语言,其语法来自于LISP语言。Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格,两个语言都引起了相当大的关注。
另外2008年值得一提的新语言就是Sun于年底发布面向RIA应用的JavaFX 1.0 中的 JavaFX Script。
JVM语言峰会
2008年的首届JVM峰会是一件有趣的大事件,它汇集了一些在语言设计,编译器和虚拟机工具上最卓越聪明的头脑。JRuby, Groovy, Scala, 和 Clojure 各领域都有充分的代表出席了会议,以及 Fortress, PHP, Python, Jython, 和 Jatha(Lisp语言的变种)也有代表参加。另外在议程上 Parrot VM,HotSpot,DaVinci Machine, JavaFX, 和 Kawa,以及 Java闭包方面都关注到了。
总之,这次首脑会议是一个受人尊敬的开发牛人之间的合作和互相学习的会议。最后参与会议的成员承诺JVM的设计将支持更多的语言。这次会议表明了大家意识到Java编程的未来不是捆绑在语言上,而是着重于平台。这也是在java这么长的历史上首次由非sun开发者主导的会议。
加入竞争的Scala和Clojure
这两个语言在2008年发展势头很足,这两个语言完全不同——Clojure是一个采用Lisp语法的语言,Scala看起来更像正常的java,但是包括更多的功能。不同于JRuby和Groovy,这两个语言目前都还没有一个杀手级的应用来推动它们变得更加引人注目。但是这两个语言都承诺提供更好的并行处理技术。2008年开始出现了一些Scala的书籍和文章。
Groovy + Spring
2008年最吸引人的收购之一是SpringSource收购G2One(支持Groovy 和 Grails的公司),Spring强调了对于语言改变的兴趣以及期望通过创新获得更多市场份额:
SpringSource 写道
最近,由于动态语言的重新崛起,groovy和Grails建立了创新的web框架,已经改变了提供更强大和更有效来开发商业应用软件的方法,就像spring一样,开源项目groovy和Grails也通过提高生产力和快速开发关键性应用改变了Java生态系统。
这个新闻无疑增强了收购开源的商业模式,如同年初Sun收购MySQL一样。同时还证明了,在未来几年中JVM的改变将继续影响基于Java的开发。
Google推动Python的发展
Google对java的兴趣在2008年减退了,google更支持python而不是java。2008年4月, google发布了google App Engine,包含的应用环境不包括java。google App Engine让开发者开发web应用能够使用google现存的架构,google的架构严重依赖于python。
Sun在2008年同样热情拥抱Python,聘用了两个核心开发者为Netbeans添加Python和Jython支持。Sun还在Sun的开发网络中添加了一个Python 开发中心。
Sun更加支持Jython的决定是英明的,Jython比Groovy和JRuby更加成熟,也许Jython的发展势头能够超越Groovy和JRuby或者Scala和Clojure。
面对不断变化的Java企业开发
谈到Java企业开发,今年的发展非常清楚的表明,Java EE已经不再是唯一的。Java EE 6的发布并没有引起社区的足够兴趣。
Java EE 6的欢呼和冷淡
一些学者欢呼2008年Java EE 6的发布,包括SpringSource CEO Rod Johnson,他认为Java EE 6很不错,但是总体而言,大部分的反馈冷淡。
需要了解的一件事情是,Java EE 6和之前的发布版本相比极大的简化了,但是社区的冷淡反馈反映了Java企业开发的变化:很多的Java开发者发现了更多更好的框架,比如:Grails, Rails, Spring, Hibernate, 和 Tomcat,更能够满足他们的需求,比单一的Java平台更好.Java EE 6并没有新的Java核心发布,下一个主要版本将在2010年初发布。
OSGi 和 OSGi应用服务器 迅速发展
OSGi在2008年迅速发展,尤其是SpringSource在8月发布了自己的基于OSGi的应用服务器:SpringSource dm server有效的推动了OSGi在不需要完全支持Java EE规范领域的发展。
SpringSource进入应用服务器市场有点晚,但是仍然积极的发展SpringSource dm server和SpringSource tc Server(一个Apache Tomcat的企业版本)。SpringSource进入服务器市场将给这个领域带来创新。
经过长久的等待,JBoss AS 5终于发布了,这次发布几乎没有大张旗鼓,红帽公司首席技术官Sacha Labourey的声明是:"AS 5.0.0: we are done. Next."
GlassFish Enterprise Server v3 序曲也在年底发布了。GlassFish的定位是一个web 2.0开发的轻量级平台,如果GlassFish能够更轻量,更模块化,更能满足web开发需求,那么GlassFish会在市场上赢得自己的地位。
Java开发者欢迎REST
REST在2008年发展很快,REST提供了更简单的企业集成,尤其和SOAP相比。REST框架的JSR 311在2008年发布了1.1版本。
众人注目的RIA
Eastsun 写道
终于在12月初,JavaFX 1.0发布了。JavaFX能否和Flex和Silverlight竞争,就等待时间检验了。
2008年没有发生的
Android:一个2007年由google发布的移动软件平台和操作系统,虽然希望Android能够在2008年为java的移动开发点一把火,但是由于硬件迟迟没有推出,Android在2008年的影响甚微。随着年底多个Gphone宣布推出,相信2009年Android会重回新闻焦点。