您的位置:首页 > 运维架构 > Linux

论Mono的意义

2004-08-26 23:00 288 查看
下面这一段话是我一个朋友飞刀在我的BLOG上给我的留言:

“目前的Asp.net 2.0已经将WEB与Mobile统一起来,想必Mono必定又得重新跟随,一堆的Adapter就够烦的了。 而微软、IBM的终极目标,如果我没有猜错的话,是将GUI、WEB、Mobile的开发统一起来,这个难度很大,没有M$的直接支持,估计Mono很难一直撑下去。 
Asp.net 2.0号称支持230种设备,就目前这样的情况,Mono有这种实力去搞这种累死人的事情? 
而且微软每次变化都很大,主版跳跃很快,1.1了直接就2.0,Mono要做Linux中的.Net必定要跟随着,这种“跟风”,用得人都很累,更不要说照着模仿做了。 
而且我不看好的原因在于,以后的大一统,GUI与WEB,Mobile的大一统,这是一个耗人力物力的事情,没有像M$与IBM这样大集团不惜成本的支持,很难办到,支持Mono的Novell还是小了点。”

在这段话里,他认为Mono是一个没有意义和前途的项目,最主要的原因是Mono跟不上Microsoft的对.Net的更新速度(这里其实要补充一下,在Mono的开发计划中对.Net 2.0的完整支持是2005年第2季度,而.Net 2.0正式版也要到2005年才会发售也就是说Mono并不会比.Net慢多少。其实现在在Mono的安装目录中已经可以看到支持泛型的测试版C#编译器)。

他可能想到了当年C++开发工具大战的时候,Borland C++因为操作系统上的原因,在技术上一直比Microsoft慢半拍,导致被淘汰的历史。其实,他犯的一个最大的错误是没有认识清楚Mono的定位,Mono开发出来并不是要和.Net竞争,要取代.Net,而是作为.Net的补充而存在。理解这一点非常重要。Linux的桌面环境远远比不过Windows,而且要赶上Windows是非常难的,是不是可以说开发Linux的桌面没有任何意义?可能大部分人都不会这么认为,Linux至少可以给用户带来另外一种选择,有时候用户并不希望选择最好最先进的,他可能希望能选择最便宜的,正如Mono,他并不是像Borland C++一样是收费的,他可以为你提供完全免费和开源的.Net运行环境,也许这个环境不如Microsoft的先进,方便,但是却便宜,还开源。假如你的预算比较少,而且喜欢开源,又喜欢使用先进的技术,那么Mono你提供了这样一个选择。

这是对客户的意义。

如果说是竞争者,Mono的对手应该是Java,因为假如用户决定要使用Linux平台来构建企业级的应用的话,除了JAVA一般是没有选择。但是现在好了,作为一个比JAVA更先进,更开放,更自由的技术,Mono的出现打破了Java的垄断,Mono的出现将.Net的技术优势带到了Linux /Unix/MacOS平台,Java同时也失去了最后的一个胜过.Net的优势:跨平台。(也许有人认为还有一个比较成熟的优点,但是其实同时也失去了活力,看看对Web Service和泛型等的勉强支持吧,成熟的潜台词是快死了)

想想这样的情景,当竞标时,JAVA解决方案提供商在台上猛吹一通,哪怕在他们所列举的产品的十个优点中,有八个是Linux的,而你也不用像往常那样为Windows做辩护,你可以先告诉他们,你的产品也可以跨平台在Linux上运行,然后再来告诉他们盲目的追求开源其实对企业来说没有任何意义这个事实,这样会更加有说服力。

即使是当我们的客户拼命叫嚷着Windows病毒多,漏洞多,不安全,不开源的时候,我们的.Net开发人员照样可以使用平时很熟悉的,强大的Visual Studio .Net开发工具高效率的完成开发工作后,直接将应用部署到Linux或者Unix平台,而不是跟以前一样无可奈何的放弃。

这些是对开发者的意义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息