Android开发中的MonoDroid VS Java?

Rog*_*ger 10 android xamarin.android

我非常了解C#,只是喜欢Visual Studio作为IDE.:)但是现在我想开始为Android开发...

我发现了MonoDroid并想问它是否有任何缺点会使Java更受欢迎,或者我应该卸载Eclipse并直接进入MonoDroid?

如果我理解正确,MonoDroid部署/编译本机Android应用程序,不需要任何额外的类似.net的框架或任何东西?

我可以用MonoDroid做什么有明显的限制?例如,让应用程序在后台运行或使用一些外部.net库进行图像编辑等?

Roo*_*noy 9

我一直在担心同样的事情 - 在C#中的生产力,而不是使用不熟悉的语言,而不是开发操作系统开发人员的预期.

很容易列出专业与利弊 -

专业人士(monodroid,C#开发人员)

  • 熟悉的开发环境,可以使用Visual Studio开发
  • C#而不是Java
  • 可重复使用的代码资产 - 您可以使用monotouch和WP7 SDK在iphone项目或Windows phone 7项目中使用大量代码.

利弊 -

  • 由于缺乏来自Google的api文档,调试可能很困难.将不得不完全依赖于monodroid文档.
  • 在最新的尖端功能方面可能存在滞后 - 可以安全地假设monodroid团队每次有新的操作系统发布时都需要一些时间来包装最新的Android功能
  • 库的可用性 - 我不确定如何使用围绕android平台发展的开源库,这可以减少开发时间

  • 从现实世界的经验来看,我发现我可以重复使用大约50-60%的代码库,这是使用MVC和Repoistory模式的绝对抽象.另外40-50%是纯UI代码,Android在使用Tabs,Inflating Views等简单的事情时特别糟糕且非常冗长.这个百分比在iOS上有点变得更像70/30,在Windows Phone上约80/20. (2认同)

Fem*_*emi 7

许多可用的文档都是用Java编写的:所以如果你在使用MonoDroid时遇到手机行为的困难,你就不会真正找到那么多的帮助或调试信息,所以你可能想要坚持使用Eclipse.


Ran*_*e42 5

还有的不仅仅是一组下davlick运行包装的多很多,真相被告知,有更多的MonoDroid的和Android之间的横向关系;

在此输入图像描述

何时使用与OS开发人员相同的语言成为一个大问题?有很多C++程序员想知道如何使用BSD或SVR5和许多C程序员谁想知道在Windows ++上做什么...

  • 好吧......但是在外行的条件下,所以MonoDroid rulz还是MonoDroid sux?:) (2认同)
  • 仅仅是一个FYI,.NET Runtime与Mono Android上的Java运行时一起运行.您将运行两个垃圾收集器和两个框架.这可能会影响电池寿命,内存占用等.对我来说,牺牲是可以接受的,但你必须自己决定. (2认同)