Описание тега mono
Mono можно использовать для запуска приложений Microsoft .NET на платформах не от Microsoft. У него есть дополнительная цель - создать лучшую среду разработки для разработчиков программного обеспечения Linux.
Mono состоит из трех групп компонентов:
Основные компоненты
Моно /Linux/GNOME стек разработки
Стек совместимости 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, некоторые из них по-прежнему подвержены патентным опасениям и опасениям.