单声道开发使用Mono IDE或VS.Net然后进行迁移

时间:2013-11-11 11:46:00

标签: .net winforms mono monodevelop

我们计划在Mono中开发一个简单的基于多表单的桌面应用程序。

最初,这个应用程序将有一些表单(添加/编辑数据)和网格(查看,排序和执行基本操作)。还有一些其他的东西,比如验证,日历等等。由一些像SQLite等的中等独立数据库支持..(甚至是一个简单的xml文件)

我们一直在研究以Mono为基础的开发,但我们需要决定是否 - 在VS.Net C#win表单中开发应用程序,然后使用Mono进行迁移(编译)。要么 使用MonoDevelop,Monocross等Mono IDE进行开发。 显然,将这​​些IDE与VS.Net进行比较是不对的,学习曲线也可能会产生影响。我们尝试过MonoDevelop并发现它非常基本。所以,请告诉我们哪种开发模式适合Win& amp; amp; amp; amp; Mac中。

PS:这可能是一个更好的未来解决方案吗?

1 个答案:

答案 0 :(得分:2)

首先是GUI Toolkit的选择:

  1. 选择WindowsForms是一个非常糟糕的选择,因为它在Mono中不再被主动维护。这意味着:
  2. 在大多数情况下,您的应用程序可以在非Windows操作系统中运行,但是如果您发现了一个错误,您将不得不自己修复Mono中的错误(除非您支付像Sinenomine或一些自由职业者这样的Mono咨询公司)。
  3. UI将仅在Windows中显示原生。在Mac中,您的应用程序看起来与Windows中的外观非常相似(因此与其他Mac应用程序相比,它在Macintosh中看起来会像“外来”一样)。
  4. 因此,我建议您使用XWT toolkit而不是System.Windows.Forms。

    现在,就开发环境而言:

    1. MonoDevelop现在与Visual Studio的功能和功能非常相似(它甚至还有一种上下文方式来运行像Resharper那样的NUnit测试)。顺便说一下,Macintosh中的MonoDevelop被称为“Xamarin Studio”。
    2. 这意味着您可以让一些开发人员使用Mac,其他人则使用Windows中的VS.NET。
    3. 但请务必确保团队开发人员(不仅仅是一名)部分使用Mac在该平台上定期开发和测试您的应用程序。这是确保您及早发现Mono和.NET之间以及Cocoa和WPF之间可能发生的任何潜在差异的唯一方法(分别是XWT将用于Mac和Windows的后端)。如果您发现任何差异,请将其报告为http://bugzilla.xamarin.com中的错误(如果它是Mono中与MS.NET相比的错误),或github中的错误(如果这是XWT在Macintosh中的行为差异)与Windows相比。)