简体   繁体   English

Windows上的iOS和Android开发

[英]iOS and Android development on Windows

I'm facing a dilemma: I have a solid ASP.NET development experience in C# and looking to start mobile development. 我面临一个难题:我在C#方面拥有扎实的ASP.NET开发经验,并希望开始进行移动开发。 I have done research and know that there are some hacks for getting a development environment for iOS on windows, and recently after Apple lifted ban on 3rd party dev apps, Adobe Flash CS5 can be used to package iOS apps. 我已经进行了研究,并且知道在Windows上获取iOS开发环境存在一些技巧,最近在Apple取消对第三方开发应用程序的禁令之后,可以使用Adobe Flash CS5打包iOS应用程序。 I do have some prior experience with Flash and AS2. 我确实有使用Flash和AS2的一些经验。 So my question is: should i use Flash CS5 for iOS and MonoDroid for Android or should i just get Mac and learn Objective C for iOS and learn Java for Android? 所以我的问题是:我应该使用iOS的Flash CS5和Android的MonoDroid,还是应该仅购买Mac并学习iOS的Objective C,并学习Android的Java? What would be the most practical solution? 什么是最实用的解决方案?

Thank you in advance 先感谢您

EDIT: In the end, after trying out both Java Development in Eclipse against Android SDK and Mono for Android, I decided it's best to write Android apps in native environment. 编辑:最后,在针对Android SDK尝试了Eclipse中的Java开发和针对Android的Mono之后,我决定最好在本机环境中编写Android应用程序。 Eclipse FTW! Eclipse FTW! As for iOS, I think it will also be best to use native Mac tools and Objective C. 对于iOS,我认为最好使用本机Mac工具和ObjectiveC。

While there are ways to get around using Objective-C for iOS development, I'm going to recommend that you learn it anyway. 尽管有很多方法可以使用Objective-C进行iOS开发,但我还是建议您还是学习它。 You need a Mac to deploy anyway, you might as well use it to develop as well. 无论如何,您都需要一台Mac进行部署,也可以使用它进行开发。

Objective-C is bloody bizarre when you first start using it, with its strange square brackets and odd ways of doing things. 当您初次使用它时,Objective-C就是血腥的怪异事物,它的方括号和奇怪的处理方式都使它变得奇怪。 However, once you've spent some time writing code in it, a change happens in your brainmeats and you suddenly realize that this is really an elegant way to work. 但是,一旦花了一些时间在其中编写代码,头脑中就会发生变化,您突然意识到这确实是一种优雅的工作方式。 Xcode is also quite an excellent IDE. Xcode还是一个非常出色的IDE。

You can start with the iPhone Applications Programming lessons on iTunesU from Stanford. 您可以从斯坦福大学iTunesU上的iPhone应用程序编程课程开始。 It's free, and covers what you'll need to know pretty throughly. 它是免费的,涵盖了您需要全面了解的内容。

Worst case, you've learned a new language, and how Apple thinks iPhone apps should be developed. 最坏的情况是,您已经学习了一种新语言,并且了解了Apple如何开发iPhone应用程序。 Even if you ultimately use something else, that understanding will help you out long term. 即使您最终使用了其他东西,这种理解也会帮助您长远的发展。

Take a look at monotouch & MonoDroid (Coming Soon), it still requires a mac. 看看monotouch和MonoDroid(即将推出),它仍然需要Mac。 But you can open your solutions in VS2010 and use resharper, and just use the Mac for deploying and building. 但是,您可以在VS2010中打开解决方案并使用resharper,只需使用Mac进行部署和构建即可。 Take a look at this Here to open monodevelop solutions in Visual Studio. 看看这里 ,在Visual Studio中打开monodevelop解决方案。

http://monotouch.net http://monotouch.net

For Android, I would recommend learning Java. 对于Android,我建议学习Java。 I just started working with Android in Java on my Windows machine after developing some ASP.NET sites. 在开发了一些ASP.NET网站之后,我才开始在Windows计算机上使用Java使用Android。 I'm familiar with Java, but the syntax is so similar to C# that it's very easy to understand and pick up. 我对Java很熟悉,但是语法与C#非常相似,因此非常容易理解和掌握。 So far it is more difficult figuring out and remembering the details of the architecture of mobile applications as opposed to the language. 到目前为止,要弄清并记住与语言相反的移动应用程序体系结构的细节更加困难。 It also helps that there are a number of good books and online resources for converting from C# to Java and vice versa. 它还可以帮助您获得许多不错的书籍和在线资源,可以从C#转换为Java,反之亦然。

