【问题标题】:Should I be developing Android apps with Xamarin instead of Java?我应该使用 Xamarin 而不是 Java 开发 Android 应用程序吗?
【发布时间】:2013-06-09 15:40:41
【问题描述】:

我想为夏天创建一个项目,我想在其中创建一个 Android 应用程序。现在我的问题是针对那些以前使用 Xamarin 创建 Android 应用程序的人:

  • 使用 Java 创建 Android 应用程序是否比使用 Xamarin 在 C# 中创建应用程序更好?

  • 使用 Xamarin 进行 Android 应用程序开发是否有任何限制?
    IE。有没有一些我可以用 Java 做但不能用 Xamarin 做的事情?

  • 最后,对于一个非常新的程序员,您如何看待 Xamarin?

【问题讨论】:

  • 我从朋友那里听说,使用 java 编程可以提供更好的性能。我还没有尝试过,所以我无法确认或否认,但你可以调查一下。这些限制取决于您是否想花钱从 Xamarin 购买许可证。您可以免费使用该框架,但您只能编写相对较小的程序。我相信它是 30 或 70kb。除此之外,您不能在免费版本中使用第三方库。一个许可证将花费大约 300 美元。对于最后一个问题:我喜欢使用 Xamarin for Android 进行编程。我发现这样做要简单得多。

标签: c# android .net xamarin


【解决方案1】:

您特别要求:

创建一个安卓应用

如果这是您的唯一要求,并且您之前没有 C# 开发经验,则应坚持使用 JAVA 和 Android SDK 开发应用程序。毕竟是免费的。

然而,
为什么要将自己限制在 Android 平台上?

如果您将来有机会扩展到其他平台,恕我直言,您应该立即开始准备,并创建一个跨平台应用程序。

C# 是一门强大的语言,Xamarin 产品成熟且质量上乘,Xamarin 社区足够大,可以得到广泛的支持。 据我所知,没有任何限制,您可以使用本机 Java 执行的所有操作也可以使用 Xamarin.Android 实现。此外,如果您发现任何限制,您始终可以在应用程序中包含 Native Java Code

唯一需要注意的是价格,对于初学者来说可能很高。

【讨论】:

  • 如果对您有帮助,您可以随时将其标记为答案以表示感谢... :)
  • @Liel 实际上在 Xamarin 中有一些限制。嗯,有点。 Xamarin 是通过将框架移植到 C# 来完成的。这还没有移植所有内容,因此您可以在 Java 中做的事情很少,但在 Xamarin 中却不行。这几乎可以忽略不计,他们正试图在每个版本中添加更多内容,但为了正确起见,我只想提一下。
  • @Liel 作为增量移植的示例,您可以see this linkHtml.FromHtml() 函数的重载之一当时没有实现。那是在 2012 年,我还没有检查他们是否添加了正弦,但这只是给出了这个想法。在大多数情况下,您可以自己实现缺少的库,但这对于某些功能来说可能需要大量工作。所以虽然理论上你可以做你在 Java 中能做的所有事情,但实际上一些极少数的功能可能更难。
【解决方案2】:

在 C# 中但在 Java 中省略的另一个特性是 LINQ,它为数据处理和排​​序提供了重要帮助。

要考虑的主要因素是 Liel 已经说过您喜欢编程语言,Java 或 C#,选择您更熟悉的语言。在将某人提到 Xamarin 而不是 Java 时,我要提到的唯一犹豫是他们的教程非常重要。

在我看来,这应该及时成为一个不那么重要的问题。我学习时使用的主要资源是 AppDev 和 Pluralsight 培训 DVD,我发现它们对学习至关重要。

可以简单地引用 Java 源代码,有时唯一需要的操作是将 C# 中的第一个字符 setContentView() => SetContentView() 大写,然后使用 Intelisence 查找正确的语法 Resource 而不是 Java 中的 R。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多