Since its first development releases in 2004, Novell’s Mono effort has aimed to bring Microsoft’s .NET to Linux.
Now Novell is turning the tables and bringing Linux to .NET developers using Microsoft Visual Studio IDE
Mono Tools for Visual Studio is an add-in module for Microsoft’s popular IDE, enabling developers to build, port and deploy their .NET application on Linux. The new Mono Tools add-in goes beyond what Novell has previously offered with its MonoDevelop IDE and provides a bundled mechanism for Microsoft developers to package up their .NET application into Linux software appliances.
“We want to make it a lot easier for Windows developers to get their hands dirty on Linux, deploy on Linux and debug their software on Linux,” Miguel de Icaza, Mono project founder and vice president of developer platforms at Novell, told InternetNews.com. “We’re trying to eliminate the barriers to adoption for Mono and Linux and address the developer concerns that we’ve heard over time.”
One of those developer concerns revolves around the difference between native .NET development using Visual Studio for Windows servers versus deploying .NET applications on a Linux server. De Icaza explained that the Mono Tools Visual Studio add-in provides features to Microsoft developers that identifies differences between native Windows .NET and Mono for Linux code.
As part of the Windows .NET code analysis, Novell is leveraging its MoMA (Mono Migration Analyzer) tool first introduced as part of the Mono 1.2.3 release. MoMA examines existing .NET executables and determines if all of the items necessary to run are available in the Mono installation.
“MoMA is now integrated with Visual Studio, so it shows up in a pop-up window so that developers can go through their source code to change or fix in order to make it portable,” De Icaza said.
Additionally, Mono Tools for Visual Studio provides users with the ability to directly build their own .NET application software appliance using Novell’s SUSE Studio. The SUSE Studio is a software appliance building service that can build virtual or physical operating system images for application deployment.
“The idea is that Microsoft developers shouldn’t even care that the target server is not a Windows server and that it’s Linux,” De Icaza said. “The vision is to make it completely transparent.”
Visual Studio traditionally has been the most widely used tool by Microsoft developers for building .NET applications, yet it has taken five years for Novell’s Mono effort to provide an add-on. The reason behind the five-year gap, according to De Icaza, has a lot to do with Microsoft’s own licensing for Visual Studio add-ins.
“The Visual Studio partner program used to have a restriction that you could only develop plugins for Windows and were not allowed to target other OSes, like Linux,” De Icaza said. “So it used to be forbidden and so we didn’t get into program for that reason. Two years ago, they changed the license.”
De Icaza noted that for over a year, Novell has been working on developing the new add-in, which required a significant amount of effort to make sure all the debugging tools worked. He also added that work needed to be done on figuring out how to do the Linux packaging and ensure a seamless integration with Linux server deployments.
iPhone development not included
One thing that Novell is not including in the Mono Tools for Visual Studio add-in is support for targeting Apple’s iPhone. Earlier this year, Novell launched MonoTouch, which is an effort to bring .NET applications to the iPhone.
Moving forward, De Icaza’s plan is to continue to evolve Mono, so that Linux will remain a viable target server platform for .NET developers.
“The most important thing we can do is to keep up with what Microsoft is doing in terms of .NET 4.0,” De Icaza said. “Our Mono 2.8 release should come out around the same time as Microsoft .NET 4.0 and when that comes out, we’ll have something that is on par with it.”