Xamarin for Android (Mono for Android)与原生Android开发相比如何?
本文关键字:Android for 开发 Mono Xamarin 原生 | 更新日期: 2023-09-27 18:14:16
我最近选择学习c#并在Xamarin上使用c#开发移动应用程序。特别是对于Windows Phone和Android开发。我知道Windows Phone应用开发主要是c#, Xamarin可以为Android编译本地代码,但它与Java本地开发相比如何?我将能够使用每一个或至少大部分(如90%以上)的Android SDK和扩展使用Xamarin?
我认为要考虑的主要事情是你喜欢的编程语言——在你的情况下是c#——并使用它。与Java相比,在c#中构建应用程序时,唯一让我担心的是,c#没有像Java那样多的第三方参考。为了学习如何实现新特性,你会发现自己需要下载示例文件并对其进行逆向工程,如果你只能找到一个基于Java的示例,那么你将不得不更多地搜索智能来查找正在使用的内容。你会发现它通常和Java中的方法是一样的,只是第一个字母大写了。LINQ是我在数据操作中发现的一个主要优点,这在Java中是不可用的。
祝你一切顺利,James
我没有做任何统计或研究Xamarin c#对Android Java API的覆盖,但在我的工作中,我在将代码从Java移植到c#时所需要的一切都在那里。此外,Xamarin表示,对于新的Android SDK版本,他们通常会在24小时内发布相应的c#版本。而且,正如@dotToString所说,您可以将Java jar库添加到Xamarin c#项目中,并在必要时调用它们。
性能是另一个问题——我不相信它能在Android上运行。相反,Mono运行时以某种方式解释字节码。我在实际代码中比较了Java和Xamarin c#代码的性能,详见:
有没有人有基准(代码&比较用Xamarin c#和Java编写的Android应用程序的性能?
格雷格你可以使用所有的android功能和Java库互操作。此外,您还可以获得非Windows专用的。net的优势,包括linq.