Xamarin has announced a Unified API for Xamarin.iOS and Xamarin.Mac which allows developers to support both 32-bit and 64-bit applications with the same source code (as well as binaries) on both Mac and iOS.
This update is the result of more than a year of development and brings the following features to Xamarin.Mac:
New 64-bit Frameworks
Support for lighter mobile profile
Easier code sharing between Mac and iOS
According to Miguel de Icaza in his announcement on the Xamarin blog, the Unified API overcomes two major flaws in Xamarin.iOS and Xamarin.Mac APIs:
They did not support 64 bit applications
They made iOS and Mac code sharing cumbersome
As well as introducing a wrapping layer to address the 32/64-bit split, Xamarin has also dropped the namespace prefixes. This simplifies sharing code between iOS and Mac apps.
Here is an example to demonstrate the improvement. Previously you would have used:
Now, with the Unified API, this becomes:
Unified API means that Xamarin is now able to support all Apple's 64-bit-only frameworks including those in Yosemite. It also provides the ability for users to adopt Xamarin’s Mobile profile, used both on Android and iOS, and which has been designed to be linkable and have a much smaller footprint on disk than the regular desktop edition.
As Miguel de Izcaca points out in another blog post, this is convenient for applications going into the AppStore or for devs who want to share more code across Android and iOS.