InfoQ

新闻

进行实际应用,Mono准备好了吗?

作者 Abel Avram 译者 霍泰稳 发布于 2008年10月27日 下午11时1分

社区
.NET
主题
开放源代码
标签
Mono

在技术问答网站Stack Overflow上,有人提问“Mono的黄金时间来了吗?”。包括Mono项目创始人Miguel de Icaza在内的许多用户进行了回答,这些讨论对于判断在Mono上部署应用的时机很有帮助。

Miguel的回答主要基于两个场景:

a)  假设你在移植现有的应用,对Mono是否能完成该任务有所疑虑;

b) 假设你计划写一些新代码,想了解Mono是否功能够好。

对于第一个场景,Miguel建议先运行Mono迁移分析器工具,也就是MoMA。如果MoMA没有提示异常或者异常比较少,那么就可以对现有应用进行移植。Miguel提供了一些MoMA的分析状态报告:

根据印象中那些基于用户提交的MoMA状态报告,大约有50%的应用可以直接移植,25%的需要一周的调整工作(比如重构,改编等),15%的需要对你原有的代码进行大幅改动,其他的则不值得移植,因为它们和Win32绑定的太紧密。这时,不论是从头重做,还是基于商业考虑将代码变得可移植,都需要几个月的工作量(至少从我们现有的报告中看到是这样)。

据Miguel说,如果启动一个新项目的话,事情就简单许多:

如果你从头开始一个新项目,事情就很简单了,因为你只会用到Mono中现有的API。只要你使用现有的支持平台(比如.NET 2.0,以及3.5中包括LINQ和System.Core在内的所有核心更新,和Mono所有的跨平台API),那就万事大吉。

对于提问的问题,其他用户也表达了他们的观点,Jon Galloway说:

对于.NET 2.0功能来说,Mono做得已经很好了。目前许多.NET 3.x功能正在开发之中,还没有完成。

最近我在SubSonic上运行了MoMA,只发现了一个问题——Nullable类型的一个奇怪应用。那么大的代码库,能有这样的成绩很难得。

在语言层面,Mono编译器完全遵从C# 3.0语言规范

Jonathan Holland也提出了自己的观点:

在桌面端,如果你只是使用GTK#,Mono会工作的很好。对Windows.Forms的实现还有点问题(比如,不能使用TrayIcon's),但已经进步很多了。另外,GTK#是一个比Windows表单更好的工具包。

在Web端,Mono实现了ASP.NET的绝大部分功能,大多数网站基于它都运行的很好。这儿的问题是找到一个在Apache上装有mod_mono的主机,或者自己去做,如果你有访问主机的权限。

另一个Stack Overflow用户Daniel指出:

如果你想使用WPF,还需要再等一等,因为Mono目前还没有计划对它进行支持:http://www.mono-project.com/WPF

看上去Mono已经可以进行实际应用了,至少对新应用或者那些顺利通过Moma兼容性测试的应用如此。

查看英文原文:Is Mono Ready for Production?

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。