Nat Friedman and Joseph Hill from Xamarin join us for several big announcements: Xamarin Studio, Xamarin Component Store, iOS development in Visual Studio, and a new free Starter edition.

Download / Listen:

Herding Code 158: Nat Friedman and Joseph Hill announce Xamarin 2.0

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Show Notes:

  • (00:45) Nat begins by catching us up on Xamarin’s first eighteen months.
    • Xamarin’s focus is on helping developers build mobile apps across multiple platforms.
    • They have 230,000 developers in their community, adding 700-800 per day, with over 12,000 paying customers.
    • They’ve had top iPad (Bastion), music apps (Rdio) and some large mission critical line of business apps.
    • What’s special about their platform is that you can target iOS, Android, and Windows Phone, share C# code across  all those platforms, and still deliver a native experience.
    • Nat say’s they’re the overnight success that took ten years to prepare, referencing the ten years they took to build Mono.
  • (03:20) Xamarin’s value proposition and customer base
    • Kevin asks which of their value propositions (.NET based development, cross-platform development) resonates more with users.
    • Nat says that many developers are initially attracted by C# development, although that’s not always the case (referencing an internal app at GitHub written by Objective-C developers who just liked sharing code between platforms).
    • Nat says there’s no real way to be a mobile developer now without having a cross-platform strategy – iOS might have looked like the only platform that mattered a few years ago, but now Android is more popular and Windows Phone is growing in popularity.
  • (04:47) Code reuse strategy
    • Kevin asks how the code reuse happens, since these are true native applications.
    • Nat talks about different cross-platform strategies and says that they don’t believe in write once, run anywhere.
    • With Xamarin, you separate the backend and UI code and write specific UI code for each platform, although you still write it in C#.
    • Rdio has over 150,000 lines of code which are shared between iOS, Android and Windows which covers networking, caching, authentication, etc.
  • (07:55) First big announcement: Joseph Hill announces support for building for iOS applications in Visual Studio.
    • Nat says that you can have one Visual Studio solution targeting iOS, Android and Windows Phone, and step through the code with the full debugging support you’re used to.
    • How does the Mac support work?
      • Scott K asks if this means that you have to run Visual Studio on a Mac. Nat says that’s not necessary, you just need to pair your Visual Studio instance with a Mac – it just needs to be on the network somewhere. That’s required both to be able to sign releases and to meet Apple’s license terms.
      • Jon asks if this would work with a Mac Mini, and Nat says that’s a popular option.
      • Scott K asks about a "Mac in the cloud" option; Nat says they’re not planning that.
      • Kevin asks if several developers could share one Mac. Nat says that Apple’s requirement is that each developer is supposed to have a license, and Joseph says that the Apple toolchain is build for single user rather than server support.
      • Jon ask if he can start playing with iOS support without having a Mac, Joseph explains that you can install and look around a bit, but you can’t build or deploy.
      • Kevin asks about the Interface Builder interaction.
      • Kevin asks if it was incredibly painful to set up this support for Visual Studio.
  • (16:14) Second big announcement: Nat announces the release of Xamarin Studio.
    • Xamarin Studio runs on OSX, Windows, and Linux.
    • It’s based on Mono Develop, but it’s a completely new user interface with a lot of great new features.
    • Visual Studio Express users can’t install extensions so Xamarin Studio allows them to do Xamarin development, also it’s what all Mac users will be using.
    • Kevin asks if it’s a fork of Mono Develop.
    • Kevin asks if Xamarin Studio is open source.
    • Jon asks how it was developed. Joseph says it’s still C# Mono code using GTK. Developers write Xamarin Studio in Xamarin Studio.
    • K. Scott asks if you can target non-mobile scenarios. Joseph says you can still target ASP.NET, console, class libraries, etc.
    • Kevin asks what happens to Mono Develop. Nat says it continues as an open source project, and they’ll contribute back to it as they develop Xamarin Studio.
  • (22:35) Xamarin as a Mono producer and consumer
    • Jon says it’s interesting watching the evolution of the Mono / Xamarin efforts as they’ve moved from supplying the Mono framework to being both building Mono and building a business on Mono.
    • Nat says it’s great working for a customer base rather than an opinionated crowd. "A really good signal that we’re doing good work is that people give us money for it."
    • Joseph talks about their model, explaining how their Xamarin business works well with their role as stewards of the Mono project.
  • (25:28) Third big announcement: Nat announces the Xamarin Component Store
    • Nat says they see developers solving the same problems over and over again, giving an example of a common requirement for a signature capture control.
    • The Xamarin Component Store is a library of pre-built components. Nat gives an example of an Azure Mobile Service component.
    • It works in both Visual Studio and Xamarin Studio.
    • Components include documentation, screenshots, and sample projects. Nat says it’s conceptually similar to NuGet, but gives you a lot better experience and makes it easier to get started.
    • There are a lot of component vendors who are contributing both free and paid components, and Xamarin has also contributed several based on their experience in supporting Xamarin developers.
    • Jon asks how they handle cross platform, native user interface with components.
    • Kevin asks how people can submit components to the store.
    • Nat says he thinks this will really be a compelling feature of their platform, since developers won’t have to build everything from scratch.
    • Kevin asks they handle purchases and vender payments.
    • Kevin asks if the components are curated.
    • Jon asks about component support for Android and Windows Phone.
    • Kevin asks if it’s possible to create Xamarin components using native Objective-C components. Nat says they support both Objective-C and Java code reuse.
    • Jon says the design on the Xamarin Component store website looks great and asks about Xamarin’s approach to design. Nat says that they’re selling a good design experience and design is an important part of that.
    • Kevin says he like hover screenshots, Nat says he really likes the hover menu control.
  • (39:35) Fourth big announcement: Nat announces the free Xamarin Studio Starter Edition
    • You can use Starter Edition to get started, build, and deploy applications.
    • Starter Edition is limited to 32KB of IL code.
    • Jon loves the idea of limiting the free edition based on compiled code size.
    • Kevin asks what kind of app will fit in 32KB. Nat says that using a lot of DLL’s will put you over the limit quickly, but images aren’t content. About 20% of the apps in the store would fit under the limit.
    • Joseph says they didn’t want to limit based on features. Jon talks about the frustration people see in Visual Studio version based feature limitations. Nat says pricing is hard; ultimately they want to get a lot of people using Xamarin and they think this is a good way to do that.
  • (44:53) Jon asks about support for languages other than C#.
    • Nat says they see people using F# and Java (using IKVM).
    • Joseph says that C# is their main focus – all the documentation is in C# – but they’re happy to see people using other languages.
    • Kevin asks for JavaScript support. Nat says they think it’s hard to build large scale apps in JavaScript.
  • (47:35) Nat talks about their upcoming developer conference.
    • The first two days are focused completely on training.
    • The second two days feature some great talks by community leaders, user interface designers, and more. The entire team will be on hand to answer questions.

Show Links:

Bookmark and Share