我面临两难选择:我在C#中拥有扎实的ASP.NET开发经验,并希望开始移动开发。我已经做过研究,并且知道在Windows上获得iOS开发环境有一些黑客攻击,最近Apple取消了对第三方开发应用程序的禁令后,Adobe Flash CS5可用于打包iOS应用程序。我确实有一些Flash和AS2的经验。 所以我的问题是:我应该使用适用于iOS的Flash CS5和适用于Android的MonoDroid,还是应该使用Mac并学习iOS的Objective C并学习Android的Java?什么是最实用的解决方案?
提前谢谢
编辑:最后,在针对Android SDK和针对Android的Mono尝试Eclipse中的Java开发之后,我认为最好在本机环境中编写Android应用程序。 Eclipse FTW!至于iOS,我认为最好使用原生的Mac工具和Objective C。答案 0 :(得分:12)
虽然有很多方法可以使用Objective-C进行iOS开发,但我仍然建议你学习它。无论如何你需要部署Mac,你也可以用它来开发。
当你第一次开始使用时,Objective-C是一个血腥的怪异,它有奇怪的方括号和奇怪的做事方式。但是,一旦你花了一些时间在其中编写代码,你的脑部变化就会发生变化,你突然意识到这真的是一种优雅的工作方式。 Xcode也是一个非常出色的IDE。
您可以从斯坦福大学的iTunesU上开始使用iPhone应用程序编程课程。它是免费的,涵盖了您需要完全了解的内容。
最糟糕的是,您已经学会了一种新语言,以及Apple如何认为应该开发iPhone应用程序。即使你最终使用其他东西,这种理解也会帮助你长期。
答案 1 :(得分:1)
看看monotouch& amp; MonoDroid(即将推出),它仍然需要一个mac。但您可以在VS2010中打开解决方案并使用resharper,只需使用Mac进行部署和构建即可。看一下这个Here,在Visual Studio中打开monodevelop解决方案。
答案 2 :(得分:1)
对于Android,我建议学习Java。在开发了一些ASP.NET站点之后,我刚开始在我的Windows机器上使用Java in Java。我熟悉Java,但语法与C#非常相似,因此很容易理解和掌握。到目前为止,与语言相比,更难以确定和记住移动应用程序架构的细节。它还有很多好书和在线资源可以从C#转换为Java,反之亦然。
更新:我在programmers.stackexchange.com上找到了一篇很好的帖子,讨论了针对Android开发的C#与Java,并讨论了切换的优缺点:https://softwareengineering.stackexchange.com/questions/33076/as-a-c-developer-would-you-learn-java-to-develop-for-android-or-use-monodroid-i
答案 3 :(得分:1)
@Dimitri当iOS 2.0发布时,我几乎是你的相同技能。我决定尝试学习Objective-C,现在是我选择的语言。它开始时有点不同,但大多数变化都很容易学习。无论您是使用Objective-C进行iOS编程还是使用Monotouch,您都必须学习框架。如果您使用Monotouch,您将永远无法处于iOS增强功能的前沿。使用Objective-C,您将能够使用最新的beta API并确保您的应用程序正常运行。你将需要一台Mac来部署到App商店,所以只需咬紧牙关并获得一台Mac。获得MacBook Air 13“
答案 4 :(得分:0)
我选择了适用于iOS的Monotouch和适用于Android的Java。不幸的是,Monotouch仍然需要Mac。我目前正在参与MonoDroid测试版,看起来也非常有前途。这都是品味问题。我还应该注意到,在大多数情况下,HTML / Javascript是在某些情况下获取便携式应用程序的好方法。随着工具的改进,我希望HTML5应用变得更加可行。
答案 5 :(得分:0)
我选择使用Novell的Mono,MonoTouch和Mono for Android技术堆栈。当与MonoCross(Google代码中的开源)等微框架结合使用时,它可以帮助我为iPhone和Android设备编写应用程序,同时利用大部分共享代码库。我强烈建议使用相同的路线,它允许我为小型企业和企业客户实施多种解决方案。
我没有像你这样的ASP .NET体验,但我是Pocket PC / Windows CE开发人员,所以C#和.NET Framework也是我在许多月前开始Mono之旅时最强大的工具。 / p>