Mono 2.0 lets .Net apps run on Linux


Mono 2.0, an open-source runtime enabling
.Net-based applications to run on Linux, Mac OS X, and Unix, is being released
Monday, featuring capabilities for a number of .Net technologies.


Considered a major upgrade, the open source Mono
2.0 runtime leverages Microsoft's .Net Framework 2.0 programming model. With Mono,
developers can build desktop and server applications using Microsoft-based
environments and deploy them across multiple platforms, including Windows.
Novell is leading the Mono effort.


"The existing apps you build on Windows, you can
now run those applications on Linux or MacOS 10. Different people have different
reasons for doing so," such as platform consolidation, said Miguel de Icaza,
vice president of developer platforms at Novell and Mono project maintainer.


Mono 2.0 supports the C# 3.0 language and LINQ
(Language Integrated Query) for querying of data across databases, objects, and
XML content, de Icaza said. Also, users can move over server applications built
for .Net and client applications built with Windows Forms.


Version 2.0 of Mono, however, lacks support for
key .Net 3.0 and .Net 3.5 APIs, specifically Windows Communication Foundation,
Windows Workflow Foundation, and Windows Presentation Foundation. These are not
currently supported because they were not amongst the most requested
technologies sought by early users of Mono, de Icaza said.


"We don't support them because we haven’t
developed those pieces yet," he said. Work on WCF support is planned for next
year.


Also featured in Mono 2.0 is MoMA (Mono Migration
Analyzer), a tool to assess the readiness of Linux environments for migration of
.Net applications.


Microsoft's reaction to Mono has been mixed,
according to de Icaza. "I guess it depends on who you ask. In some cases, of
course, they would rather have people stay on Windows," he said. Microsoft is
working with de Icaza and Novell on Moonlight,
which will enable applications built for Microsoft's Silverlight browser plug-in
to run on Linux. Moonlight 1.0, a more complete release than what has been
available, is set to be released by the end of this month.


Mono is intended to help more applications be
moved to Linux and help developers reach a larger market. "From our position, we
want more developers to be able to start deploying their third-party
applications on Linux. We want to enrich the Linux ecosystem," de Icaza
said.


He estimated that 45 percent of applications will
run on Mono 2.0 out of the box while 18 percent will require developers to spend
a couple of weeks to make some changes due to operating system differences.
About 20 percent will require significant work, taking about three to six
months, if the application is tightly integrated with Windows, de Icaza
said.


Current Mono user Mindtouch, maker of the Deki
collaboration platform, opted for Mono because it sought to provide
cross-platform solutions, said Aaron Fulkerson, Mindtouch founder and CEO.


"I think Mono is fantastic for us," he said.
Mindtouch founders and many of the company's developers had worked at Microsoft
and sought to leverage Windows-based development skills, he said. But .Net
lacked platform independence.


"We very seriously considered going with Java and
then [took] a good hard look at Mono," Fulkerson said. Mono was determined to be
a "sufficiently mature technology to build on," he said.


"In fact, we developed our product and deployed
solely on Mono and Linux up until this month," just now adding support for
Windows, said Fulkerson.


The Mono 2.0 runtime is offered
under the LGPL, while class libraries and compilers are available via the MIT
X11 license.


Mono was built using Microsoft documentation
pertaining to the .Net engine and languages, which are ISO standards, de Icaza
said. Work on Mono 2.0 has been going on for about two-and-a-half years. The
Mono project itself was begun in 2001.


Read more about software development in InfoWorld's Developer
World Channel.


Paul Krill is an editor at large at InfoWorld.
posted @ 2011-04-21 21:44  thinksea  阅读(220)  评论(0编辑  收藏  举报