Xamarin tool lets devs build .Net apps for Mac OS X
Code for Macs the Microsoft way
Cross-platform developer tools vendor Xamarin has released Xamarin.Mac, a new toolkit that allows developers to build applications for deployment to Apple's Mac App Store using Microsoft's C# language and the .Net Framework.
"With the release of Xamarin.Mac, it is now possible to build apps in C# for over 2.2 billion devices worldwide: 1.2 billion Windows devices, and using Xamarin, 1 billion Android, iOS, and Mac devices," the company said in a blog post on Wednesday.
Like Xamarin's other products, the new tools are based on the Mono Project, an open source implementation of C# and .Net with a complex history. It was first developed by a company called Ximian in 1999, but later came under Novell's wing when Novell acquired Ximian in 2003.
After Novell itself was snapped up by Attachmate in 2011, Ximian cofounders Miguel de Icaza and Nat Friedman broke off and formed a new company – Xamarin – and proceeded to release Mono-based cross-platform developer tools for Android and iOS.
With the launch of Xamarin.Mac, the company extends its reach to OS X, allowing developers to use the same techniques to develop Mac apps as they would to build mobile apps using Xamarin's earlier tools.
Because Xamarin's products for Android, iOS, and OS X are all based on the same language, runtime, and libraries, developers can even share substantial amounts of code between apps for all three operating systems.
While Xamarin.Mac apps may share internals with apps for other platforms, however, they look and feel like native OS X applications. Developers build UIs for their apps using Apple's XCode Interface Builder, so the resulting apps use native controls and widgets.
On the back end, Xamarin has exposed the native Cocoa APIs in such a way that coders can access them using the C# language, rather than Apple's preferred Objective-C. Developers are also free to mix Cocoa system calls with existing .Net libraries, giving them access to a wide range of tools for rapid development.
This first release of Xamarin.Mac isn't perfect. Currently it lacks a 64-bit runtime, and therefore it can't access certain OS X frameworks that only work in 64-bit mode. Xamarin.Mac apps can't access Apple's CommonCrypto cryptography stack, either, and the platform does not yet support Mac OS X Binding Projects, so developers can't easily connect C# projects with native Objective-C libraries that were created for OS X.
All of these features are on Xamarin's roadmap, however, and the company says to expect "frequent" updates.
Although Mono is an open source project, Xamarin.Mac grants developers a commercial license to the Mono runtime and associated libraries, freeing them to deploy their apps as they choose (including to the Mac App Store, which explicitly forbids software licensed under the Gnu GPL).
That license doesn't come cheap, though. Although a free trial is available, a one-user license for personal use costs $399, and it only allows distribution via the Mac App Store. Enterprise licenses allow developers to distribute their apps directly, but they start at $999 per seat and go up to $2,499 per seat for a license with bundled priority support. ®