Xamarin has long been one of the most popular tools for building cross-platform mobile applications and today, the company is taking a major step forward by launching version 3.0 of its service. The highlights of today’s release are the launch of Xamarin Designer for iOS, which can almost completely replace the Xcode interface builder for designing iOS apps on Mac and Windows, and Xamarin.Forms, an API for building shared user interface code for iOS, Android and Windows Phone apps.
As Xamarin CEO and co-founder Nat Friedman told me, the service has now signed up over 600,000 developers and he believes this is the best ever release of Xamarin yet.
Until now, the C#-centric Xamarin only offered its user interface designer for Android, but over the last two years or so, the company worked on building an iOS version, as well. Designer for iOS can run both in Xamarin’s own Studio IDE and in Visual Studio. It’s fully compatible with Apple’s own storyboard format and supports auto layout, too.
In Friedman’s view, it’s better than Xcode in many respects. He especially noted that Designer features more intuitive event handling, for example, and that you can always see a live preview of your custom controls that aren’t just approximations by pixel-perfect representations of the final product. The main draw, however, is obviously that Xamarin now allows developers on Windows to build iOS apps without the need to use a Mac.
Why did it take so long for Xamarin to launch this, given that Designer for Android launched in 2011? Friedman argued that his team “took a very ambitions approach by giving you this pixel-perfect design and we wanted to ensure that when we launched, you could do this with Visual Studio and on Windows, too.”
Xamarin.Forms is also a major release for the company. Traditionally, Xamarin was always a bit different from other cross-platform development tools because it separated the application logic from the interface. You could easily share your application’s code between platforms, but you would generally develop a native interface for each platform. As Friedman notes, though, some of Xamarin’s customers have big apps and don’t want to write a new user interface for each screen on multiple platforms.
With Forms, they get an API that gives them access to about 40 different controls (think buttons, progress bars, sliders, etc.) that are available across platforms (and they can also create their own controls). If you want to, you can also easily mix and match between using Xamarin.Forms and the native UI. When the app is compiled, Xamarin will render the native code, and there is virtually no performance penalty for using this API abstraction layer.
You could build a complete app using these controls, but Friedman expects that this will especially appeal to novice developers on its platform and companies with large mobile enterprise apps.
As part of today’s update, the company is also adding support for building iOS and Android apps using the F# functional programming language, as well as support for the .NET package management system NuGet and Visual Studio 13’s Shared Projects for making cross-platform code sharing easier. Xamarin now also supports Android 4.4’s experimental ART runtime.
In addition to all of these updates, Xamarin also today announced that it has acquired a division of Clarius Consulting, a Buenos Aires, Argentina-based company that is a big player in the .NET consulting world. Xamarin has acquired the group that does most of Clarius’ Visual Studio work, and Friedman tells me that the team will now work full-time on Xamarin’s products (Xamarin itself has no interest in doing any consulting, Friedman stressed).