Cross-Platform Coding for Visual Studio Developers via Mono

149
Article Source Community-cation
November 10, 2009, 5:41 am

One of the big challenges facing Linux development is the straightforward issue of actually having developers to write the code.

As more academic and vocational training centers add curriculum that includes programming for Linux and free software projects, this has become less of a problem in recent years. But training new developers takes time, and meanwhile there’s a huge resource of existing Windows developers out there who could very easily switch to Linux or add Linux development to their skillsets.

What’s stopping them? According to Miguel de Icaza, Mono project founder and vice president of Developer Platforms at Novell, “the learning curve [for Linux programming] was too steep” for Windows developers. de Icaza and the rest of the Mono team at Novell have just announced a solution that will greatly smooth out this learning curve: Mono Tools for Visual Studio, a new add-in for the popular Windows IDE that will enable C# and .NET coders to use VS directly to create apps for Linux, as well as for Unix and Mac OS X.

That’s a pretty big deal, though not necessarily for existing Linux developers. This tool “is aimed squarely at the Windows development community,” de Icaza said in an interview this week.

Instead of building an app in Windows, then going through all of the hassle of porting it in the usual sense by using new IDE tools to code, test, and debug applications for Linux, programmers can now stay in VS and perform all of those tasks to build a Linux application. Porting to Linux has been made a lot easier, if this add-in delivers on its promise.

Getting these applications running on Linux has been made easier, too. Mono Tools also features integration with SUSE Studio Online, Novell’s packaging and appliance-building tool. de Icaza highlighted this feature in his description of Mono Tools, indicating that it instead of building an application to run on an existing Linux server, programmers could build a completely self-contained Linux software appliance dedicated solely to that application.

That benefit should also entice Windows developers to reconsider building apps for their own native Windows platform. de Icaza described the steps that are familiar to any Windows sysadmin and developer: configuring an app, installing it on a Windows machine, rebooting, tying in the database, rebooting again… all of this complicated effort is bypassed by using a self-contained Linux appliance.

Given Novell’s efforts in putting this project together, it comes as little surprise that openSUSE and SUSE Linux Enterprise Server (SLES) will initially be the big beneficiaries of any ported applications. Mono Tools not only has integration with SUSE Studio, it also provides automated packaging of apps for SLES and openSUSE. Other distros should also be able to benefit from Mono Tools, de Icaza added, given that C# and .NET apps tend to to be isolated from distribution-centric code.

When I spoke to de Icaza and his colleague Joseph Hill, Mono Product Manager at Novell, I had to ask: is there really a big demand for this kind of tool? After all, the common perception is that Windows developers are happily coding away for their platform of choice, and not interested in cross-platform development. That, it seems, could be a misperception.

de Icaza and Hill pointed out that the very beta program for Mono Tools seems to abuse that notion: nearly 4,000 developers signed up to test drive Mono Tools.

“From the demand for the beta,” de Icaza said, “we are seeing a very strong desire to use .NET and target other platforms.”

Mono Tools for Visual Studio is available now, in three editions: Professional Edition (individual) for $99, Enterprise Edition (one developer in an organization) for $249, and Ultimate Edition for $2,499, which provides a limited commercial license to redistribute Mono on Windows, Linux, and Mac OS X and includes five enterprise developer licenses. All product versions include a one-year subscription for product updates.

Visit the Mono Tools for Visual Studio site to learn more and download a free 30-day trial, or visit the Mono Project.