What's In Xamarin for Visual Studio Developers?
Developer evangelist James Montemagno explains the benefits that developers will derive in the coming months as a result of the company's acquisition by Microsoft earlier in the year (one hint: open source). He also doesn't hide his affinity for a certain mobile platform.
Xamarin's line of tools for developing mobile apps has been popular enough and mature enough that the company became a Microsoft acquisition target earlier this year, and since then, the tools have been incorporated into the Visual Studio tool suite. In this interview with Lafe Low, Xamarin developer evangelist James Montemagno a explains the benefits that developers will derive in the coming months as a result of the company's acquisition by Microsoft earlier in the year. He also gushes unabashedly about his affinity for a certain mobile platform.
Lafe Low: What has been one of the most positive outcomes of Microsoft's acquisition of Xamarin?
James Montemagno: Microsoft's acquisition of Xamarin has been a big win not only for Xamarin developers, but for every developer looking to go mobile.
Some of the largest announcements have been that the Xamarin platform is now included in Visual Studio, including the Community Edition, at no additional cost. This means anyone and everyone can start building beautiful native iOS, Android, and Mac apps all in C# for free. What's probably the bigger win for the .NET community was the open sourcing of Xamarin SDKs for iOS, Android, and Mac, as well as our incredibly popular Xamarin.Forms library for building cross-platform user interfaces, and the launching of http://open.xamarin.com.
LL: What are the primary benefits for developers using Xamarin?
JM: There are several key benefits to using Xamarin to build mobile applications for iOS, Android, and Mac. First, you're creating real native applications on each platform with 100 percent API access and fast native performance on each platform. Developers get to do this all from C# or F#, both extremely powerful and amazing languages, right inside of Visual Studio on a PC or Xamarin Studio on a Mac.
The beautiful part is developers get to access all of their favorite .NET libraries and create a huge shared code library that all of their mobile apps can use. This means apps can share anywhere between 70-90 percent of their code across all platforms. The mobile app users get lovely applications with awesome features and run completely native on their platform they are using.
LL: Is Xamarin truly the secret sauce to developing apps across any platform?
As a mobile developer who has been developing with Xamarin since 2011, I think the secret sauce is the Xamarin platform was built with a native-first approach to cross-platform development. This means Xamarin makes it a priority to ensure anything an Objective-C, Swift, or Java developer could do on iOS or Android could also be done by a C# developer using Visual Studio with Xamarin. It also means that if there's a feature I want to implement or library I want to use, I have access all in C# with powerful C# features. It's pretty fantastic.
LL: From your perspective, which do you prefer and why: to work with Xamarin on a particular platform or language to do your initial development?
JM: If you follow me online, you know I absolutely love Android. It's a crazy, beautiful, complex, and all-over-the-place platform I love to tweak and try out new things. And I've really fallen in love with Material Design. That's where I love to spend a lot of my time, but I love all the platforms. Xamarin supports F# very well, and VB developers can even build Xamarin apps using Xamarin.Forms and Portable Class Libraries (PCLs).
For me it has always been about the expressiveness and elegance of C#. There is so much awesome packed in there like async/await, Linq, and all the amazing C# 6 features. I can't wait to start using C# 7 and take advantage of pattern matching, new tuples, and more in my apps on iOS and Android.
LL: What's next for Xamarin? What do you see happening over the next couple of years?
It's an extremely exciting time right now for Xamarin and Xamarin developers. The open sourcing of the Xamarin platform means anyone can start contributing and start adding features. The tooling, integration, libraries, and plugins will get stronger and simplify development for all mobile developers. It's also an exciting time to be a .NET developer who wants to go mobile.
About the Author
Lafe Low has been a technology editor and writer for more than 25 years. Most recently, he was the editor in chief of TechNet magazine. He has also held various editorial positions with Redmond magazine, CIO magazine and InfoWorld. He also launched his own magazine entitled Explore New England, and has published four editions of his guidebook The Best in Tent Camping: New England.