Update : I found a good post over on programmers.stackexchange.com that talks about C# vs. Java for Android development with good discussion on the pros and cons of switching: https://softwareengineering.stackexchange.com/questions/33076/as-ac-developer-would-you-learn-java-to-develop-for-android-or-use-monodroid-i 更新 :我在programmers.stackexchange.com上找到了一篇不错的文章,该文章讨论了用于Android开发的C#与Java,并就切换的利弊进行了很好的讨论: https : //softwareengineering.stackexchange.com/questions/33076/as一个ac开发人员您将学习Java开发用于Android或使用Monodroid-i

@Dimitri I was almost your identical skill set when iOS 2.0 was released. @Dimitri我在发布iOS 2.0时几乎是与您完全相同的技能。 I decided to try and learn Objective-C and now its my language of choice. 我决定尝试学习Objective-C,现在学习它是我的选择语言。 Its a bit different to start with but most of the changes are simple to learn. 开始时有点不同,但是大多数更改都很容易学习。 Whether you are programming for iOS using Objective-C or something like Monotouch either way you have to learn the frameworks. 无论您是使用Objective-C还是使用Monotouch之类的iOS进行编程,都必须学习框架。 If you use Monotouch you will never be able to be on the bleeding edge of the iOS enhancements. 如果使用Monotouch,您将永远无法站在iOS增强功能的最前沿。 Using Objective-C you will be able to use the latest beta APIs and ensure your apps work right. 使用Objective-C,您将能够使用最新的Beta API,并确保您的应用正常运行。 You will need a Mac to deploy to the App store so just bite the bullet and get a Mac. 您需要一台Mac才能部署到App Store,所以只需硬着头皮就可以得到Mac。 Get a MacBook Air 13" 获取MacBook Air 13英寸

You can do iOS,Android and Windows using Xamarin. 您可以使用Xamarin进行iOS,Android和Windows。

Android and Windows can be done easily but doing iOS on Windows was tough so far like networked mac is required for debug and development but things have changed now. Android和Windows可以轻松完成,但是到目前为止Windows上的iOS很难,因为调试和开发需要联网的Mac,但现在情况有所改变。

Microsoft has introduced Xamarin Live Player using which you can debug,develop and deploy the app completely in windows without the help of any Apple system but to sign and release the app to appstore you will need Apple System though 微软已经推出了Xamarin Live Player ,您可以使用它在Windows中完全调试,开发和部署应用程序,而无需任何Apple系统的帮助,但是要在应用商店中签名和发布该应用程序,您仍然需要Apple System

I went the route of Monotouch for iOS and Java for the Android. 我选择了iOS的Monotouch和Android的Java。 Unfortunately, Monotouch still requires a Mac. 不幸的是,Monotouch仍然需要Mac。 I am currently participating in the MonoDroid beta, which looks pretty promising too. 我目前正在参加MonoDroid beta,它看起来也很有前途。 It's all a matter of taste. 这全都取决于口味。 I should also note that, for the most part, HTML/Javascript is a nice way to get portable apps in some circumstances. 我还应该指出,在大多数情况下,HTML / Javascript是在某些情况下获取可移植应用程序的好方法。 I would expect HTML5 apps to become even more viable as tooling improves. 我希望随着工具的改进,HTML5应用程序将变得更加可行。

I choose to use the Mono, MonoTouch and Mono for Android technology stack from Novell. 我选择使用Novell的Mono,MonoTouch和Mono for Android技术堆栈。 When coupled with a micro framework like MonoCross (open source in Google code) it helps me write applications for both iPhone and Android devices while leveraging a shared code base for much of it. 当与MonoCross(Google代码中的开源)之类的微型框架结合使用时,它可以帮助我为iPhone和Android设备编写应用程序,同时利用其中的大部分共享代码库。 I would highly suggest the same route, it has allowed me to implement numerous solutions for small businesses and enterprise customers alike. 我强烈建议采用同样的方法,它使我能够为小型企业和企业客户实施众多解决方案。

I didn't have the ASP .NET experience like you, but I was a Pocket PC/Windows CE developer so C# and the .NET Framework were also my strongest tools when I started on journey towards Mono many moons ago. 我没有像您这样的ASP .NET经验,但是我是Pocket PC / Windows CE开发人员,因此许多月前我开始尝试Mono时,C#和.NET Framework也是我最强大的工具。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM