Mono2.0发布 Linux下的.NET框架成熟吗?

开发
Novell旗下的Mono项目今日发布2.0版,使在Linux平台上实现微软.NET框架项目获得巨大促进。Mono2.0是Novell主持的一个开源项目,目标是在Linux平台实现微软的.NET框架。随着最新的2.0版发布,二者之间的差距越来越小。

虽然Mono2.0兼容微软.NET2.0,但和微软***的.NET版本并不完全兼容。Mono的努力非常重要,因为它的目标是在Linux上运行.NET程序。

Mono项目主管MigueldeIcaza告诉InternetNews.com,"我们正在某些地方赶上微软的.NET。"

DeIcaza表示,Mono项目的一直在做的是辨别开发者们用的是.NET的哪些部分。自Mono1.2.3发布以来,MoMA(Mono移植分析)工具就出台,用来检查微软的.NET可执行程序,以便获得运行.NET所需要的所有东西。

得益于MoMA的统计结果,我们可以将人们最实用的东西优先对待。DeIcaza说,这意味着我们推迟了一些API的开发,比如,WPF就不在我们目前的开发进度中。

WPF是微软.NET3.0的一部分,曾一度以代码名Avalon闻名。WPF包含在WindowsVista和WindowsServer2008中,为开发者提供了一个图形子系统。DeIcaza说,WPF目前还没有被广泛采用。

IT开发者和厂商之间的步调并不一致。他说,诚然,会有些早期采用者,他们喜欢***的API,但这些用户并不是Mono的用户,除此之外的普通开发者会和Mono保持一致。

除了不支持WPF,Mono2.0还有其它一些问题。Novell产品经理,JosephHill表示,那些通过了MoMA分析的程序中,只有50%才100%兼容.NET。50%足可以说明Mono的进展状况,Mono前面的版本的这一比例仅为10%。.NET可以调用非托管代码以及老的函数库。这就带来一些麻烦,如果某个程序调用了老的函数库,而Linux上没有这种库,移植这样的程序就会出现问题。另外,有些函数是只用于Windows平台的,这样的函数,Mono也不会移植。

从技术角度看,Mono2.0的主要改进是完全支持WindowsForm,这项工作Mono花费了几年的工夫。

Mono2.0对我们非常重要,我们已经完全支持.NET2.0。Hill说,我们的2.0版工作已经做了很久,现在已经完全支持桌面组件,WindowsForm,我们已经达到我们所认为的完全支持。

WindowsForm是Windows桌面平台的一个图形API,Hill承认,将WindowsForm完整集成到Mono2.0是一个艰巨的任务。可能其中***组件就是内嵌的浏览器控件。Hill解释,它是基于Windows平台的IE浏览器的,我们基于Firefox重写了这个控件,但必须保留原来IE控件的一些行为。

Novell从2001年开始从事Mono项目,2004年推出***个Beta版Mono1.0。Mono2.0是一个重大的版本升级,下一个版本Mono2.2将于今年11月发布。Mono2.2会推出新的代码生成引擎,会产生更优质的代码。会对WindowsForm以及其它内容做进一步改进。

【编辑推荐】

  1. 讨论:Mono这只猴子招惹了谁?
  2. GNU创始人称Debian安装"开源.NET"很危险
  3. Java与.NET的WebServices相互调用
  4. 趣味理解ADO.NET对象模型
  5. 疑惑:微软是否已经向开源缴械投降?
责任编辑:彭凡 来源: cnblogs
相关推荐

2012-03-26 09:54:43

Mono.NET

2011-10-18 15:00:46

Perl

2011-07-13 15:09:48

PHP

2011-03-30 14:29:13

QuartzJava

2012-05-11 10:42:56

JavaErrai

2009-06-10 08:43:33

Linux桌面发布

2011-11-28 09:16:24

Javajooq框架

2009-07-29 08:58:20

NHibernate ORM框架

2009-05-20 16:28:47

LinuxMusix2.0 Beta 1

2009-11-30 10:44:37

Debris LinuLinux

2013-11-28 15:12:18

Linux DeepiLinux Deepi

2009-03-30 09:16:16

JBossSOAEclipse

2009-04-01 08:53:34

JavaRebelJVM插件

2009-11-30 10:45:45

Musix GNULinux

2015-08-12 12:54:52

Linux发行版Kali

2012-02-22 15:51:22

JavaPlay Framew

2012-02-16 09:15:48

JavaJActor

2013-02-26 09:36:57

RubyRuby 2.0

2009-06-19 17:53:51

Spring.NET1

2011-03-31 09:38:12

点赞
收藏

51CTO技术栈公众号