设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开源促繁荣:Java年度技术回顾及未来展望

2007-12-24 09:30| 发布者: joejoe0332| 查看: 6058| 评论: 1

  四、Java的桌面应用悄然兴起

  尽管许多人还没注意到,但 Java 平台真正出现在桌面上到现在已经有四五年了。已经有几个优秀的桌面应用程序是用 Java 代码编写的,包括 RSSOwl、Limewire、Azureus、Eclipse、NetBeans、CyberDuck 等等。这些应用程序几乎囊括了每一个可用的 GUI 工具包,包括 Swing、AWT、SWT,甚至是平台原生的工具包,如 Mac OS X 的 Cocoa。这些GUI工具包各有千秋,因此,很难说它们在2008年年会有哪个工具包在众多工具包中胜出,尽管 Swing 在制造一些保留本色的应用程序方面似乎比其他工具包表现得更为出色。

  用 Swing 进行开发仍是相当有挑战性的,但随着 Swing 应用程序框架的到来,这种情况也许会在明年得到改善。这一框架目前尚在 Java Community Process 中作为 JSR 296 开发。下面是 JSR 关于此的描述:

  编写良好的 Swing 应用程序试图为启动和停止,以及管理资源、行为和会话状态的代码使用相同的核心元素。新应用程序从头开始创建所有这些核心元素。Java SE 不支持构造应用程序,这常常让开发新手们感到有点茫然,特别是在他们打算构建一个规模远超于 SE 文档中提供的例子的应用程序时。

  通过定义 Swing 应用程序的基本结构,这项规范(最终)会添补该空白。它会定义一小套可扩展的类或 “框架”,用于定义相对于大多数桌面应用程序较普遍的基础设施。

  Swing 应用程序框架应支持典型应用程序中的大多数东西,允许开发人员恰在一些自定义的点处插入,如启动和停止时。在启动和停止之间,它将处理 windows 的保存和恢复,以及应用程序的其他部分。最后,它将允许开发人员编写在 Swing 事件分派线程外运行的异步行为。

  改善 JavaBeans 以及所有依赖它的东西(包括 Swing)的工作尚在继续。JSR 295 正在定义一种将 bean 绑定到一起的标准方式,这样,对一个 bean 的修改就会自动地反映到其他的 bean。例如,一个 GUI 网格 bean 会在其相关数据库 bean 改变时自动更新。
  
  最终,JSR 303 正在实现一门基于 XML 的验证语言,来声明式地指定任何给定的 bean 将取什么值。int 属性将必须介于 1 到 10 之间,或者 String 属性必须包含一个合法的电子邮件地址。如果幸运,这一切都将在年底以 beta 形式提供,并将在来年的 Java 7 中按时完成。

  五、Ruby将成为Java开发人员的另一种选择

  如果世界上只存在一门语言,那么这个世界将会平淡无奇。尽管 Java 平台是开发成熟应用程序的绝佳选择,但它从来就不适应于小程序或宏。Java 6 意识到了这一点,它添加了 javax.script 包实现,以便和脚本语言(如 BeanShell、Python、Perl、Ruby、ECMAScript 和 Groovy)进行互操作,也添加了一项 invokedynamic 虚拟机指令来允许将动态类型语言直接编译为 Java VM。

  在2007 年,Sun看到了 Ruby 将会成为明日的焦点,尽管这种语言并不是动态语言中最出色的。也许对于很多喜爱动态语言的开发人员来说,Python 代码似乎比 Ruby 代码更简洁更易于理解,我认为大多数 Java 程序员都会这样认为。然而,Python 出来的不是时候。许多开发人员不得不在学习 Python 代码还是学习 Java 代码间作出选择,而多数人选择了 Java 代码。既然他们终于弄懂了 Java 语法,又打算在工具箱中添加另一门语言,他们想要的是明天的语言,而不是昨天的语言,而那门语言似乎就是 Ruby。更重要的是,Ruby 的 Ruby on Rails 是一个绝对杀手级的应用程序。它的简单性对于多数觉悟了的 Java 企业版(Java Enterprise Edition,JEE)开发人员来说具有难以置信的魅力。

  除了 Rails,比起其他脚本语言,JRuby 项目和现有的 Java 代码很好或更好地集成到了一起。事实上,JRuby 也许会超越标准 Ruby 分布,并成为 Ruby 程序员们更偏爱的平台,而不止是 Java 程序员们将 Ruby 作为第二种选择。这很好。Python 程序员们会这样反对:他们这些年来已经将 JRuby 最好的方面加入到 Jython 中,但很不幸的是:Ruby 获得了契机,而 Python 没有。

  其他脚本语言会被逐渐逐出界外。Perl 太过时了,不能很好地适应现代应用程序。Groovy 缺少明确的视角,还趋向于将计算机科学的时髦用语凌驾于可用性和熟悉性之上,这让它深受其苦。BeanShell、Jelly,还有很多其他语言可能都从未吸引过超过一个的称心追随者。来年的这个时候,到处都会是这样的呐喊:Ruby 将成为 Java 程序员们首选的脚本语言。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部