<!-- BEGIN MAIN CONTENT -->
Mono is a software platform designed to allow developers to easily create cross platform applications. It is an open source implementation of Microsoft's .Net Framework based on the ECMA standards for C# and the Common Language Runtime. We feel that by embracing a successful, standardized software platform, we can lower the barriers to producing great applications for Linux.
The Components
There are several components that make up Mono:
C# Compiler - Mono's C# compiler is feature complete for C# 1.0, 2.0, 3.0, and 4.0 (ECMA). A good description of the feature of the various versions is available on Wikipedia(http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29#Versions).
Mono Runtime - The runtime implements the ECMA Common Language Infrastructure (CLI). The runtime provides a Just-in-Time (JIT) compiler, an Ahead-of-Time compiler (AOT), a library loader, the garbage collector, a threading system and interoperability functionality.
Base Class Library - The Mono platform provides a comprehensive set of classes that provide a solid foundation to build applications on. These classes are compatible with Microsoft's .Net Framework classes.
Mono Class Library - Mono also provides many classes that go above and beyond the Base Class Library provided by Microsoft. These provide additional functionality that are useful, especially in building Linux applications. Some examples are classes for Gtk+, Zip files, LDAP, OpenGL, Cairo, POSIX, etc.
The Benefits
There are many benefits to choosing Mono for application development:
Popularity - Built on the success of .Net, there are millions of developers that have experience building applications in C#. There are also tens of thousands of books, websites, tutorials, and example source code to help with any imaginable problem.
Higher-Level Programming - All Mono languages benefit from many features of the runtime, like automatic memory management, reflection, generics, and threading. These features allow you to concentrate on writing your application instead of writing system infrastructure code.
Base Class Library - Having a comprehensive class library provides thousands of built in classes to increase productivity. Need socket code or a hashtable? There's no need to write your own as it's built into the platform.
Cross Platform - Mono is built to be cross platform. Mono runs on Linux, Microsoft Windows, Mac OS X, BSD, and Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone. It also runs on x86, x86-64, IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x (32 and 64 bits) and more. Developing your application with Mono allows you to run on nearly any computer in existance (details).
Common Language Runtime (CLR) - The CLR allows you to choose the programming language you like best to work with, and it can interoperate with code written in any other CLR language. For example, you can write a class in C#, inherit from it in VB.Net, and use it in Eiffel. You can choose to write code in Mono in a variety of programming languages.
Other Uses
Scripting and Embedding - The Mono runtime can also be used to script your applications by embedding it inside other applications, to allow managed code and scripts to run in a native application.
See Embedding Mono for details on how to embed Mono.
See Scripting With Mono for strategies on how to script your application using the Mono runtime.
相关推荐
唉,最近只知道埋头写程序,消息实在是不灵通啊,今天偶然发一个开源项目,Mono,一个旨在让.net程序在linux,unix,mac os,solaris等平台的软件,爽啊,期待….What is Mono?Mono provides the necessary software ...
BlueSound Android application to redirect audio to Bluetooth headset. Some Bluetooth enabled cars enable only voice to go over Bluetooth, but you may want... Do what ever you want with it, I do not care.
A better question in the case of this book is, how is it different from the previous edition? The book has actually shrunk in number of pages and although it has exactly the same number of chapters ...
Basically what it means is if you created your code in such a way that you need to instantiate a prefab at runtime (regardless of whether an instance of it is in the scene already or not) then Unity ...
can be compiled for each platform you need with Xamarin/Mono. You can check out this feature in P.A.T.C.H. documentation. P.A.T.C.H. supports each type of application: Unity based or standalone. ...
The -3 is optional, and is used to trade off compression vs. speed and memory. Valid options are -0 to -9. Higher numbers compress better but run slower and use more memory. -3 is the default, and ...
Mono instances window is now a treeview where you can see the fields and values "find what addresses this code accesses" can also be used on RET instructions now (useful to find callers) The graphical...
Communicator is the only IP codec on the market that offers robust, low-delay operation in a way similar to what broadcasters have come to expect from, say, ISDN connectivity. Auto-reconnect and ...
The following is a summary of what is and is not supported: <br>Supported: - MPEG2, MPEG4 low complexity decoding (intensity stereo, M-S, TNS, PNS) - spectral band replication (SBR), high-...
// What to do: // 1. Create an image in Microsoft paint (or other program). The image must be 160 pixels wide, 120 pixels high and // use 24-bits to represent colour information. // 2. Once you ...
What is the Uno Platform The Uno Platform (Pronounced 'Oono' or 'Ouno') is a Universal Windows Platform Bridge that allows UWP-based code (C# and XAML) to run on iOS, Android, macOS, WebAssembly, ...