技术开发 频道

Java 2007:新年展望

 


集成开发环境(IDE)会变得更好

一批垂死的 IDE 真正点燃了 2006 之火,再一次证明竞争是好事。由于 Eclipse 造成的窘境,Sun 将一些能量和资源注入到 NetBeans 当中,最终开始了一场貌似激烈的竞争。通过采取一些措施,到 2006 年底,NetBeans 甚至超越了 Eclipse。它针对设计 GUI 具有卓越的原生化外观和出色得多的工具。它所不具有的是 Eclipse 社区。相比 NetBeans,更多的插件和第三方产品是基于 Eclipse 的 —— 至少从量上更多 —— 并且这种趋势仅呈加速之势。

来年,Eclipse 会努力开发 3.3 版,应于 2007 年发布。Sun 也可能成功地将 NetBeans 6 公诸于世。这两个版本都不太可能是重要的版本:它们只是关注于添加这里或那里的小功能、修复 bug 和简化用户界面(尽管可能还没有做到应该要做的那么多)。

NetBeans 可能将继续赢得 Eclipse 的市场份额。这是从很早以前就开始了的,这方面还有更大的增长空间。(Sun 无情地推动 NetBeans 和 JDK 下载并没伤害到任何一个)。到本年度结束时,两种 IDE 也许将瓜分这个市场,平分天下。

同时,自信满满的 IntelliJ IDEA 用户将继续疑惑于这一团混乱的场面。他们的信念是:IntelliJ IDEA 是最好的 Java IDE。尽管如此,大多数用户不会对 500 美元的标价视而不见,因此其市场份额将继续在 5% 上下波动。

Java 企业版

没有哪部分 Java 编程像 JEE 这么成功,也没有哪部分 Java 编程像 JEE 那样招致如此多的斥责。它是一门每个人都喜欢去讨厌的技术。它复杂、费解并且是重量级的。没有哪部分 Java 编程有这多么第三方努力将其整个替换或部分替换:Spring、 Hibernate、Restlet、aspects、Struts …… 等等。虽然如此,几乎每一个招聘 Java 程序员的商家都要求其有 JEE 经验,因此 Sun 确实是正确的。

在企业级领域里,我能看到的全部趋势就是简单。大块头的框架出局;小而简单的加入了进来。随之增长的是,客户拒绝大块头的 JEE 栈部分,这种趋势还在继续。作为替代的是,客户转向了像 Spring 这样更简单的框架或者完全脱离 Java 平台而投向 Ruby On Rails。对于更简单、更易理解的系统的需求也驱动着对面向服务架构(SOA)和具象状态传输(Representational State Transfer, REST)的兴趣。

我们能够预料出,朝着简单发展的趋势在 2007 年将会延续。许多对 Rails 留下印象的人正试图在其他语言上复制它的成功,比如 Python (Turbo Gears)、Groovy (Grails) 以及 Java (Sails)。这其中的某个有可能成功,但它们如果不提出一些强有力的新举措的话,就不会取得成功。因此,企业仍将加载他们已有的框架:SOA、REST 和 Rails。

Java 微型版(Java Micro Edition, Java ME)

将视线从最大平台移到最小平台上来,我们能期待嵌入式世界带给我们什么?多年以来,Java 平台已经在小设备上取得了相当大的成功,而 2007 很可能会以这一成功为基础。首先,关注一下移动信息设备描述(Mobile Information Device Profile,MIDP) 的第 3 版,来利用当今更为强大的设备的功能。特别是,我们应该很快就能在一个虚拟机上运行多个 MIDlet,包括在后台运行一个或多个。同样也关注一下加密记录管理系统(RMS)存储和 IPv6 支持。

Java ME 的可扩缩的 2D 矢量图形(Scalable 2D Vector Graphics, SVG)API 2.0 当前正在开发中,它应扩展在许多设备中的动画功能。除 SVG 动画之外,它也将支持流式音频和视频。如果移动网络开放,这是相当重要的 —— 想想在手机上的 YouTube。(当然,如果网络开放,那就只是没人愿意看的两英寸的公司广告。在这点上,我对美国的情况持悲观态度,而在欧洲也许会更有趣。)

移动开发者也能期望本年推出第一款支持 Java ME 的 XML API 的手机。此 API 是 SAX、DOM、 StAX 和 JAXP 的一个精选子集,设计它是为了适应内存受限的手机。许多人认为真正的 XML 不适合手机 —— 他们是对是错今年就能见分晓。

尽管好事连连,Apple 的 iPhone 仍对 Java 平台(作为移动电话开发平台)构成了一个主要的威胁。iPhone 已经是这个星球上最火爆、最有魅力的手机,它已经发布了六个月。问题在于它将成为一个相对封闭的平台,甚至按手机网络标准也是如此,并且它没打算运行 Java 代码。无需多说,对于任何试图向手机、PDA 和个人通讯设备推销第三方应用程序的人来说,这都是一个恐怖的消息。

0
相关文章