The Best of Both Worlds: The Role of Mono in Multi-Platform Application Development
Have a Windows application, but want to port it to Linux? Mono lets you keep your source code and run on Linux, too. Mono founder Miguel de Icaza explains.
Moving Forward with Mono
It is simply not practical for Mono to release new features shortly after Microsoft does. But the Mono project does strive to be as up-to-date as possible. Itâ€™s important that the community using Mono for product development and deployment can count on certain features being available at a given time, even if itâ€™s not on the same timeframe as Microsoftâ€™s schedules.
The Mono project has aready begun looking at upcoming technologies that fall under the umbrella that Microsoft has designated .NET 3.0. One subproject, Olive, is working on several of these technologies, including CardSpace, Windows Communication Foundation (formerly known as Indigo), and Windows Workflow Foundation. Other. NET 3.0 technologies, such as the Windows Presentation Foundation, a new API for creating desktop applications, are not on the current Mono roadmap.
A second subproject, Crimson, implements technologies that have not been addressed as ECMA/.NET standards by Microsoft, but are considered important for applications running on multiple platforms using Linux. This includes cryptography, the ability to communicate securely between components, applications, and people. Crimson is also working toward exposing the internals of Mono so that it can be embedded in other platforms and systems.
Given the inherent value of the. NET platform and its ability to execute multiple languages, there is no reason for the Mono project not to continue indefinitely. It serves an important purpose in the development community, providing a cross-platform strategy with a single language that is not available anywhere else today.
Developers have to be able to count on Mono being reliable, and on having the features required by applications when they require them. The Mono roadmap clearly spells out when developers can expect what features. This roadmap must be based in realistic expectations.
So Mono is both essential and realistic. While others have speculated on its utility or future, both are clear. It represents the most effective way of developing under. NET and porting the resulting application to Linux while maintaining a single C# code base.