Mono - это проект с открытым исходным кодом, нацеленный на внедрение .NET-совместимой технологии в мир с открытым исходным кодом. Эта технология включает в себя компилятор C # и Common Language Runtime.

Mono можно использовать для запуска приложений Microsoft .NET на платформах не от Microsoft. У него есть дополнительная цель - создать лучшую среду разработки для разработчиков программного обеспечения для Linux.

Mono состоит из трех групп компонентов:

  1. Основные компоненты

  2. Стек разработки Mono / Linux / GNOME

  3. Стек совместимости Microsoft

Основные компоненты включают компилятор C #, виртуальную машину для инфраструктуры общего языка и библиотеки базовых классов. Эти компоненты основаны на стандартах Ecma-334 и Ecma-335, что позволяет Mono предоставлять совместимую со стандартами бесплатную виртуальную машину с открытым исходным кодом CLI. Microsoft опубликовала заявление, которое охватывает оба стандарта в рамках их лицензии Community Promise.

Стек разработки Mono / Linux / GNOME предоставляет инструменты для разработки приложений с использованием существующих библиотек GNOME, Free и Open Source. К ним относятся: Gtk # для разработки GUI, библиотеки Mozilla для работы с механизмом рендеринга Gecko, библиотеки интеграции Unix (Mono.Posix), библиотеки подключения к базам данных, стек безопасности и язык XML-схем RelaxNG. Gtk # позволяет приложениям Mono интегрироваться в рабочий стол Gnome как собственные приложения. Библиотеки баз данных обеспечивают связь с объектно-реляционной базой данных db4o, Firebird, Microsoft SQL Server (MSSQL), MySQL, Open Database Connectivity (ODBC), Oracle, PostgreSQL, SQLite и многими другими. Проект Mono отслеживает разработку компонентов базы данных на своем веб-сайте.

Стек совместимости Microsoft обеспечивает путь для переноса приложений Windows .NET в GNU / Linux. В эту группу компонентов входят ADO.NET, ASP.NET и Windows.Forms и другие. Поскольку эти компоненты не охвачены стандартами Ecma, некоторые из них по-прежнему подвержены патентным опасениям и опасениям.

Источник.