我正在考虑Xamarin。我来自C#背景,在构建原生iOS & Android应用程序方面经验丰富。Xamarin使用iOS和Android第三方库
我构建的大多数应用程序都大量使用第三方库,这些库适用于iOS的iOS & Android。在Xamarin中,似乎你必须通过一个“绑定”过程才能使用iOS或Android库。
Xamarin中存在这个问题吗?
我应该预期哪些问题或限制?
我正在考虑Xamarin。我来自C#背景,在构建原生iOS & Android应用程序方面经验丰富。Xamarin使用iOS和Android第三方库
我构建的大多数应用程序都大量使用第三方库,这些库适用于iOS的iOS & Android。在Xamarin中,似乎你必须通过一个“绑定”过程才能使用iOS或Android库。
Xamarin中存在这个问题吗?
我应该预期哪些问题或限制?
Xamarin拥有一个组件团队,旨在为一些最受欢迎的第三方库创建/维护质量绑定。你可以看到这里大多数他们的工作:
https://github.com/xamarin/XamarinComponents
注:这些只是开源组件。此外,各个团队成员还在个人github上建立了许多绑定。
还有一个完整的组件商店,你可以搜索在Xamarin
工作流行的第三方库:
https://components.xamarin.com/
否则,你可以搜索的NuGet为Xamarin
兼容包。可悲的是,在我知道的NuGet中没有很好的过滤器。
如果有不被组件团队约束库,一般的社区已经建立或者A)Xamarin C#端口,或B)绑定项目。有一种流行的awesome-xamarin
库有链接到许多库:
https://github.com/benoitjadinon/awesome-xamarin
在最坏的情况下,Xamarin提供结合的工具来为你做的工作的90%以上。
的Android - https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/
的iOS - https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/
如果你到这种情况下,会有一些限制,如需要知道的Java/Objective-C和怎样语言应转换为相应的C#等价物。
例如,下面是在的情况下Xamarin.Android
约束力的指南,你碰到其他问题:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
注:官方Xamarin文档包括故障排除,几乎每一个问题你可以想到。如果有些东西没有文档记录或混淆,你可以随时打开Stack Overflow或Xamarin论坛的话题!
谢谢,这有助于。 – AlexVPerl
由于我对Xamarin不是非常熟悉,所以不会发布这个答案,但我相信这个吸引力是一个单一的应用程序,应该在多个环境中进行最小的修改。使用iOS或Android特定的依赖关系自然需要更多的设备特定维护。 –
绑定本地库的复杂性将很大程度上取决于库的设计以及对库的熟悉程度。具有单个类和5个公共方法的API显然比500个遍布50个不同类的方法更容易绑定。 – Jason
@Jason - 谢谢,这很有道理。如何添加诸如广告网络库之类的东西,以及是否有隐藏的警告? – AlexVPerl