8

我最近选择学习 C# 并在 Xamarin 上使用 C# 开发移动应用程序。尤其适用于 Windows Phone 和 Android 开发。我知道 Windows Phone 应用程序开发主要是 C#,并且 Xamarin 可以为 Android 编译本机代码,但它与 Java 中的本机开发相比如何?我能否使用 Xamarin 使用所有或至少大部分(如 90% 以上)的 Android SDK 和扩展?

4

3 回答 3

7

我认为要考虑的主要事情是您首选的编程语言 - 在您的情况下是 C# - 并使用它。在使用 C# 构建与 Java 相反的应用程序时,我唯一关心的是它们没有像 Java 那样使用那么多的 3rd 方引用。您会发现自己下载示例文件并对其进行逆向工程以学习如何执行新功能,如果您只能找到基于 Java 的示例,您将不得不更多地搜索智能以找到正在使用的东西。您会发现的一件事是,它通常可以与 Java 中的方法相同,但第一个字母大写。LINQ 是我发现在 Java 中不可用的数据操作的主要好处。

詹姆斯,无论你选择什么,祝你好运

于 2013-07-19T09:53:04.927 回答
3

我没有对 Android Java API 的 Xamarin C# 覆盖率进行任何统计或研究,但在我的工作中,将代码从 Java 移植到 C# 时所需的一切都在那里。此外,Xamarin 表示,对于新的 Android SDK 版本,他们通常会在 24 小时内发布 C# 对应版本。而且,正如@dotToString 所说,您可以将 Java jar 库添加到 Xamarin C# 项目并在必要时调用它们。

性能是另一回事 - 我不相信它在 Android 上原生运行。相反,Mono 运行时以某种方式解释字节码。我在实际代码中对 Java 与 Xamarin C# 代码性能进行了一些比较,更多信息请参见:

有没有人有比较用 Xamarin C# 和 Java 编写的 Android 应用程序性能的基准(代码和结果)?

格雷格

于 2013-06-27T13:09:38.253 回答
1

您可以使用所有的 android 功能和 java 库互操作。此外,您还可以获得包括 linq 在内的非特定于 Windows 的 .net 的优势。

于 2013-05-17T06:21:28.170 回答