How does Xamarin for Android (Mono for Android) compare to native Android development?
我最近选择学习C并在Xamarin上使用C开发移动应用程序。特别适用于Windows Phone和Android开发。我知道Windows Phone应用程序开发主要是C语言,XAMARIN可以为Android编译本机代码,但它如何与Java中的本地开发相比较呢?我是否能够使用Android SDK的每一个或至少大部分(比如90%)以及使用Xamarin的扩展?
我认为需要考虑的主要问题是您喜欢的编程语言——在您的例子中是C语言——并使用它。当我在C语言中构建一个与Java相反的应用程序时,唯一关心的是,他们的Java第三方引用并不像Java那样使用。你会发现自己下载示例文件,并逆向工程,以学习如何做新的功能,你将不得不搜索智力远远超过找到什么是使用,如果你只能找到一个基于Java的例子的东西。你会发现的一件事是,它通常可以是与爪哇相同的方法,但是第一个字母是大写的。LINQ是我在Java中不可用的数据操作中发现的一个主要好处。
不管你选什么,祝你好运,詹姆斯
我没有做任何关于Android Java API的XAMARIN C覆盖的统计或研究,但是在我的工作中,当从Java移植代码到C语言时,我所需要的一切都在那里。此外,Xamarin说,对于新的Android SDK版本,他们通常在24小时内发布C对应版本。而且,正如@ dottoStk所说的,可以将Java JAR库添加到XAMARIN C项目中,并在必要时对它们进行调用。
性能是另一回事-我不相信它是在安卓系统上运行的。相反,mono运行时正在以某种方式解释字节代码。我在现实生活中对Java与XAMARIN C代码的性能做了一些比较,请参阅:
在XAMARIN C和Java编写的Android应用程序的性能是否有基准(代码和结果)比较?
格雷戈
您可以使用所有的Android功能和Java库互操作。此外,您还可以利用非特定于Windows的.NET,包括LINQ。