Microsoft .NET development platform的Linux版本(Mono)出现。
一家叫Ximian的公司在2001-07-09宣布了Mono project启动,这将是一个Microsoft .NET development platform的Linux版本,整个Mono project主要是C#的编译器、CLR和JIT,并承诺包括一整套类库。从而使得开发.NET 应用可以在Windows和Mono支持的系统(Linux,Unix)中运行,更重要的是Mono的目标是致力于建立不依赖操作系统的应用程序,同时这也被认为是开源软件的又一大光辉成就。在圣地亚哥的O'Reilly Open Source Convention中成为一个热点的话题和主题之一。
Microsoft .NET 的Common Language Infrastructure (CLI)使得用不同语言写成的程序能够运行在非Windows平台成为了可能,而Micorsoft目前只承诺将和Corel合作率先在FreeBSD platform上实现。普通被认为不幸的是,最近Microsoft将C#和CLI提交给了ECMA审定,一旦获得通过,那么就意味着完全免费和所有商业用途的严重限制。
如果Mono获得成功,那么不仅意味着“build once, deploy anywhere”成为现实和巨大的商业意义,而且也将是对Linux,Unix平台应用程序产业的一次大的推进。
目前的Mono的最重要的运行环境已经被初步实现,也就意味着MS的CLI将被Linux系统上的解释器进行解码,然后交由JIT engine处理和运行。不过看来还有一段路要走:
“Currently the runtime has an image loader and metadata access entry points. The runtime comes with a simple interpreter that can execute very simple programs.”
完整的运行环境包括:JIT engine 、class loader、 garbage collector、 threading system 、PInvoke和 metadata access libraries.
C#编译器方面也目前还只能是象一个有C#写成的大的C#程序在实验,目前它(MCS)可以自己parse自己了。
类库方面System的命名空间正在不断的生长和进入测试,从网站上公布的情况看有超过29人在实现这些类库,共计17个大类上千个小的类,接口被实现,并且大部分已经通过测试。而且从8月3日开始,每天的10点钟会做“Daily snapshots”,你可以看到和Download到最近的进展情况。
感兴趣的可以去以下的链接获得这种资源和信息,还有最新的源代码可以下载,如果你非常非常感兴趣甚至可以申请加入。不知Mono是否值得我们期待,但一定值得我们关注。