Buying or upgrading Xamarin.iOS, Xamarin.Android or Xamarin.Mac?
Follow this link and get 5% off!

'"C#, it''s just not portable!"'

This announcement from Sony today looks interesting

Furthermore, Sony's expecting new games and apps to be available for the PlayStation Suite in spring, which means willing C# developers will be busy over the next few months should they wish to deploy their software across certified devices -- these currently include the PS VitaXperia Play,Tablet S and the upcoming Tablet P.

If it works out, expect to see it on the Playstation, too. I think it's running there (Mono), just not officially.

[update: Rob Conery hits the nail on the head with Apple hardware, esp around Mono and Windows development. This is pretty much what I've used for the last 4 years. Worth a read.]

The Java - or C - argument has always been "oh, but it's not portable". Well, here's a list of platforms and areas I can do using C#, the .NET framework (or Mono, my preference):

  • All the above Sony stuff

  • iOS (MonoTouch) in native code, using CocoaTouch. (For example: My Apps)

  • Android (Mono for Android / MonoDroid) in native code, using the Android APIs

  • Windows Phone 7 (MS tools). Windows Mobile 6.x (and older) and Windows CE (which there is a lot of)

  • Mac OSX (MonoMac) using Cocoa, including releasing apps on the Mac Appstore.

  • Linux using GTK#, and most likely other things (I don't keep up on Linux much)

  • Games on a host of platforms using Unity3D. This includes iOS, Android, Wii, PS3, XBOX, PC, Mac, and even the "web".

  • XNA (Windows, XBOX) - lower level, but from Microsoft.

  • Arduino, via the .NET Micro framework (Netduino)

  • Windows - Metro, Desktop apps (Win32), WPF, Silverlight (browser or not)

  • Windows Server - Services, Web apps (ASP.NET and MVC, CMS's like Umbraco) etc

  • The large number of Microsoft servers which are written in .NET (BizTalk, Sharepoint etc) or can use it (SqlServer, Exchange)

I think it's pretty safe to say that .NET isn't a Microsoft-only niche environment any more. It's everywhere, from the very big (HPC, AWS) to the very very small (Micro edition, or phones)

Feels good to be a Gangsta C# developer.