投递人 itwriter 发布于 2011-11-24 08:28 评论(6) 有1154人阅读  原文链接  [收藏]  « »

  现有的应用程序代码代表了一个开发者在时间和金钱上的大量投入。理想情况下,现有代码可以通过某种平台相关的接口结合起来,这种接口提供了一个快速方案,帮助利用原有的资源。但在实践中,这种转换平台的做法并不总是容易的,Patrick Smacchia 最近的文章《Real world feedback on a .Net to Mono migration》就他把现有的 .NET 代码移植到 Mono 平台上的经历给出了一些有用的想法。

  Smacchia 提到他的公司最近把他原先的产品 NDepend(为 .NET 平台而写的)移植成一个新的产品 JavaDepend,这个新的产品运行在 Windows 和 Linux 的 Mono 上面。总的来说,他认为这次的移植非常成功,使用 Mono 平台帮他重用了大约90%的现有代码。

  值得注意的是,有些工具可以简化平台移植的工作。Mono 的 Migration Analyzer(MoMA)可以用来查找 Mono 尚未支持的与平台相关的代码以及使用了 .NET 特性的代码。正如它的主页所说的,Migration Analyzer 可能产生一些错误的结果,也无法捕获所有的潜在问题。但是,Smacchia 对 MoMA 的表现非常满意。MoMA 识别出来的最大问题和 NDepend 所用的第三方 GUI 库有关。为了避免分别维护 Windows 和 Linux 的 GUI 代码,开发者选择了使用包装类,它们可以把自有的 GUI 代码映射到标准的 .NET 组件。

  Smacchia 对 Mono 的 GDI+ 有着极高的评价,特别强调道“Mono 的 GDI+ 实现非常胜任!太棒了!我必须祝贺 Mono 组...”。最后,有一些 Windows Form 组件(DataGridView/ListView 和 RichTextBox)在 Mono 上表现不够稳定。不过,Mono 项目的开源性质允许开发者针对他们的需要进行特定修改,而不必等待 Mono 的官方发布修正相关问题。

  查看英文原文:Migrating Established Code From .Net to Mono

2
0
来自: InfoQ
博问,解决您的技术难题 分享到: 新浪微博 腾讯微博 搜狐微博
相关标签: .NET Mono
« 上一篇:Xbox 360将在12月6号迎来更新(2011-11-24 08:27)
» 下一篇:Google 为 https 服务启用 PFS 特性(2011-11-24 08:29)
已经有 6 位园友对此新闻发表了看法。 发表评论

热门评论

  • iRead 发表于 11-25 17:34
    @weishao.NET
    微软不支持mono?
    Mono应该是支持.NET程序在非Windows上运行的平台吧。与Microsoft有神马关系?
    支持(1) 反对(0)