位置:海鸟网 > IT > ASP.NET >

Ja.Net:融合 Java 1.5 和 .NET

Java和.NET是现在以及未来几年主要开发力量,这两个世界并非完全分隔,比如可以使用 Ja.Net 实现互用性。Ja.Net是一个Java 1.5和.NET的接口平台,Ja.NET 可视为Java之上的.NET Remoting(Microsoft .NET Framework内的主要组件)的堆栈实作,而在Java平台上提供Ja.NET的执行时期模块(Run time),可支持TCP/IP、HTTP等沟通管道,也可同时支持SOAP或是二进制互通协议以提升沟通效率。透过此执行时期模块,.NET与Java /J2EE的数据类型不仅可以对应,还能进行双向的沟通。

Ja.Net的编译器基于Eclipse JDT,Eclipse JDT能够修改生成IL,也能生成Java字节码。Java一般编译每个class为一个单独文件,但是.NET不能接收分散文件,一个基于 Cecil 的工具被使用来创建更大的文件集合类似Jar文件,解决了这个问题。

另外,为了从头开始获得库支持,Ja.Net JDK 基于开源项目 Apache Harmony开发。Apache Harmony是开放源码Java SE 实现。为什么不选择OpenJDK呢,Ja.Net项目负责人Dave Tillman认为Harmony的结构更加模块化,组织更加良好。

以及,Ja.Net SE 项目主要着重于Java SE,为.NET提供Java 5 JDK,目前SE项目已经完全完成,并且Ja.NET SE: New Build 1.5.0已经发布。Ja.NET SE class从Harmony派生而来,但是还有一些模块没有完成与.NET/CLR服务的互联,比如AWT/Swing,这个项目正在发展中,正征集开发者贡献代码。

Ja.NET 目前能够同时运行在微软CLR(Common Language Runtime公共语言运行时,是微软公司开发的一个虚拟机,用于运行基于中间代码Intermediate Language,简称IL的.NET程序)和Novell的Mono平台上(Mono:微软.NET框架的开源版本,允许为Windows框架编写的应用程序在Linux和其它非微软平台上运行。)。

对Java和.NET程序互用性有兴趣,推荐尝试Ja.Net (连名字都是Java 和.NET的联合)。

详情查看:Java 1.5 for the .NET Platform