Please don So bindings are a terrible idea in my experience.
For starters, it means that we will have to maintain binding libraries of our SDKs. This means that our SDKs and the dependencies we choose to use will be limited to what we can support in Xamarin. For instance our push libraries will be limited to the supported version of push that Xamarin ' t do s binding supports, the Android support libraries will be limited to what Xamarin supports, etc.
Taking this further down the road it means that in order to make any change in Xamarin we will also need to move those changes into the iOS and Android code bases . This creates a situation where we need multiple PRs, synchronization across multiple projects, and multiple experts to write, test, review, etc. It is a VERY hard thing to do if we want our SDKs to be usable by the Native platforms outside of Xamarin.
Finally bindings add a layer of complexity to the build process that is already brittle and complex. In order to compile an application using bindings the build chain must decompile the native code into .Net code, link the Xamarin code against the decompiled code, compile the Xamarin Code into .Net code, compile that .Net code into native platform code, and then link the native platform code against the native library that was originally bound against. This compiles about 80% of the time and deploys correctly less often. Using the Push bindings on the fh-dotnet-sdk we we get into situations where rebooting our workstation was required to clean the code pipeline sufficently.
|
|