关于android:Xamarin是否足以开发社交平台应用程序?

Is Xamarin sufficient enough to develop social platform apps?

我有本地安卓开发者(Eclipse以前是安卓工作室,从2015年初开始)和Unity3D作为模拟和游戏开发者的背景。我目前的任务是由我的公司调查跨开发平台。

我已经搜索过这个问题和其他问题。我认为Xamarin是大型/复杂项目的赢家。但Xamarin是否足以进行核心复杂项目?

例如,社交平台应用程序,比如说我正在开发自己的Facebook,Xamarin足够好吗?请以一般方式回答,并考虑以下方面;

我了解到Xamarin使用了所有的Android组件,如RecycleView等,所以它很好。

但在复杂的情况下,需要验证登录,使用Twitter、Google、Facebook API是否可用?当我在这个问题上出错时,Xamarin能提供足够的文档和帮助吗?对于其他API,比如谷歌分析和静态,甚至可能是AdMob。

要上传/下载文件(图像/视频/文本),我可以(或者应该)使用我以前的库,如AsyncHTTP、毕加索。还是有更好的解决方案?(也许Xamarin有自己的方法来实现这些功能,我甚至不需要使用3Party库)。

对于WebService组件,iOS有自己的Parse,而第三方库(如afnetworking、restkit和android)也有一些库。Xamarin提供什么样的解决方案?我知道我可以向Xamarin添加JAR文件。但是还有其他的解决办法吗?

Xamarin作为Mono,支持Unity3D增强现实,但它支持本地应用程序吗?在安卓系统中,我会说wikitude和vuforia是惊人的,但是我能把这些插件实现到原生xamarin(而不是unity3d)中吗?


我不认为StackOverflow是讨论类似问题的合适地方。这取决于你的技能和具体要求。

一般来说,如果你没有任何技术方面的经验,那么用它(为你)构建一个超复杂的软件当然是不对的。

请不要把Xamarin看作是一个移动应用程序框架,它可以为你处理很多事情。事实并非如此。

Xamarin允许您用C语言编写所有应用程序代码,并在iOS和Android上运行.NET代码。基本上就是这样。

如果你不想最大限度地利用Xamarin,你当然不应该使用平台特定的库,而是使用一个可移植的解决方案,所以你只需要做一次。

有大量的.NET软件包可用于REST、JSON、Web、文件传输等,其中大部分都是可移植的。Xamarin还提供了一个组件存储,在那里它们可以确保跨平台的兼容性。

对于您来说,这意味着您必须学习所有这些框架(以及一些.NET/C)。这会花费你很多的训练时间。

好处可能只在长期内可见,因为您只需要维护一个代码库。这对于具有大量逻辑的超复杂应用程序尤其如此。