Can Xamarin's New Mac Tool Lift C# Above Objective-C?

Xamarin has announced Xamarin.Mac, a new tool that enables developers to use C# to build Mac OS X apps.

Will Xamarin's new tool Xamarin.Mac help boost the use of Microsoft's C# for building mobile applications? Well, Xamarin certainly hopes its technology for building Mac apps with C# will do just that.

And to a lesser extent, Microsoft is probably somewhat positive on the new technology itself, as it gives C# developers another outlet for their skills. It also could help to move C# higher on the list of most popular programming languages. Right now, Objective-C, which is commonly used to build iOS and Mac OS apps, ranks No. 3 and C# ranks No. 5 on the TIOBE Index of the most popular programming languages.

TIOBE reports that Objective-C is on its way to repeat as its "language of the year." According to a statement on the TIOBE Website, "There is only 1 month left before TIOBE will announce the programming language of the year 2012. Objective-C continues to rise. Other mobile phone application languages such as C, C++ and Java are rising too but not fast enough to compete seriously with Objective-C. In fact it seems that if you are not in the mobile phone market you are losing ground."

Xamarin.Mac enables developers to use C# to build self-contained Mac OS X apps suitable for publication in the Mac App Store. With the release of Xamarin.Mac, it is now possible to build apps in C# for more than 2.2 billion devices worldwide: 1.2 billion Windows devices and, using Xamarin, 1 billion Android, iOS, and Mac devices, Xamarin said in a Dec. 10 post on its Website.

Xamarin.Mac allows developers to build fully native Cocoa applications for Mac OS X with C#. Xamarin.Mac exposes native platform APIs, enabling developers to build sophisticated apps that integrate with platform conventions and leverage the rich spectrum of platform-specific functionality that makes Mac apps distinctive.

"Xamarin.Mac helps me tap into the Mac market with better, faster results," said Jon Lipsky, TouchDraw for Mac creator, in a statement. At Elevenworks, Lipsky delivered a Mac version of his top selling Xamarin-based iPad and Android vector-drawing app in September 2012, achieving 76 percent shared code and a five month time-to-market.

The majority of TouchDraw's users use the app for a wide range of business purposes where they want to capture information in the field and then continue working on content back at the office or at home.

"TouchDraw for Mac is a win for my customers because they can work seamlessly across mobile and desktop devices, and a win for me because I can now tap into the Mac App Store market," Lipsky said. "Xamarin.Mac helps me build more, faster for that market."

Unlike other cross-platform development toolkits that target OS X, Xamarin.Mac enables developers to build anything that they can build with a conventional Objective-C-based Cocoa application — from compelling CoreAnimation-enabled user interfaces to custom menu bar items. Under the hood, developers can choose the combination of .NET library functionality and native Mac OS X APIs that works best for their application.

"We decided to build Xamarin.Mac because our existing customers came to us and told us that they wanted to create Mac experiences with C#," Xamarin said. "Now, you can use the same language and framework that you love to create native applications for all major consumer platforms."

National Instruments recently released the LabVIEW-based Data Dashboard for iPad on Xamarin's platform and plans to use Xamarin.Mac to modernize future releases of NI LabVIEW for Mac, Xamarin said.

"Our flagship system design software—NI LabVIEW—has been supporting our Mac customers for more than 27 years," said David Fuller, vice president of software research and development at National Instruments, in a statement. "With Xamarin, we can save a tremendous amount of development time and modernize our LabVIEW for Mac desktop capabilities in the future."

Xamarin offers a free Xamarin.Mac trial and over 40 sample apps for developers.