我非常了解C#,只是喜欢Visual Studio作为IDE。 :)但是现在我想开始为Android开发......
我发现了MonoDroid,并想询问它是否有任何缺点会使Java更受欢迎,或者我应该卸载Eclipse并直接进入MonoDroid?
如果我理解正确,MonoDroid会部署/编译本机Android应用程序,不需要任何额外的类似.net的框架或什么?
使用MonoDroid可以做些什么有明显的限制吗?例如,让应用程序在后台运行或使用一些外部.net库进行图像编辑等?
答案 0 :(得分:9)
我一直在担心同样的事情 - 使用C#的生产力,而不是使用不熟悉的语言,而不是开发操作系统开发人员的预期。
很容易列出专业与缺点 -
pros(monodroid,对于C#开发人员)
缺点 -
答案 1 :(得分:7)
许多可用的文档都是用Java编写的:所以如果你在使用MonoDroid时遇到手机行为的困难,你就不会真正找到那么多的帮助或调试信息,所以你可能想要坚持使用Eclipse。
答案 2 :(得分:5)
除了在davlick下运行的一组包装器之外还有很多东西,要说明的是,MonoDroid和Android之间存在更多的横向关系;
何时使用与操作系统开发人员相同的语言成为一个大问题?有很多C ++程序员想知道如何使用BSD或SVR5以及许多希望知道在Windows ++上做什么的C程序员......
答案 3 :(得分:3)
如果你要用c#编写,你将不得不将它包装成Java代码,那么重点是什么?另外,在尝试理解为Java编程编写的API时,您可能会遇到一些非常棘手的问题......
答案 4 :(得分:3)
以下是您可以考虑的一些要点:
Android应用程序主要使用Java编写。 Android SDK本身是用Java编写的。
使用Mono可能无法提供Java SDK中提供的所有功能。
如果您是C#开发人员,您将无法在Java中找到C#中可用的一些(酷)功能(如Property Delegates等)。
用.NET编写的代码可以重复用于其他环境 - 这可以节省用于学习新语言/环境(如Objective C)和编码的大量时间。
.NET使用现有的库和API扩展了Android开发堆栈。
我认为两者都有某些原因。很难说哪一个更适合Android开发 - 最终由你决定。
答案 5 :(得分:2)
另请注意,使用monodroid的任何版本构建都会为apk文件大小添加额外的4mb,并且会在几秒钟内增加应用启动时间。
对于简单的应用程序,这可能意味着文件大小增加了500-800% - 这在我的书中非常糟糕。