如果单声道触摸可用,那么为什么我们应该使用mac环境(sdk,xcode + Interface Builder)?
与xcode相比,monotouch的缺点是什么?
答案 0 :(得分:34)
我总是喜欢使用与我正在开发的平台最符合哲学的语言。
也就是说,构建整个平台的框架是为Objective-C编写的。因此,如果您在Objective-C中自己工作了一段时间,您就会理解为什么事情以它们的方式构建,并且还可以预测可能存在的呼叫或行为。
正如我不会为除Silverlight之外的任何东西开发Windows Phone 7一样,我不会在除了Objective-C之外的任何东西上编程iPhone,以便充分利用平台。新语言?这是一个好处,因为人们应该不时地学习新语言。并且它不会为您节省大量时间来使用您已经知道的语言,因为您将花费大部分时间来学习框架(MonoTouch允许您调用它)。
答案 1 :(得分:10)
我觉得这也需要来自MT阵营的答案。
为什么要吃鱼,如果你能吃肉?如果懂英语,为什么说德语?如果有FOX,为什么要观看CNN?如果有民主党人,为什么要投票支持共和党?为什么...?等等。
这是你的选择!如果您已经使用C#很长时间并想在iOS上获得快速结果,请转到MonoTouch。特别是如果您有一组可以重复使用的API或方法,那么MT就是您的选择。如果你想学习一门新语言(ObjC),那就去吧。即使你最终使用MT,知道ObjC在某种程度上是至关重要的,因为它可以帮助你理解为什么事情会像他们一样工作。
答案 2 :(得分:9)
你好,这是我的个人意见,
我已经在.Net世界上待了一段时间,当iPhone推出了创建本机应用程序的能力时,它引起了我的全部注意力,我真的试图学习objc,我拿了2本书并开始尝试尝试和尝试喜欢一个月,然后我离开了iPHone编程,因为你必须制作大量的东西,而不是在.NET上,例如GC。
当Miguel de Icaza推出MonoTouch时,我尝试了一下,我意识到我之前完成的大部分代码都是完全功能的(我总是试图将ui代码与业务代码分开),这真的是.NET的重点。在iPhone上,将大部分已经完成的业务逻辑带到设备上。
同样在objc上你不会发现像LINQ或var关键字这样的东西,只需点击几下就可以在MonoTouch上使用Web服务等。
如果您想要定位Android平台,MonoDroid(monodroid.net)也会在今年晚些时候推出稳定版本,您现在可以试试测试状态。此外,如果您想要定位Mac OSX,还有MonoMac。所以你可以在所有这三个平台之间共享类库(也是al mono / .net支持的平台),没有麻烦,更不用说它也适用于Windows,反之亦然(如果可能的话)(也不要忘记WP7)。
您唯一需要担心的是UI,但大多数业务逻辑都应该有效。这里是MonoTouch http://monotouch.net/Documentation/Assemblies支持的.NET程序集的完整列表,MonoTouch还公开了对所有CocoaTouch API的C#/ CIL绑定。
此外,MonoTouch团队的支持非常棒,你可以上IRC问一个问题,它会马上回复,邮件列表也是如此:)
我非常喜欢MonoTouch,我知道任何语言都不适合所有任务,Objective-C也不例外。
答案 3 :(得分:2)
每个示例,教程和文档都将用Objective-C编写,而mono将只是调用Objective-C代码。如果您真的觉得C#值得在心理上翻译所有内容,并在您的代码中添加额外的图层,那么我想去吧。
答案 4 :(得分:0)
作为一名C#开发人员,我发现Objective-C对于自信而言非常痛苦。花了大约两个月的时间,两个很好的资源才能进入这个阶段。
取出您的Visa卡,您需要花费54美元。
<强> 1。 免费斯坦福“为iOS开发应用程序”讲座。
纯粹的光彩,它使学习Objective-C非常清晰。
http://itunes.apple.com/us/itunes-u/developing-apps-for-ios-sd/id395631522
<强> 2。 iOS Apprentice系列。 这是你需要咳嗽54美元的地方。它一步一步教你如何在Objective-C中编程,你构建的应用程序实际上非常令人印象深刻。第1部分(共4部分)是完全免费的,所以你可以在分配任何现金之前先试一试 http://www.raywenderlich.com/store/ios-apprentice
我还没有找到任何符合这两种资源的清晰度和友好性的iOS书籍。
最后,不购买任何书籍,除非他们明确说明他们是iOS5和XCode 4.这个最新版本的XCode太过不同,不能使它们有用。
免责声明:我不参与此主题中提到的任何资源!