【问题标题】:MonoTouch - has anyone used this?MonoTouch - 有人用过这个吗?
【发布时间】:2011-01-31 08:56:19
【问题描述】:

我是一名 .NET 开发人员,试图跨入 Objective-c iPhone 编程。我创建了我的第一个应用程序 - 只是一个包含多个 xib 的简单投资组合。

我刚刚遇到了 MonoTouch,它可以让您在 C# 或 .NET 中开发 iPhone 应用程序。有没有人试过这个?我很想知道人们对此的看法。

【问题讨论】:

    标签: iphone xamarin.ios


    【解决方案1】:

    试过了,很喜欢。

    能够重用 .NET 知识无疑是一个优势(尽管学习 Obj-C绝对是仍然受到鼓励。

    唯一的缺点是可执行文件比它们各自的 Obj-C 对应文件大。那...以及与许可证相关的成本(如果您要分发应用程序)。

    【讨论】:

    • 那么您是使用 MonoDevelop 还是只是尝试一下?
    • 试用了一下,并为我在业余时间从事的一个项目构建了一些示例内容……但我买不起完整版和 Apple Dev 许可证并发布它。
    【解决方案2】:

    它相当昂贵,而且您仍然需要 Mac。因此,如果您的想法是留在 Windows 中并使用 Visual Studio 编写 iPhone 应用程序,那么您很不幸... 最低价格为 399 美元,在除了 Apple 的开发者许可证 99 美元之外,我认为这不值得,除非其他人付费(例如,公司等)。你最好还是坚持使用 Objective-C 和 Xcode,因为你已经玩过它了。

    【讨论】:

    • 不,我有一个 mac,我一直在使用 xcode。只是想,也许是因为我知道 .NET,所以进入 iPhone 开发会更容易。感谢您的回复!
    • 您可能会发现这样更容易,只有您可以决定;)也许继续使用 ObjC 一段时间看看您如何找到它?如果你不喜欢它,你可以考虑投资 Mono Touch 的东西。
    【解决方案3】:

    我试过了。

    如果你认为你要为 iPhone 编写许多程序,我认为最好学习 Objective-C。但是,如果您有一些用 C# 编写的大型源代码或现有程序,那么 MonoTouch 可能是您的最佳解决方案!

    【讨论】:

      【解决方案4】:

      Rory Blyth 在一个非常相似的问题中解决了这一点:

      Monotouch or Titanium for rapid application development on IPhone?

      【讨论】:

        【解决方案5】:

        我已经使用它 5 个月了,我在 App Store (http://escoz.com/quicklytics) 中有一个使用它开发的应用程序,以及在客户端部署的一些内部项目。

        这是我的观点:

        如果您是 .NET 开发人员,并且想要为 iPhone 进行开发,您需要学习两个新知识:Obj-C 和 iPhone SDK。这两件事都与 .NET 完全不同,而且很难上手,特别是如果您有截止日期。通常,您最终会完成工作,但主要是通过从网络上复制粘贴大量随机代码数月之久。是的,您实际上可能会花时间正确地学习它而不是那样做,但这会花费很多时间。

        使用 MonoTouch 可以让您完全跳过第一个问题 (obj-c) 并极大地帮助解决第二个问题 (sdk)。经过几天在线阅读和观看视频后,您已经可以使用您熟悉的东西来提高工作效率了。

        是的,它至少要花费 400.00 美元,如果你想在周末开发一些有趣的东西,那可能会有点贵,但如果你想为工作编写代码,那就不行了脑筋急转弯.. 节省的时间比 400.00 美元要多得多。

        • 应用大小:应用会更大(平均大 6-7Mb):老实说,没有人关心它。
        • 速度:虽然从技术上讲,可以使 obj-c 应用程序的运行速度比 C# 快一点,但在实践中这根本不会发生:monotouch 在所有方面都与 obj-c 一样快。 错误:不必一直处理内存泄漏并使用更高级的语言进行开发是一件大事。

        即使你最终想学习 Obj-C,我也强烈建议你从 MonoTouch 开始并熟悉 API。该演示是免费提供的,允许您执行除部署到 iPhone 之外的所有操作。仅当您知道 API 的工作原理时才转移到 Obj-C(如果您最后仍想这样做)。

        最后一点:如果您正在考虑将您的应用程序移植到其他移动平台,MonoTouch 似乎是现在可以使用的平台:您的大部分代码都可以移植到 Windows Phone SDK,Apple 将发布 MonoDroid (MonoTouch for Android)在未来 5-6 个月内。这对我来说真的很重要,也许对你也很重要。

        【讨论】:

        • 事实是,ObjC 本身非常容易。这是对 C 的一个非常小的扩展。我不确定跳过它可以节省多少。此外,所有文档、邮件列表、示例代码等都在 ObjC 中,所以你要么学习它,要么放弃这些资源。
        • 我同意 ObjC 并不难,但你确实错过了很多:.NET 库.. 像 linq、wcf 等。大多数示例都很容易理解,即使语言不同.如果您是 .NET 开发人员,那么您可以重用现有代码或在您的项目之间共享代码这一事实非常重要。
        • 鉴于 Apple 与 Monotouch 相差甚远......我认为值得澄清的是,您在实际的 Phones API 代码中几乎没有可移植性,它们非常不同,MonoTouch API 实际上是 Apple 的。您使用的是相同的语言,并且您确实获得了自己的应用程序引擎可移植的好处,但这与您使用 C 或 C++ 编写的情况一样。
        【解决方案6】:

        我们的整个开发团队从 XCode 和 Objective-C 转移到了 MonoTouch。团队中的大多数人还拥有 .NET C# 技能。

        在以 XMl/以数据库为中心的应用程序 + Web 服务方面,我们的工作效率提高了大约 2/3。 Monotouch 为这些事情提供了很多内置工具。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-05
          • 1970-01-01
          • 2019-04-16
          相关资源
          最近更新 更多