Product Reviews

Test-Driving MonoDevelop 2.0

Is the open source IDE for cross-platform .NET development a viable alternative to Visual Studio 2008?

MonoDevelop is a cross-platform, open source, integrated development environment (IDE) for developers crafting applications for the Mono framework. Sponsored by Novell Inc., the open source Mono implementation of .NET Framework allows developers to migrate existing .NET applications to Windows, Linux and Mac OS platforms.

The goal of the MonoDevelop project is twofold: enable .NET Visual Studio developers to retain their productivity when developing on Linux, and to ease migration of Visual Studio projects to the Mono platform. My hands-on look at MonoDevelop reveals a promising tool suite marred by some troubling flaws.

You can obtain the latest MonoDevelop 2.0 release as a prepackaged distribution for your Linux distro or you can download source tarballs. As of this writing, the Mac OS package is still incomplete and there's no official installation for Windows.

First Impressions
Getting MonoDevelop and Mono 2.4 framework installed and running might present a major challenge. After several unsuccessful attempts, I settled on openSUSE 11.1. Resolving inconsistencies between packages installed with the system and packages included in the MonoDevelop distribution was the biggest challenge-some seemingly successful installs did not produce running versions of MonoDevelop.

At first glance MonoDevelop 2.0 impresses. The user interface and IDE functionality should be quite intuitive for most .NET developers. The solution/project structure in MonoDevelop is similar to that in Visual Studio, which makes importing, navigating, setting up, configuring and building projects a seamless experience.


[Click on image for larger view.]
Figure 1. ASP.NET developers may be disappointed with MonoDevelop's limited feature set, which lacks a design view and CSS color coding.

C# is obviously the preferred language, with more templates available for C# projects than for Visual Basic.NET. Most features of the modern IDE are present: IntelliSense, refactoring, code snippets, document outline, split file view, code generation, project and file templates, multiple framework targeting, code metrics, integrated debugger, version control, visual designer (GTK# only) and a lot more.

To test the IDE, I decided to migrate an existing ASP.NET business application from Visual Studio 2008 to MonoDevelop. I was impressed by the import process and flawless compilation of most of the library projects. I encountered only one error-LINQ code valid for Windows compiler failed to compile for Mono.

Control Issues
Trouble started with the compilation of the Web application project. Custom controls and user controls declarations were not handled correctly in the generated designer files, and the compilation took a very long time to complete. I also ran across issues that made me question the robustness of the IDE. I saw several error dialogs while changing settings and exploring functionality, and experienced multiple IDE crashes and slowdowns in the course of my tests.

MonoDevelop shows a lot of capability and maturity for building class libraries. The IDE is fast and offers a large selection of desirable productivity features. On the other hand, Visual Studio 2008 offers complete Web development integration and unrivaled developer productivity. The documentation for both the Mono framework and MonoDevelop is rather sparse, and answers to questions about errors, compatibility issues and installation are not easy to find.

MonoDevelop 2.0

Open Source, supported by Novell
http://monodevelop.com
Price: Free
Quick Facts: Open source, cross-platform IDE focused on C# enables rapid development of Mono applications for Linux, Mac and Windows.
Pros: A familiar environment for .NET Visual Studio developers that helps to port their skills to developing in .NET on Linux.
Cons: Lacks a visual designer; stability and speed of the Mono IDE lag Visual Studio, and documentation and community support are less than robust.

About the Author

Krystyna J. Rosicka-Blonska, MSCD .NET, MS in Physics from Technical University of Gdansk, Poland, lives in Louisiana and works as a software architect at Not Rocket Science Inc. She builds line-of-business applications with Microsoft technologies and enjoys following the Microsoft .NET stack.

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events