James Montemagno: Xamarin, C#, and the .NET Developer
Microsoft’s acquisition of Xamarin is one of the biggest stories to come out of the development world recently. After all, it could change the way you develop apps for mobile devices from here on out.
We recently checked in with Xamarin developer evangelist and insider James Montemagno for his thoughts on this groundswell movement.
"What has been one of the most positive outcomes of Microsoft’s acquisition of Xamarin?"
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.
"What are the primary benefits for developers using Xamarin?"
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.
"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.
"From your perspective, which do you prefer and why: to work with Xamarin on a particular platform or language to do your initial development?"
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.
"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.
James Montemagno is a Developer Evangelist at Xamarin. He’s also a frequent speaker at Visual Studio Live! events.
Posted by Lafe Low on 06/16/2016