有人知道如何比较使用Xamarin的C#编程和Android Java本地代码的优缺点吗?
开发Xamarin是否比原生Android更受限制,或者差距并不那么大。
我想听听有经验使用两种技术开发的人的意见。
谢谢!
更新 20150513:到目前为止,这是我从初创公司那里收到的最常见问题之一。他们应该选择哪种方法。我最终会把他们引导到这篇文章。它仍然是可靠的建议。
我已经用过两种方式进行开发。在Xamarin中几乎可以做任何想做的事情。你将遇到的几个困难领域是:
另一个问题是,虽然Xamarin正在表现不错并且越来越受欢迎,但社区仍然相当小。当您发布一个Xamarin应用程序时,这会带来问题。如果您需要引进其他人来维护它,他们必须了解.NET、C#和Android。找到这种组合相当困难,我发现所有需要更新我的应用程序的承包商或顾问都非常昂贵。
这是隐含的问题。它会帮助您更快地走出门,但如果您不是更新的人,则维护和新功能开发将花费您的代价。
我为什么知道这个?我用Xamarin编写了两个应用程序,最终想要进行更新。因为我没有时间,所以我不得不联系一个承包商来做到这一点。与已经存在的Android或iOS开发人员相比,这相当昂贵。最后,我把这些应用从Xamarin移植到了本地的Android和iOS。
这些都是次要问题。它是一个非常棒的平台。如果您计划始终在其上工作,请使用它。能够使用C#的强大功能真的很棒。在使用C#多年后,我对Java实际上非常厌恶。这是个人喜好,但事实就是这样。
一切都是权衡取舍。