是一个为Windows打造的包管理系统。它为编译、构建和部署那些通常在其他操作系统——如Linux,Mac等——上开发的开源项目提供支持。
为什么要将非Windows开源软件移植到微软的操作系统上呢?直接原因是这些开源软件将会拥有更多新用户,从而促进项目本身的发展。另一个原因是可以加强Windows和Linux/UNIX/Mac社区的交流,这对大家都有好处。
将开源项目从UNIX移植到Windows存在很多问题,比如不同的文件系统、命令行、底层API、用户界面以及程序库。虽然为Windows提供了一个类UNIX环境,但是它并不能提供在Windows上构建应用程序的所有东西。正确的方法是创建合适的工具来自动化大部分编译、打包和部署工作,使程序像其它Windows原生程序一样运行。
CoApp项目由Garrett Serack发起,他目前受雇于微软全职开发这个项目,但是(译者注:微软)。据项目发起人说:
微软的一些人意识到这个项目的价值——并为我提供全职工作于这个项目的机会。在我开发这个项目的同时,微软为我提供了{bfb}的支持。软件的设计工作xx由我和CoApp社区完成,不需要接受公司内部的任何审查。这让它成为我梦想中的工作——我对这个项目充满激情,我开放源代码,并让它带我去找寻它价值。
Serack 打算利用Windows 安装程序(MSI)和微软开发的并存(side-by-side)技术来解决DLL问题。CoApp将实现的其他有:
- 无缝支持64位和32位系统
- 将二进制文件,库文件和头文件放在一致的逻辑位置
- 协调组件的共享,并允许多个项目提供和消费这些共享组件
- 可以为库和应用程序升级和打补丁
- 对Windows开发人员更加友好。不强制使用“make”构建,而是利用已有的集成开发环境
- 对Windows管理员友好。即使它是开源的,你也不需要成为开发人员才能将开源应用安装到Windows上
CoApp最重要的功能恐怕就是处理依赖关系了。CoApp能够下载(程序)所依赖的代码和头文件,能够解决大部分配置问题,并构建一个可以在所有Windows上都能运行的 *.msi包。
CoApp 开发小组计划从打包栈的主要部分开始,包括Apache,PHP和Python,边做边学。CoApp有一个项目网站和一个页,目前它还处于初级阶段。(文/)