1、 什么是Mono
Mono 在西班牙语中的意思,是 “ 猴子 ” 。 “ 猴子 ” 两个字让人想起墨西哥人火辣直白的性格,与《西游记》中孙悟空的野性难驯别无二致。
“ 猴子 ” 的身世: “ 猴子 ” 生于 2001 年,创造他的是 Miguel de Icaza 和他的朋友。他创建的 Ximian 被 Novell 收购,所以,现在 Mono 项目由 Novell 赞助。
Mono 是 .NET Framework 的一种开源实现。
Mono 项目将使开发者用各种语言( C # ,VB.NET 等)开发的 .NET 应用程序,能在任何 Mono 支持的平台上运行 , 包括 Linux, Unix 。 Mono 项目将使大家能开发出各种跨平台的应用程序 , 并能极大提高开源领域的开发效率。
作为一个有机的 .NET 整体 , 它包括一个 C# 编译器 , 一个公用语言运行时环境 , 以及相关的一整套类库,他甚至还包括 IDE 、调试工具和文档浏览器。
Mono 项目的网址是: http://www.mono-project.com
2、 Mono 想干什么,能干什么
希望实现“一次编写,到处运行”。这不是 java 的口号吗?但是我们知道 java 可以跨平台但是他不能跨语言。而 .Net 可以跨语言但是由于微软的战略他不能跨平台。所有 Mono 的目标就变为跨平台,跨语言。如果 Mono 成功的话,语言和平台对开发者的影响将变的很小,这也是 Miguel de Icaza 在创建 Mono 的时候就希望的—— Linux 的普通用户可以编写自己的程序。这让我想到软件开发的根本任务和次要任务——根本任务是将复杂的概念结构转化为抽象的软件实体;次要任务是将抽象的软件实体的实现。如果普通人通过简单的学习就可以把自己的抽象思维变为现实,象我们这样的程序员不是都要失业了吗? Mono
3、 Mono 的同伴
其实微软已经有了自己的 .NET UNIX 实现: Rotor 。毕竟 NET 本质上是可以实现跨平台的,只是我相信微软不会战略层面上支持跨平台的 .NET 。 Rotor 生于 2002 ,微软是他的创造者。 Rotor 的目标:实现一个 CLR 运行环境,包括一个 C# 和 Jscript 的编译器,此外还有一系列诸如汇编 / 反汇编工具、调试器等等。
Rotor 可以运行在 Windows 、 FreeBSD 以及 MAC OS X 上,并完全提供源代码。阅读 Rotor 的源代码,也许可以帮助程序员更好的理解的 .NET 的整体架构。
不过, Rotor 也许只是两年前微软的一个应景之作, Rotor 已经许久没有更新了。有了 Mono , Rotor 的存在价值又有几何呢?
4、 Mono 的过去与现在
Mono 的历史还不长,从 2001 开始到现在也不过四五年时间。在这段时间里他默默的走着。当我们意识到他的存在的时候,他已经进度过了他的童年。
2006 年 1 月 11 日 Mono 1.1.13 发布了。现在 Mono 已经重实验室走了出来,已经运行在一些服务器上了,虽然不多但是毕竟已经有了商业应用。 Mono 的路才刚刚开始。
5、 Mono 的前途
Mono 未来的处境不是很好,因为当今的两大巨头微软和 SUN 都不支持他。因为微软的头号敌人是 Linux ,微软和 SUN 的斗争其本质是 OS 的竞争,微软是绝对不会让 Linux 得到普及的。而 SUN 的最大砝码是 JAVA 如果大家的都不用 JAVA 哪 SUN 还由活路吗?所以 Mono 要想生存下去必须有一个足够有实力的公司和微软和 SUN 抗衡, Novell 显然不被看好,但是如果 Mono 真的能发展起来的话哪 Novell 是不是会和微软和 SUN 平起平坐呢?三足鼎立的时代会来临吗?
6、 结束语
最后,我想说一下我对 Mono 的态度,我希望 Mono 成功,软件开发需要革命性的进步,一切事物的进化都符合客观规律。在一定的时候一定会有一场革命。