Mono 迈上新台阶:Mono 2.6、MonoDevelop 2.2 和 Moonlight 2 发布

  • 朱永光

2009 年 12 月 24 日

话题:.NET开源DevOps语言 & 开发架构

今年,Novell 在 Mono 平台方面动作频频。9 月 Novell 发布了《Mono 的第一个商业版本:MonoTouch》,这是一个让大家可以用 C# 语言和熟悉的.NET 基类库来开发 iPhone 应用程序的新平台;接着 Novell 又在 11 月发布了第二个商业软件——Mono Tools for Visual Studio,让 Windows 的开发人员可以很好的利用 Visual Studio 来辅助开发跨平台的 Mono 程序。

而最近几天,Mono 连续带给大家几个惊喜:Mono C# 编译器编译器完整支持 C# 4 的特性正式发布 Mono 2.6 和 MonoDevelop 2.2正式发布 Moonlight 2

6 个月前,Novell 发布了Mono 2.4 和 MonoDevelop 2.0,为大家提供了稳定而完善的运行时和 Linux 下的 IDE,预示着 Mono 平台可被企业用于产品开发;而 Mono 2.6 和 MonoDevelop 2.2 的正式发布,让企业在使用 Mono 平台的时候更加得心应手。主要体现在:

  • Mono 2.6 新特性
    • 支持在 Silverlight  2 上的 WCF 子集
    • 进行了编译器优化,以使代码性能得以提高
    • 初步提供对 LINQ to SQL 的支持(不仅仅支持 SQL Server)
    • 支持 System.IO.Packaging 命名空间(用于 OpenXML 及 Silverlight)
    • 由 Mono.Tasklets 程序集提供 continuation 功能
    • 完成了更多的 3.5 API
    • 包含了微软业已开源的 ASP.NET MVC、ASP.NET AJAX 和动态语言运行时(DLR)
  • MonoDevelop 2.2 新特性:
    • 跨平台的.NET 开发工具,在各类平台上的特性具体情况,可以查看这里
    • MonoDevelop 现在基于 LGPLv2 和 MIT X11 许可发布,并去除了所有 GPL 代码,以允许一些使用 Apache、MS-PL 许可的代码作为插件用于 MonoDevelop 中
    • 支持开发、调试和构建 ASP.NET MVC 项目
    • 支持开发、调试和构建 Moonlight 项目
    • 加强了代码编辑器和重构功能
    • 提供了 Python 开发插件和 iPhone 开发插件

除上面所述,Mono 2.6 还是 Moonlight 运行时的基础。而对于 Moonlight 来说,Moonlight 2 的正式发布既是一个新的里程碑,又是 Mono 未来散发皎洁月光的新起点。

Moonlight 2 实际上是 Silverlight 2 的一个超集,除了完整实现 Silverlight 2 的功能外,还包含了很多 Silverlight 3 的新特性:

  • Silverlight 3 可插接管道,让开发人员可以在播放媒体的时候添加自己的解码器
  • 便捷的动画功能
  • 脱离浏览器功能的部分支持
  • 某些 Silverlight 3 的绑定新特性

在 Moonlight 2 发布的同时,Novell 和微软对于 Silverlight 的移植又达成了新的协作协议和专利契约,以期把 Silverlight 3 和 4 移植到开源的 Unix 系统上,关于更新后的专利契约可参见这里

Miguel 在博客中也提到:

我们打算马上实现 Silverlight 3 的功能。微软不仅为我们提供 Silverlight 的测试代码,而且帮助我们确保一些旗舰 Silverlight 应用程序能在 Moonlight 上跑起来。

而 Novell 目前正为把 Moonlight 应用于 Sunday Night Football 和 2010 年冬奥会而努力当中,令人欣慰的是这些活动中所需的重要功能——平滑流媒体已经能正常运行。另外,他们也期望把PhotoSynth(微软推出的一款把照片拼接为 3D 全景画面的在线服务)带到 Linux 的世界。

从 Mono 这一年内的不俗表现,尤其在 Moonlight 方面的成果来看,Mono 平台越来越成为.NET 开发技术的一个重要方面,也为那些准备开发跨平台应用独立软件开发商提供了值得信赖的选择。我们有理由相信,Mono 在新的一年里,还会更上一层楼,带给我们更多惊喜。

.NET开源DevOps语言 & 开发架构