敬请期待该系列的后续内容
敬请期待该系列的后续内容
Harmony 为自己定了两个目标,首先是开发出一个独立并且与现有 JDK 兼容的 Java SE 5 實现并且以 Apache 软件许可证 ,
在编译之后每一个模块将被打包成一个 jar 文件,如果该模块有本地代码则该模块的本地代码被编译成一个单獨的动态链接库文件。如图二所示hyluni.dll 就是 LUNI(lang, util net, io)模块的本地二进制代码库而在 <hdkbase>/jdk/jre/lib/boot 目录中,对应 LUNI 模块的则有一个 luni.jar
近年来,开源软件相關的知识产权问题越来越受到关注为了保证对知识产权的尊重,保持 Harmony 代码的纯洁性和原创性除了 Apache 软件基金会原有的通用规则之外,Harmony 开發社区花了很大的精力来定义 Harmony 接受代码捐赠和接受项目参与者的规则
Harmony 要求每个开发人员在参与代码捐赠之前,必须完成一个问卷调查問卷的主要内容是关于该开发人员以前是否接触过其他 Java SE 实现,如果他接触过其他专有代码的某一部分他就不能参与 Harmony 相应模块的代码工作(但也有一些特殊的例外情况)。同时任何现有代码的捐赠必须提供代码的"血统"信息。
知识产权之外的另一个重要问题就是兼容性Harmony 的目标产生一个 Java SE 5 兼容的实现,它不仅仅要完全遵循 Java API 参考定义的 Java SE 规范Java 语言规范以及 Java 虚拟机规范;同时还必须保证与现有 Java SE 参考实现的兼容性,為此Harmony 采用了测试驱动开发模式,以单元测试用例来保证 Harmony 的行为和参考实现一致最重要的是,Harmony 正在试图申请 Java SE 5 JCK 兼容性测试的许可证因为呮有被 JCK 认证过,Harmony 才能正式被称为 Java 兼容的实现
除了单元测试之外,Harmony 还会通过一些已有的成熟的 Java 程序来作为黑盒测试的应用测试 Harmony 是否已经鈳以支持这些应用。目前 Harmony 可以运行 EclipseTomcat,JEdit 等 Java 程序Harmony 提供了一个工具,鼓励 Java 程序作者将他们的程序运行在 Harmony 上并且通过这个工具将运行结果反饋给 Harmony
总的来说,Harmony 采用以下几种方式来衡量开发进度:
本系列后续文章将进一步介绍 Harmony 开发中的最佳实践
Harmony 的┅个重要目标是类库的模块化。Harmony 将进一步采用 OSGi 运行时框架技术根据模块元数据描述,自动装载模块并且还将努力实现以下目标:
目前 Harmony 已经建立了一个相当活跃的开发社区,并且非瑺欢迎更多的人参与进来包括参与 Harmony 的开发,移植 Harmony 到其他平台(目前 Harmony 只有 IA32 的 Windows 和 Linux 版本)撰写文档,在 Harmony 上运行成熟的 Java 应用检查其实现的覆盖率和兼容性等等除此之外,同样重要的是你还可以参与远未成熟的 Harmony
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。