2015-07-20 54 views
1

我有作为原生Android开发人员(以前是Eclipse,自2015年初开始的Android Studio)以及unity3d作为模拟和游戏开发人员的背景。我目前负责调查交叉开发平台。Xamarin足够开发社交平台应用程序吗?

我已在this questionothers中搜索。我想说Xamarin是大型/复杂项目的赢家。但是,Xamarin是否足够用于核心复杂项目?

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

我已经了解到Xamarin使用了所有的Android组件,比如recycleview等等,所以很好。

但是在需要认证登录的复杂性中,用Twitter,Google,Facebook apis可以使用吗?当我在这个问题上出现错误时,Xamarin是否可以提供足够的文档和帮助?而对于其他apis,例如Google Analytics和静态,甚至可能是Admob。上传/下载文件(图像/视频/文本)可以(或应该)我用我以前的库,如Asynchttp,picasso。还是有更好的解决方案?(也许xamarin有自己的方式来实现这些功能,我甚至不必使用3party库)。

对于web服务组件,iOS有自己的解析以及第三方库,如afnetworking,restkit,Android有一些库。 xamarin提供了什么样的解决方案?我知道我可以将jar文件添加到Xamarin。但是还有其他解决方案吗?

Xamarin作为mono,supoorts使用unity3d增强了现实感,但它是否支持本机应用程序?如beyondar in Android,我会说wikitudevuforia是惊人的,但我可以实现这些插件到本地Xamarin(不Unity3d)?

+0

https://www.xamarin.com/customers –

+0

我认为这个问题是大多数本地开发人员倾向于使用交叉平台框架的问题。 –

回答

4

我不认为,StackOverflow的是讨论这样的问题,正确的地方。它非常依赖你的技能和特定的要求。

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

请不要看Xamarin的移动应用程序框架,它处理了很多的东西给你。它确实不是。

Xamarin允许您使用C#编写所有应用程序代码,并在iOS和Android上运行.Net代码。这基本上都是。

如果你wan't最大限度地使用Xamarin的,你当然应该不使用特定于平台的库,但使用的便携式解决方案,而不是,所以你只需要做一次。

有一吨的.Net包休息,JSON,网页,文件传输等,其中大部分是便携式的。 Xamarin还提供了一个组件商店,他们确保跨平台兼容性。

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

从长远来看,好处可能只会变得明显,因为您只需维护一个代码库。对于拥有很多逻辑的超级复杂应用来说尤其如此。