Download Professional Android Programming with Mono for Android and NETC Foreword by Miguel de Icaza easily in PDF format for free.

Over the past decade, the popularity of the .NET Framework has grown. In the late 1990s, Microsoft began working on the .NET Framework. The fi rst version shipped in 2002. Microsoft recently introduced .NET Framework 4. The .NET Framework comes in various versions, including 32-bit, 64-bit, a version for the Xbox gaming platform, and a version for Microsoft’s mobile devices called the Compact Framework (CF). Here are a few key facts about the .NET Framework to keep in mind as you begin to look at the Mono framework: Microsoft released a development tool, Visual Studio .NET, with this framework.

This tool is the integrated development environment for .NET. This framework is based on a virtual machine that executes software written for the framework. This virtual-machine environment is called the Common Language Runtime (CLR), and it is responsible for security, memory management, program execution, and exception handling. Applications written in the .NET Framework are initially compiled from source code, such as Visual Basic or C#, to an intermediate language, called MSIL.
The initial compilation is performed by calling the language-specifi c command-line compiler, Visual Studio, or some other build tool. A second compilation is typically performed when an application is executed. This second compilation takes the intermediate language and compiles it into executable code that can be run on the operating system. This second compilation is called just-in-time (JIT) compilation.
This framework is language-independent, and numerous languages are available for it. In Visual Studio, Microsoft has shipped various languages, including Visual Basic, F#, C++, and C#. This framework has a series of libraries that provide consistent functionality across the various languages. These libraries are called the base class libraries. Microsoft has submitted various parts of the .NET Framework to various standards organizations, including those for the C# language, the Common Language Infrastructure, Common Type System (CTS), Common Language Specifi cation (CLS), and Virtual Execution System (VES).

This framework has the largest number of developers of any development framework. As a result, more developers are familiar with the .NET Framework than any other development framework. A disadvantage of the .NET Framework is that it is unavailable for non-Microsoft platforms. The signifi cance of all this is that Microsoft has created a standards-based environment for the .NET Framework. Though most developers working on the Microsoft platform are not worried about the standards compliance of the .NET Framework, the signifi cance of this aspect of the .NET Framework cannot be understated.
By defi ning these standards and submitting these standards to compliance committees, Microsoft has created a group of developers that can integrate at fairly low levels into the .NET Framework. In this environment, Miguel de Icaza had a vision and stepped up to create the Mono framework discussed next. Mono is an open source project that provides a C# compiler and CLR on non-Windows operating systems.