Developing in Visual Studio is more complicated than it used to be. As Visual Studio 2015 approaches, Apache Cordova tools and open-source efforts around the .NET ecosystem open an array of new cross-platform and cross-OS possibilities for Windows developers looking to branch out across devices and onto Linux and Mac.
As Microsoft’s flagship IDE grows more malleable in the platforms it targets and the tooling it offers, developers must evolve along with it. Third-party tools around Visual Studio are changing as well, and according to Ivo Milanov, CTO of .NET development UI control and data visualization component provider Nevron, Visual Studio tools are moving toward universal controls and components available to all OSes and major .NET environments from a single codebase.
“If you have an application or a user interface written with [current] controls for Windows Forms, that application cannot run from the same codebase under Mac or Linux,” Milanov said. “Future development efforts will be targeting the .NET Framework, which we hope will gain traction in light of .NET actually being adopted in other operating systems such as Mac and Linux.”
A brave new cross-platform world
As Microsoft and vendors such as Xamarin work to port the .NET Framework to other operating systems, .NET developers are faced with a few options. For a developer who’s spent his or her entire career developing for Windows, this challenge may appear daunting. Yet according to Milanov, developing .NET applications in Visual Studio for Linux or Mac isn’t as difficult as one might think.
“It’s very easy for Windows Form developers to start making cross-platform applications, provided they have the proper tools,” Milanov said. “All the widgets can integrate into Windows Forms projects, so this Windows Forms application is actually embedding that content inside of it.”
In the direction Visual Studio is heading, Milanov likens its cross-platform development possibilities to HTML5. As far as simplicity is concerned, he believes Visual Studio 2015 makes cross-platform development as simple as it can get, with the first platform-independent portable class library for UI development under .NET.
“This is a cross-platform development environment, just like HTML5, so it doesn’t matter whether we’re developing in Visual Studio for Windows Forms,” Milanov said. “It’s automatically transferrable without recompiling to Mac. So if HTML5 offered Web developers the ability to have a page developed in Visual Studio that you can run everywhere, it’s the same provided you integrate the DLL [dynamic link library] you built with Visual Studio and use Xamarin for Mac or a MonoMac project to target the Mac or the Silverlight environment. It doesn’t matter if you simply use that DLL.”