投递人 itwriter 发布于 2011-11-24 08:28 原文链接 [收藏] « »

  现有的应用程序代码代表了一个开发者在时间和金钱上的大量投入。理想情况下,现有代码可以通过某种平台相关的接口结合起来,这种接口提供了一个快速方案,帮助利用原有的资源。但在实践中,这种转换平台的做法并不总是容易的,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

 
来自: InfoQ
码云企业版,专注于助力企业开发 收藏 新浪微博 分享至微信
标签: .NET Mono

24小时阅读排行

    最新新闻

      相关新闻