2017-01-05 131 views
0

我正在考慮Xamarin。我來自C#背景,在構建原生iOS & Android應用程序方面經驗豐富。Xamarin使用iOS和Android第三方庫

我構建的大多數應用程序都大量使用第三方庫,這些庫適用於iOS的iOS & Android。在Xamarin中,似乎你必須通過一個「綁定」過程才能使用iOS或Android庫。

Xamarin中存在這個問題嗎?

我應該預期哪些問題或限制?

+0

由於我對Xamarin不是非常熟悉,所以不會發布這個答案,但我相信這個吸引力是一個單一的應用程序,應該在多個環境中進行最小的修改。使用iOS或Android特定的依賴關係自然需要更多的設備特定維護。 –

+0

綁定本地庫的複雜性將很大程度上取決於庫的設計以及對庫的熟悉程度。具有單個類和5個公共方法的API顯然比500個遍佈50個不同類的方法更容易綁定。 – Jason

+0

@Jason - 謝謝,這很有道理。如何添加諸如廣告網絡庫之類的東西,以及是否有隱藏的警告? – AlexVPerl

回答

2

Xamarin擁有一個組件團隊,旨在爲一些最受歡迎的第三方庫創建/維護質量綁定。你可以看到這裏大多數他們的工作:

https://github.com/xamarin/XamarinComponents

注:這些只是開源組件。此外,各個團隊成員還在個人github上建立了許多綁定。

還有一個完整的組件商店,你可以搜索在Xamarin工作流行的第三方庫:

https://components.xamarin.com/

否則,你可以搜索的NuGet爲Xamarin兼容包。可悲的是,在我知道的NuGet中沒有很好的過濾器。

https://www.nuget.org/

如果有不被組件團隊約束庫,一般的社區已經建立或者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論壇的話題!

+0

謝謝,這有助於。 – AlexVPerl