Microsoft’s free distribution of Xamarin makes case for C# mobile apps

Developers who have invested in C# may have been questioning how useful this knowledge would be in the long run. After all, most technologists are familiar with the decline in desktop computer orders (below) coupled with the increase in mobile devices. And C# hasn’t been a first choice for developers targeting the mobile device market. No one would suggest that this means that there will be no market for C#, however the marketplace seemed to growing away from it. alt text *source: https://www.statista.com/chart/4647/pc-shipments-worldwide-sales/ *

With the acquisition of Xamarin, however, Microsoft is making a case that C# is a viable technology in the mobile device marketplace, and it committed to supporting the technology. And by offering Xamarin at no cost to individual developers and small development teams, Microsoft means to attract developers with low barriers to entry. Xamarin is now a free addition to Visual Studio Community for Windows platforms, while Xamarin Studio is an option for developers using Macs.

For those unfamiliar with Xamarin, the case for it is that it provides a potential solution to address this increasing market fragmentation. C# developers are offered the opportunity to code once, and Xamarin will allow a certain amount, potentially a high amount, of code reuse across platforms. Additionally, Xamarin offers the promise of using C# for all platforms.
The other options for the developer looking to target app market are these: learn Objective-C and Swift to target the Apple market, focus on Java and target Android, or try cross-platform by using one of the black-box options – and potentially release applications that don’t take advantage of native features, perhaps crippling viability.

Success will depend upon Microsoft’s ability to continue to attract developers. There is currently a large cadre of developers who know C#. According to the Stack Overflow 2015 Developer survey, C# has consistently maintained its ranking as the fourth most popular development technology. So, there are a lot of C# developers out there, and with Xamarin they and Microsoft are better positioned for a future where more users are focusing attention on mobile devices.

alt text Source: Stack Overflow 2015 Developer Survey (http://stackoverflow.com/research/developer-survey-2015#tech)

The upshot is that current C# developers can plausibly develop cross-platform – create projects that will run on Windows, Apple, and Android devices. It also means that C# is in play as a choice for new and self-taught developers. To be fair, there will need to be an investment in learning about some of the specific ways that the three platforms implement their facades. Individual developers interested in exploring Visual Studio Community with Xamarin can setup a Windows development environment with little to no investment (this configuration will target windows apps and Android, targeting Apple requires a Mac – though it can be available through remote connection).

The author was able to run Visual Studio with Xamarin on an inexpensive (under $400) windows laptop equipped with an AMD A8 processer and 8 GB of RAM. Device emulators ran fine, although they load much more quickly on a beefier workstation (to be fair, a developer can leave an emulator running and keep redeploying updated code to the same emulator instance in most cases - which means that deploying code for a quick debug/test run doesn’t have to be time intensive).

Some other requirements:

  • Windows Pro version operating system (other editions don’t support Hyper-V)

  • CPU that supports Hyper-V (most modern CPU’s do)

  • Visual Studio 2015 community (2012 & 13 also supported, but not Express/free versions)

Developers with this basic setup can learn more at Microsoft’s Virtual Academy Xamarin page. It is a good place to learn more about Xamarin, Visual Studio, and the basics of coding a cross-platform project.