Xamarin 3.0 brings iOS visual design to Visual Studio, cross-platform XAML, F#, NuGet and more

Xamarin has announced the third version of its cross-platform tools, which use C# and .NET to target multiple platforms, including iOS, Android and Mac OS X.

Xamarin 3.0 is a big release. In summary:

Xamarin Designer for iOS

Using a visual designer for iOS Storyboard projects, you can create and modify a GUI in both Visual Studio and Xamarin Studio (Xamarin’s own IDE). The designer uses the native Storyboard format, so you can open and modify existing files created in Xcode on the Mac. The technology here is amazing, since you iOS controls are rendered remotely on a Mac, and transmitted to the designer on Windows. See here for a quick hands-on.

Xamarin Forms

Xamarin has created the cross-platform GUI framework that it said it did not believe in. It is based on XAML though not compatible with Microsoft’s existing XAML implementations. There is no visual designer yet.

Why has Xamarin changed its mind? It was pressure from enterprise customers, from what I heard from CEO Nat Friedman. They want to make internal mobile apps with many forms, and do not want to rewrite the GUI code for every mobile platform they support.

Friedman made the point that Xamarin Forms still render as native controls. There is no drawing code in Xamarin Forms.

“The challenge for us in  building Xamarin forms was to give people enhanced productivity without compromising the native approach. The mix and match approach, where you can mix in native code at any point, you can get a handle for the native control, we’re think we’ve got the right compromise. And we’re not forcing Xamarin forms on you, this is just an option,”

he told me.

Again, there is a quick hands-on here.

F# support

F# is now officially supported in Xamarin projects. This brings functional programming to Xamarin, and will be warmly welcomed by the small but enthusiastic F# community (including, as I understand it, key .NET users in the financial world).

Portable Class Libraries

Xamarin now supports Microsoft’s Portable Class Libraries, which let you state what targets you want to support, and have Visual Studio ensure that you write compatible code. This also means that library vendors can easily support Xamarin if they choose to do so.

NuGet Packages

The NuGet package manager has transformed the business of getting hold of new libraries for use in Visual Studio. Now you can use it with Xamarin in both Visual Studio and Xamarin Studio.

Microsoft partnership

Perhaps the most interesting part of my interview with Nat Friedman was what he said about the company’s partnership with Microsoft. Apparently this is now close both from a technical perspective, and for business, with Microsoft inviting Xamarin for briefings with key customers.

Related posts:

  1. Hands on with Xamarin 3.0: a cross-platform breakthrough for Visual Studio
  2. Microsoft Build: Windows 8.1 for developers, Visual Studio 2013, Xamarin for cross-platform
  3. Xamarin Evolve: developers enjoy the buzz around cross-platform coding with C#
  4. Infragistics building cross-platform development strategy on XAML says CEO
  5. Xamarin vs Titanium vs FireMonkey: should cross-platform tools abstract the GUI?

3 comments to Xamarin 3.0 brings iOS visual design to Visual Studio, cross-platform XAML, F#, NuGet and more

  • paul

    Ok, there’s the support for F#. Now, what about VB?

  • tim

    The Roslyn compiler project will let you paste VB as C# as I understand it. One solution!


  • Phil

    Xamarin has never shown any interest in VB.NET. For example, the latest Mono 3.4 that powers the new Xamarin Studio 5.0 on OS X includes the latest version 3.4 C# compiler and version 3.1 F# compiler, but only a version VB.NET compiler whose copyright year has not been updated since 2010. That should give an idea of the state of affairs.

    In Xamarin Studio, I see many new F# templates, almost at parity with C#, but only 3 measly VB.NET templates that have probably been around for years (Empty Project, Console Project, Gtk# 2.0 Project).

    Some of that is historical, as the relatively small number of developers who embraced Mono on Linux generally used C#. And de Icaza has long promoted C# as the ideal cross-platform language.

    There are probably more VB.NET developers than anyone cares to admit (even they don’t admit it sometimes), but VB.NET feels a lot like its one-time competitor, Delphi: a language many are nostalgic about but few select for new projects.

    I’ll admit I don’t fully get the part of Xamarin’s strategy that makes them support Visual Studio when they have such a modern, clean IDE of their own. One thing that sets mobile developers apart (from us) is that they’re young and mostly use Macs. Most probably don’t even have Visual Studio experience (never needed it). So for a company as fast-moving and successful on their own as Xamarin, it doesn’t seem quite in character (or necessary) to cater to the graybeards.