【问题标题】:MonoTouch, the future of MonoTouch and whether I should use it for iPhone apps (instead of objective-C)MonoTouch,MonoTouch 的未来以及我是否应该将它用于 iPhone 应用程序(而不是 Objective-C)
【发布时间】:2010-07-11 22:41:06
【问题描述】:

我决定开始编写一个 iPhone 应用程序并来自 c# 背景,我想我会开始使用单声道开发它。

虽然这个问题可能是主观的,但我希望得到你的一些指导。

使用这种技术开发我的应用是否安全,或者我应该购买一些书籍并开始学习目标 C?

我知道 Adob​​e 将发布一项功能,允许您使用 Flash CS5 构建 iPhone 应用程序,但这并没有持续多久。

感谢您的反馈。

马尔科

【问题讨论】:

  • 啊。古老的“他们会从我脚下任意夺走我的生计”的问题。任何回应都只能是推测性的。投票结束
  • 您应该在问题中将 MonoTouch 产品与 Mono 作为一个整体项目区分开来。

标签: c# iphone xamarin.ios


【解决方案1】:

Monotouch 在保持最新状态方面做得很好(通常在 api 更新后的 24 小时内),所以只是说你不知道 xyz 但你知道 abc 比它有点傻要好得多。 Monotouch 比 obj c 有一些明显的优势——例如 obj c 在过去 20 年中只更新了两次!期望良好的 XML、正则表达式、Http 支持?再想想。 Obj c中的Linq?绝不。好的操作系统社区?不见得。除了 C# 是一种更优越的语言之外,还有很多使用 MT 的理由。能够在 MonoDroid 中重用大部分代码就是其中之一。尽管有消息说苹果正在创造一种新语言——我对它并不抱太大希望。我们会看到我猜。

我在进入 MT 之前学习了 Obj C,我选择 MT 的原因是使用 Obj C 就像回到了 90 年代。它只是没有任何现代语言功能,而且远远落后于曲线。使用古老的语言创建您最前沿的应用程序?谢谢,但不,谢谢。

【讨论】:

    【解决方案2】:

    除了与操作系统和 Apple 应用商店政策密切合作的人外,我们谁都不知道使用这项技术开发应用程序是否“安全”。苹果可以在未来的任何时候说不,但我们不知道。我们知道的是,所有编译的代码都必须是 C、C++ 或 Obj-C。但是有一个问题:In some cases you can run interpreted languages

    如果我是你,我会选择 Objective-C。我们知道 Apple 完全支持它,它已经存在了将近 20 年。因为你知道 C#,所以学起来并不难。我来自 C++/C,花了大约一个月左右的时间学习了一半的框架。还有许多其他框架我没有学习,因为它们不适用于我的应用程序(例如加速器、GPS、OpenGL ES 等)。你可能也可以逃脱惩罚。

    同样,还有另一种方法:使用 HTML5 构建它。但是,这样您就必须考虑您的应用在使用 Safari 桌面、Firefox、IE 等打开时会做什么。

    【讨论】:

    • 这是一个很好的答案,我想我会转向学习一些 Objective-C。我对 iPhone 开发非常陌生,这给了我很好的指导。干杯
    【解决方案3】:

    iPhone 开发者协议非常明确,C# 不是用于开发 iPhone 应用程序的公认技术。无论如何,迄今为止,Monotouch 应用程序仍然被应用程序商店接受,没有任何问题。我的建议是与 Monotouch 论坛保持联系,看看他们在这个问题上的立场,并据此做出决定。长期安全的赌注是学习 Objective-C。

    【讨论】:

      【解决方案4】:

      最近,Apple 更改了与第三方开发工具相关的条款,现在声明如果您事先获得批准,您就可以使用它们。不过,我还没有看到任何允许使用 Mono 的官方消息。

      如果您有 c# 背景,我强烈建议您学习 Obj-C,因为它总是有助于了解另一种语言,而且您可以相当容易地学习它。看看斯坦福大学的 iPhone 讲座,它们是我学习时最好的资源。

      虽然我没有亲自使用过 C# 或 Mono,但 iOS SDK 一旦你知道它背后有一些非常棒的工作,一旦你习惯了它就变得既简单又强大,如果 Mono 使用我会感到惊讶充分利用这一切。

      【讨论】:

        【解决方案5】:

        我认为学习为您选择的平台编写框架所用的语言很重要。然后您可以更多地了解为什么框架是这样的,并且通常仅基于了解典型情况来预测行为或 API 调用对于语言和框架。

        最重要的是,现在跨 API(仅限 iOS4 和更高版本)对块提供了大量支持,这可能需要一些时间才能整合到 MonoTouch 中。覆盖框架总是落后于基础平台,因此直接使用框架会更好。

        【讨论】:

        • 自从 Apple 将块引入 iOS 以来,MonoTouch 就一直支持它们。
        • 事实上,它们是在原版发布 24 小时后添加的。
        【解决方案6】:

        距离 Flash 崩溃已经过去几个月了,Monotouch 和 Unity 仍在继续发展。

        作为 .NET 商店的开发人员,我们正在考虑扩展到 iOS 开发。在用 Objective-C 制作了一些相当基本的东西的原型之后,我们 100% 致力于使用 Monotouch,每一分钱都值得。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多