MONO脱离.NET

来源:百度知道 编辑:UC知道 时间:2024/07/03 05:04:58
大家写个文章然后告诉我好了。。
谢谢。。

不是说..~

.NET 3.5 实现跨平台嘛~

现在Framework开源了...进程会更快的~

我并不看好Mono(当然Mono也并不会因为谁不看好它而消失, ),毕竟.NET在设计之初并不想做到跨平台,MS也不想跨平台(FreeBSD好像是一个例外)。
我们可以设想一下,如果在开发一个基于.NET的产品或者项目的时候,如果考虑到了要移植到Linux平台,那么必然在设计的时候需要考虑到太多的东西,这样做的后果是做共享软件还可以,但是如果做企业级产品则就很不现实了,就目前而言做到分布式绝对要用到Remoting或者企业服务(COM+),那么这些东东都是原生在Windows平台的,对于Windows平台有了太多了依赖性,要移植他们绝对不是一件可以完成的事情(尤其是在没有MS的协助下-MS也不可能协助),虽然我看到Mono的1.0版本提供了对于Remoting的支持以及Web Service的支持,但是明显的是,Mono提供的延迟性太高了;再往后说,基于Longhorn的.NET版本会更加依赖于操作系统提供的核心底层服务,比如Indigo,现在是不能想象Mono的后续版本能做到针对Indigo的配合,未来的.NET开发一定是基于服务的开发,而没有Indigo则是不可想象的。
所以我个人觉得如果打算使用Mono,那么你的定位一定要非常明确:中小型项目或者产品,或者你打算做跨平台的共享软件(好像更离谱了)。
即便使用到中小型项目或者产品,你也不能违反如下的规则:
1、不能使用SQL Server2000乃至以后的Yukon
2、不能使用COM+服务
3、不能使用以后的Indigo或者目前的WSE
4、目前还不能使用WinForm,以后会提供,但是问题是Mono如何保证Winform在跨平台下的显示一致性(借鉴Java的界面布局?不知道)
5、。。。。。等等
说了这么多,其实就一句话:如果你看中的是Mono提供的.NET跨平台性而使用它,那还不如用J2EE,他做的更好。

当然,你有一个使用Mono的很好的理由:研究开源项目,来深入了解.NET的核心机制的实现原理。