I currently have a native Android AND iOS library that contains different "modules" composed of models (the smallest part), views and controllers (the biggest part).
I would like to start writing apps using xamarin without losing all the work I did on this library. But it seems like if the native library binding is more suited for utilities libraries, or libraries that only contains 1 part of the MVC components, not the 3 which are depending from each other.
So after reading the Xamarin documentation about cross platform development and native library binding, I think that I should rewrite all the model part of my library using a Xamarin C# library, I would drop Core Data on iOS, and ORM Lite on Android, and instead I would use the SQLite library provided. This job does not sounds to big, so it is not a problem (and on long term it will reduce the maintenance effort). But now comes the problem/question, when my models will be C# classes, how will I be able to use these models in my controllers which are still written using Obj-C and Java ? Can I obtain header files from the C# models classes that I can import in the iOS / Android code ? Or do I also need to rewrite the controllers using C# (that would be a no-go to using Xamarin for me) ?
I am open to any migration suggestion/strategy that would avoid losing multiple months of work, so feel free to answer if you have one :)