Visual Studio - Windows Desktop, Universal Windows Platform, iOS, and Android

In the world of Marvel Comics Silver Surfer is a metallic skinned humanoid who travels the universe seeking out new worlds for Galactus, the planet devourer, to consume and ultimately destroy. He is informally part of a group of super beings who have served as the Herald of Galactus, so if you want to know where Galactus intends to go you should find out where Silver Surfer has been.

For years now Microsoft’s most obvious tell has always been Visual Studio, remember years ago when Microsoft convinced us the future of web development was going to include Silverlight? This was obviously incorrect, but we all knew this was not the case because as Microsoft was telling us everything was fine, the teams developing for and within the ubiquitous IDE were almost entirely mute about the now defunct plugin. The PDC that year further confirmed our suspicions as it was full of HTML5 talk which everyone, in hindsight, knew was the right thing to do. So while Microsoft has many direct messages that make the developer masses happy, Visual Studio tends to tell a more direct truth about the future of our industry.

What is Visual Studio heralding?

The overarching message Visual Studio has not changed much:

  • Industry leading full-featured integrated development environment
  • Mobile App development
  • Web and cloud development
  • Ecosystem with thousands of extensions
  • Free for individual developers, open source projects, academic research, education and small pro teams
  • Multi-language support for C#, C++, JavaScript, Python, etc

But while Microsoft rightly makes the case for the ease and flexibility of Windows Universal apps, there is a tacit acknowledgement within Visual Studio that the mobile platform wars have become a two horse race between iOS and Android.

Share C# code across platforms

For developers like me who are embedded in the .NET stack, the preceding diagram speaks clearly about the future intent of Microsoft development. We are being invited to create native apps using C# across iOS and Android, and share that code across device platforms with either shared projects or portable class libraries … did I mention this is 100% native APIs? If that were not enough to convince you they literally install a Hyper-V based emulator for Android with the installation.

Emulator For Android

Then, finally, I get word of another cross platform project called Windows Bridge for iOS (Project Islandwood):

Windows Bridge for iOS (also referred to as WinObjC) is a Microsoft open source project that provides an Objective-C development environment for Visual Studio/Windows. In addition, WinObjC provides support for iOS API compatibility.

There is also apparently a Windows Bridge for Android on the  way, I am old enough to remember similar tools being produced by Microsoft to encourage developers to move from Visual Basic 6 to VB.NET, my experience with that particular tool was rather bad, but that was, happily, a different time.

So what is the message from this Herald of Microsoft? We are being asked, no begged, to develop all our Android and iOS apps with Visual Studio, and while you are there consider how easy it would be port it to Windows 10 (mobile, desktop, Xbox, Hololens). I am not sure how realistic this is, but I am willing to suggest that most developers who come from the .NET universe see this as a genuine opportunity to have first class apps on multiple operating systems. Neither Google or Apple are motivated to do anything like this I am just glad that Microsoft (together with Xamarin) are making this a possibility.

Related Links