Эта статья нуждается в обновлении . ( март 2016 г. ) |
Оригинальный автор (ы) | Симиан |
---|---|
Разработчики) | .NET Foundation и Xamarin ( дочерняя компания Microsoft ) |
Начальная версия | 30 июня 2004 |
Стабильный выпуск | 6.12.0.122 [1] / 23 февраля 2021 |
Предварительный выпуск | 6.12.0.148 / 13 августа 2021 [2] |
Репозиторий | |
Написано в | С , С# , XML |
Операционная система | Windows , macOS , Linux , IBM AIX , IBM i [3] |
Платформа | IA-32 , x64 , IA-64 , ARM , MIPS , PowerPC , SPARC , S390 |
Тип | Программная среда |
Лицензия | Лицензия Массачусетского технологического института [4] |
Веб-сайт | www.mono-project.com |
Mono — это бесплатная программная платформа с открытым исходным кодом , совместимая с .NET Framework . Первоначально компания Ximian , позже она была приобретена Novell , и сейчас ею руководит Xamarin , дочерняя компания Microsoft [5] и .NET Foundation . Mono может работать на многих программных системах .
Дата | Версия [7] | Примечания |
---|---|---|
2004-06-30 | 1,0 [8] | Поддержка С# 1.0 |
21 сентября 2004 г. | 1,1 [9] | |
2006-11-09 | 1,2 [10] | Поддержка С# 2.0 |
2008-10-06 | 2,0 [11] | API-интерфейсы Mono теперь соответствуют .NET 2.0. Знакомит с компиляторами C# 3.0 и Visual Basic 8. Новые API-интерфейсы для Mono: Mono.Cecil, Mono.Cairo и Mono.Posix. Выпущен Gtk# 2.12. Представлен инструмент проверки Gendarme и Mono Linker. |
2009-01-13 | 2,2 [12] | Mono переключает свой JIT-движок на новое внутреннее представление [13] , что повышает его производительность и вводит поддержку SIMD в пространстве имен Mono.Simd [14] Mono.Simd. Mono представляет компиляцию с полным опережением времени , которая позволяет разработчикам создавать полные статические приложения, а также представляет компилятор C# как услугу [15] и интерактивную оболочку C# [16] (C# REPL). |
2009-03-30 | 2,4 [17] | В этом выпуске в основном улучшены все функции, представленные в версии 2.2, и он стал основой для долгосрочной поддержки Mono в SUSE Linux. |
2009-12-15 | 2,6 [18] | Среда выполнения Mono теперь может использовать LLVM в качестве бэкэнда для генерации кода, и в этом выпуске представлены сопрограммы Mono, программный отладчик Mono и система безопасности CoreCLR, необходимые для Moonlight и других веб-плагинов. В библиотеке классов System.IO.Packaging, клиент WCF, сервер WCF, дебют LINQ to SQL. Интерактивная оболочка поддерживает автозавершение, а LINQ to SQL поддерживает работу с несколькими базами данных. Представлена система сборки xbuild. |
2010-09-22 | 2,8 [19] | По умолчанию используется профиль .NET 4.0, поддержка C# 4.0 , сборщик мусора нового поколения, включает Parallel Extensions , WCF Routing, CodeContracts , ASP.NET 4.0, отказывается от поддержки профиля 1.0; движок LLVM, настроенный на поддержку 99,9% всего сгенерированного кода, выбираемые во время выполнения llvm и gc; включает Dynamic Language Runtime , MEF , ASP.NET MVC 2, открытый исходный код OData Client от Microsoft;. Станет релизом 3.0 |
2011-02-15 | 2,10 [20] | |
2012-10-18 | 3,0 [21] | Поддержка C# 5.0 , асинхронная поддержка, обновление асинхронной библиотеки базовых классов и MVC4 — частичная поддержка асинхронных функций. |
2013-07-24 | 3,2 [22] | Сборщик мусора по умолчанию теперь называется SGEN, а не Boehm. |
2014-03-31 | 3,4 [23] | |
2014-08-12 | 3,6 [24] | |
2014-09-04 | 3,8 [25] | |
2014-10-04 | 3,10 [26] | |
2015-01-13 | 3,12 [27] | |
2015-04-29 | 4,0 [28] | По умолчанию используется профиль .NET 4.5 и поставляются только сборки .NET 4.5, по умолчанию используется C# 6.0. Первый выпуск для интеграции кода Microsoft .NET Core с открытым исходным кодом. |
2017-05-10 | 5,0 [29] | Доставка компилятора Roslyn C# для обеспечения поддержки C#7; Добавление msbuild и прекращение поддержки xbuild для лучшей совместимости; Включение параллельного сборщика мусора SGen для сокращения времени, затрачиваемого на сборку мусора; Представляем стек AppleTLS в macOS для соединений HTTPS; Продолжение работы по конвергенции библиотеки классов .NET; Обновлен libjpeg в пакете macOS. |
2017-07-14 | 5,2 [30] | Поддержка .NET Standard 2.0, надежных имен сборок и экспериментальных элементов интерфейса по умолчанию. |
2017-10-05 | 5,4 [31] | Среда выполнения JIT теперь поддерживает параллельную компиляцию методов и различные другие оптимизации производительности; |
2018-02-01 | 5,8 [32] | Начальный порт WebAssembly ; Моды для SGen GC; Включает инструмент Roslyn csi (C# интерактивный) REPL. |
2018-02-26 | 5.10 [33] | Интерпретатор теперь включен в установку по умолчанию; среда выполнения теперь поддерживает методы интерфейса по умолчанию; WebAssembly теперь считается надежным; Поддержка .NET 4.7.1/C# 7.2/F# 4.1 |
2018-05-08 | 5,12 [34] | Перенос на IBM AIX/i; теперь включает компилятор VB.NET ; возможность использовать jemalloc |
2018-08-07 | 5,14 [35] | Основное обновление Windows.Forms для улучшения совместимости с .NET |
2018-10-08 | 5,16 [36] | Гибридный приостанавливающий сборщик мусора; Поддержка клиентских сертификатов; Поддержка С# 7.3 |
2018-12-21 | 5,18 [37] | поддержка .NET 4.7.2; используется больше кода CoreFX |
2019-07-17 | 6,0 [38] | Компилятор C# по умолчанию использует версию C# 8.0 RC; Различные улучшения стабильности в поддержке отладчика; Mono Interpreter является полным и стабильным. |
2019-09-23 | 6,4 [39] | Поддержка компилятора C# для языковой версии C# 8; Поддержка .NET Standard 2.1 |
2019-12-10 | 6,6 [40] | Добавлены эталонные сборки .NET 4.8. |
2020-01-15 | 6,8 [41] | Различные исправления |
2020-05-19 | 6.10 [42] | Различные исправления |
2020-11-24 | 6,12 [43] | Различные исправления |
Когда Microsoft впервые объявила о своей .NET Framework в июне 2000 г., она была описана как «новая платформа, основанная на интернет-стандартах» [44] , а в декабре того же года лежащая в основе Common Language Infrastructure была опубликована как открытый стандарт «ECMA-335». ", [45] открывая потенциал для независимых реализаций. [46] Мигель де Икаса из Ximian считал, что .NET может повысить производительность труда программистов, и начал исследовать, возможна ли версия для Linux. [47] Понимая, что их небольшая команда не может рассчитывать на создание и поддержку полноценного продукта, они запустили проект с открытым исходным кодом Mono 19 июля 2001 г.Конференция О’Райли .
После трех лет разработки Mono 1.0 был выпущен 30 июня 2004 г. [48] Mono превратилась из первоначальной платформы для разработчиков настольных приложений Linux в поддержку широкого спектра архитектур и операционных систем, включая встроенные системы. [49]
Novell приобрела Ximian в 2003 году. После того, как Novell была приобретена компанией Attachmate в апреле 2011 года, Attachmate объявила о сотнях увольнений сотрудников Novell, [50] поставив под сомнение будущее Mono. [51] [52]
16 мая Мигель де Икаса объявил в своем блоге, что Mono по-прежнему будет поддерживаться Xamarin — компанией, которую он основал после увольнения из Novell. Первоначальная команда Mono также перешла в новую компанию. Xamarin планировал продолжить работу над Mono и планировал переписать проприетарные стеки .NET для iOS и Android с нуля, поскольку в то время Novell все еще владела MonoTouch и Mono для Android. [53] После этого объявления будущее проекта было поставлено под сомнение, поскольку MonoTouch и Mono для Android составляют прямую конкуренцию существующим коммерческим предложениям, которые теперь принадлежат Attachmate ., и учитывая, что команде Xamarin было бы трудно доказать, что они не использовали технологии, которые они ранее разработали, когда они были наняты Novell для той же работы. [54] Однако в июле 2011 года Novell, теперь дочерняя компания Attachmate и Xamarin, объявила, что предоставила Xamarin бессрочную лицензию для Mono, MonoTouch и Mono для Android, которая официально взяла на себя руководство проектом. [55] [56]
Текущая версия Mono — 6.0.0 (по состоянию на август 2019 года [Обновить]). Эта версия предоставляет основной API .NET Framework и поддержку Visual Basic.NET и C# 7.0. LINQ to Objects , XML и SQL являются частью дистрибутива. Windows Forms 2.0 также поддерживается, но активно не развивается, поэтому его поддержка в Mono неполная. [57] Версия 4.0 была первой версией, включающей оригинальный исходный код Microsoft, выпущенный Microsoft в рамках проекта .NET Core .
По состоянию на 14 января 2021 года Mono полностью поддерживает все функции .NET 4.7, кроме Windows Presentation Foundation (WPF) (которую команда Mono не планирует поддерживать из-за объема работы, который потребуется) [57] и Windows Workflow Foundation (WF) и с ограниченной поддержкой Windows Communication Foundation (WCF) и асинхронного стека ASP.NET. Однако System.Web и WCF являются кандидатами на «почти немедленный» перенос из эталонного источника .NET обратно в Mono. [58] Некоторые отсутствующие части .NET Framework находятся в стадии разработки в рамках экспериментального подпроекта Mono под названием Olive . [59]
Проект Mono также создал компилятор Visual Basic .NET и среду выполнения, предназначенную для запуска приложений VB.NET. В настоящее время он разрабатывается Рольфом Бьярне Квинге.
Реализация Microsoft Silverlight с открытым исходным кодом под названием Moonlight была включена, начиная с Mono 1.9. [60] Moonlight 1.0, поддерживающий API Silverlight 1.0, был выпущен 20 января 2009 г. Moonlight 2.0 поддерживает Silverlight 2.0 и некоторые функции Silverlight 3.0. [61] Предварительный выпуск Moonlight 3.0 был анонсирован в феврале 2010 г. и содержит обновления поддержки Silverlight 3. [62]
Проект Moonlight был заброшен 29 мая 2012 года. [63] По словам Мигеля, два фактора решили судьбу проекта: Microsoft добавила «искусственные ограничения», которые «сделали его бесполезным для настольного программирования», и технология не получила достаточного развития. тяга в Сети. Кроме того, к 2012 году Microsoft объявила о прекращении поддержки самого Silverlight.
Моно состоит из трех групп компонентов:
Основные компоненты включают компилятор C#, виртуальную машину для Common Language Infrastructure и основные библиотеки классов. Эти компоненты основаны на стандартах Ecma-334 и Ecma-335 , [64] что позволяет Mono предоставлять соответствующую стандартам, бесплатную виртуальную машину CLI с открытым исходным кодом . Microsoft выпустила заявление, которое распространяется на оба стандарта в соответствии с их лицензией Community Promise . [65]
Стек разработки Mono/Linux/GNOME предоставляет инструменты для разработки приложений с использованием существующих GNOME и бесплатных библиотек с открытым исходным кодом. К ним относятся: 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 отслеживает разработку компонентов базы данных на своем веб-сайте. [66]
Стек совместимости Microsoft предоставляет путь для переноса приложений Windows .NET в Linux . В эту группу компонентов входят , среди прочего , ADO.NET , ASP.NET и Windows Forms . Поскольку эти компоненты не подпадают под действие стандартов Ecma , некоторые из них остаются предметом патентных опасений и опасений .
Основные компоненты Mono включают в себя:
Среда выполнения Mono содержит механизм выполнения кода, который переводит байт-коды ECMA CIL в собственный код и поддерживает ряд процессоров: ARM , MIPS (только в 32-битном режиме), SPARC , PowerPC , S390 (в 64-битном режиме), x86. , x86-64 и IA-64 для 64-битных режимов.
Генератор кода работает в трех режимах:
Начиная с Mono 2.6, можно настроить Mono для использования LLVM в качестве механизма генерации кода вместо собственного механизма генерации кода Mono. Это полезно для высокопроизводительных вычислительных нагрузок и других ситуаций, когда производительность выполнения важнее, чем производительность при запуске.
Начиная с предварительной версии Mono 2.7, больше нет необходимости выбирать один движок вместо другого во время настройки. Механизм генерации кода можно выбрать при запуске с помощью аргументов командной строки --llvm
или --nollvm
, и по умолчанию используется быстро запускаемый модуль генерации кода Mono.
Начиная с Mono 5.18, поддержка LLVM является параметром конфигурации по умолчанию. Предыдущие версии требовали специального форка LLVM, но теперь mono может вернуться к своему собственному генератору кода, когда сталкивается с чем-то, что не обрабатывается LLVM. [67]
Начиная с Mono 2.8, среда выполнения Mono поставляется с двумя сборщиками мусора : сборщиком поколений и консервативным сборщиком мусора Boehm-Demers-Weiser . Сборщик мусора Boehm может обнаруживать утечки памяти в определенных классах приложений, что делает его непригодным для некоторых долго работающих серверных приложений. [68] [69] Mono переключился на Simple Generational GC (SGen-GC) в качестве сборщика по умолчанию в версии 3.1.1.
Сборщик мусора SGen имеет много преимуществ перед традиционным консервативным сканером. Он использует сборку мусора поколенийкогда новые объекты выделяются из питомника, во время цикла сборки мусора все уцелевшие объекты переносятся в пул памяти более старого поколения. Идея состоит в том, что многие объекты являются временными и могут быть быстро собраны, и только несколько объектов являются долгосрочными объектами, которые живут в течение всей жизни приложения. Для повышения производительности этот сборщик назначает пулы памяти каждому потоку, чтобы позволить потокам выделять новые блоки памяти без необходимости координировать свои действия с другими потоками. Миграция объектов из питомника в старое поколение выполняется путем копирования данных из питомника в пул старого поколения и обновления любых активных указателей, которые указывают на данные, чтобы они указывали на новое местоположение. Это может быть дорого для больших объектов, поэтому Mono's SGen использует отдельный пул памяти для больших объектов (Large Object Section) и использует для этих объектов алгоритм пометки и очистки.[68]
Библиотека классов предоставляет исчерпывающий набор средств для разработки приложений. В основном они написаны на C#, но благодаря Спецификации общего языка их можно использовать на любом языке .NET. Библиотека классов структурирована по пространствам имен и развернута в разделяемых библиотеках, известных как сборки. Говоря о .NET Framework, в первую очередь речь идет об этой библиотеке классов. [70]
Пространства имен — это механизм логической группировки похожих классов в иерархическую структуру. Это предотвращает конфликты имен. Структура реализована с использованием слов, разделенных точками, где наиболее распространенным пространством имен верхнего уровня является System, например System.IO и System.Net. Существуют и другие пространства имен верхнего уровня, такие как Accessibility и Windows. Пользователь может определить пространство имен, поместив элементы внутри блока пространства имен.
Сборки — это физическая упаковка библиотек классов. Это файлы .dll, такие же (но не путать с) общие библиотеки Win32. Примерами сборок являются mscorlib.dll, System.dll, System.Data.dll и Accessibility.dll. Пространства имен часто распределяются между несколькими сборками, и одна сборка может состоять из нескольких файлов.
Инфраструктура общего языка (CLI) , реализованная средой Common Language Runtime (CLR) , реализуется исполняемым файлом Mono. Среда выполнения компилирует и выполняет приложения .NET. Общеязыковая инфраструктура определяется стандартом ECMA. [64] Чтобы запустить приложение, вы должны вызвать среду выполнения с соответствующими параметрами.
Спецификация общего языка (CLS) указана в главе 6 ECMA-335 и определяет интерфейс CLI, такие как соглашения, такие как базовые типы для Enum. Компилятор Mono создает образ, соответствующий CLS. Это общий промежуточный язык. Среда выполнения Mono берет этот образ и запускает его. Стандарт ECMA формально определяет библиотеку, соответствующую CLS, как инфраструктуру.
В нативном приложении .NET/Mono весь код управляется ; то есть он регулируется стилем управления памятью и безопасностью потоков CLI. Другие приложения .NET или Mono могут использовать устаревший код, который называется неуправляемым, используя библиотеки System.Runtime.InteropServices для создания привязок C#. Многие библиотеки, поставляемые с Mono, используют эту функцию CLI, например Gtk# .
Mono внедрил инновации в некоторых областях с новыми расширениями основных спецификаций C# и CLI:
Кроме того, Mono доступен для различных операционных систем и архитектур. [74]
Windows 7, Windows 8, Windows 8.1, Windows 10, macOS или Linux
Несколько проектов расширяют Mono и позволяют разработчикам использовать его в своей среде разработки. Эти проекты включают в себя:
Кроссплатформенность:
макОС:
Мобильные платформы:
Окна:
У Microsoft есть версия .NET 2.0, которая теперь доступна только для Windows XP и называется Shared Source CLI (Rotor) . Лицензии Microsoft с общим исходным кодом может быть недостаточно для нужд сообщества (она прямо запрещает коммерческое использование).
Выведенный из эксплуатации проект Portable.NET Free Software Foundation . [78]
MonoDevelop — бесплатная интегрированная среда разработки GNOME, предназначенная в первую очередь для C# и других языков .NET, таких как Nemerle , Boo и Java (через IKVM.NET ), хотя она также поддерживает такие языки, как C , C++ , Python и Vala . Первоначально MonoDevelop был портом SharpDevelop для Gtk#, но с тех пор он эволюционировал, чтобы удовлетворить потребности разработчиков Mono. IDE включает в себя управление классами, встроенную справку, завершение кода, Stetic (дизайнер графического интерфейса), поддержку проектов и встроенный отладчик.
Браузер MonoDoc предоставляет доступ к документации по API и примерам кода. Браузер документации использует управление контентом в стиле вики, что позволяет разработчикам редактировать и улучшать документацию.
Xamarin.iOS и Xamarin.Android, разработанные Xamarin , являются реализациями Mono для iPhone и смартфонов на базе Android . Ранее доступная только для коммерческого лицензирования, [79] после приобретения Microsoft Xamarin в 2016 году сама среда выполнения Mono была повторно лицензирована по лицензии MIT [80] , и Xamarin.iOS и Xamarin.Android стали бесплатными и открытыми. [81]
Дата | Версия | Примечания |
---|---|---|
2009-09-14 | МоноТач 1.0 [82] | Начальная версия |
2010-04-05 | Монотач 2.0 [83] | поддержка iPad |
2010-04-16 | Монотач 3.0 [84] | поддержка айфон 4 |
2011-04-06 | Монотач 4.0 [85] | поддержка iOS 4 |
2011-10-12 | Монотач 5.0 [86] | поддержка iOS 5 |
2012-09-19 | Монотач 6.0 [87] | поддержка iOS 6 |
20 февраля 2013 г. | Xamarin.iOS 6.2 [88] | Поддержка Visual Studio |
2013-07-24 | Xamarin.iOS 6.4 [89] | .NET 4.5 асинхронная/ожидающая поддержка |
2013-06-19 | Xamarin.iOS 7.0 [90] | Поддержка XCode 5 и iOS 7. |
2014-09-10 | Xamarin.iOS 8.0 [91] | Поддержка iOS 8 и Xcode 6. |
2015-09-16 | Xamarin.iOS 9.0 [92] | Поддержка iOS 9 и Xcode 7 |
2016-09-13 | Xamarin.iOS 10.0 [93] | Поддержка iOS 10 и Xcode 8 |
2017-09-19 | Xamarin. iOS 11.0 [94] | Поддержка iOS 11 и Xcode 9 |
2018-09-14 | Xamarin.iOS 12.0 [95] | Поддержка iOS 12 и Xcode 10. |
2019-09-13 | Xamarin. iOS 13.0 [96] | Поддержка iOS 13 и Xcode 11. |
20.09.2020 | Xamarin. iOS 14.0 [97] | Поддержка iOS 14 и Xcode 12. |
Xamarin.iOS (ранее называвшаяся MonoTouch) — это библиотека, позволяющая разработчикам создавать приложения на основе C# и .NET, которые работают на устройствах iPhone, iPod и iPad. Он основан на платформе Mono и разработан совместно с Novell. В отличие от приложений Mono, «приложения» Xamarin.iOS компилируются в машинный код, предназначенный специально для Apple iPhone и iPad . [98] Это необходимо, поскольку ядро iOS предотвращает выполнение JIT-компиляторов на устройстве.
Стек Xamarin.iOS состоит из:
Xamarin Studio используется в качестве основной IDE, однако были написаны дополнительные ссылки на Xcode и симулятор iOS.
С апреля по начало сентября 2010 года будущее MonoTouch было поставлено под сомнение, поскольку Apple ввела новые условия для разработчиков iPhone, которые, по-видимому, запрещают им разработку на языках, отличных от C, C++ и Objective-C , и использование промежуточного слоя между Платформа iOS и приложения для iPhone. Это сделало будущее MonoTouch и других технологий, таких как Unity , неопределенным. [99] Затем, в сентябре 2010 года, Apple отменила это ограничение, заявив, что они ослабляют языковые ограничения, введенные ранее в том же году. [100] [101]
Xamarin.Android ( ранее известный как Mono для Android ) , первоначально разработанный Novell и продолженный Xamarin , является проприетарной реализацией Mono для смартфонов на базе Android . [103] [104] [105] Впервые он был выпущен 6 апреля 2011 года. [106] Mono для Android был разработан, чтобы облегчить разработчикам создание кросс-платформенных приложений, которые будут работать на всех мобильных платформах. [107]В интервью H-Online Мигель де Икаса заявил: «Наше видение состоит в том, чтобы позволить разработчикам повторно использовать код своего движка и бизнес-логики на всех мобильных платформах и заменить код пользовательского интерфейса API для конкретной платформы». [108]
В августе 2010 года представитель Microsoft Том Ханрахан из Центра технологий с открытым исходным кодом Microsoft заявил в отношении судебного иска, поданного Oracle против Google в связи с использованием Java в Android, что «Тип действий, которые Oracle предпринимает против Google в отношении Java, не является это произойдет. Если бы перенос .NET на Android был через Mono, он подпадал бы под действие Соглашения об обещаниях сообщества Microsoft ». [109] [110]
Стек Xamarin.Android состоит из следующих компонентов:
Mono имеет двойную лицензию Xamarin, как и другие продукты, такие как Qt и Mozilla Application Suite . Компилятор Mono C# и инструменты выпускаются под Стандартной общественной лицензией GNU (только GPLv2) (начиная с версии 2.0 Mono исходный код компилятора Mono C# также доступен под лицензией MIT X11 ), [112] библиотеки времени выполнения под лицензией GNU Меньшая стандартная общественная лицензия (только LGPLv2) и библиотеки классов под лицензией MIT . Все это бесплатное программное обеспечение и лицензии с открытым исходным кодом, поэтому Mono является бесплатным программным обеспечением с открытым исходным кодом..
Лицензия компилятора C# была изменена с GPL на лицензию MIT X11 [113] , чтобы разрешить повторное использование кода компилятора в некоторых случаях, когда GPL предотвратила бы это:
18 марта 2016 г. сделка по приобретению Xamarin компанией Microsoft была официально закрыта. [114] 31 марта 2016 г. Microsoft объявила на Microsoft Build , что они полностью повторно лицензируют Mono в соответствии с лицензией MIT даже в тех случаях, когда ранее была необходима коммерческая лицензия, [115] и Microsoft заявила, что не будет утверждать любые «применимые патенты» против сторон, которые «используют, продают, предлагают для продажи, импортируют или распространяют Mono». [116] [117] Также было объявлено, что Xamarin внес свой вклад в проект Mono для .NET Foundation. [116]
Многие программы, охватывающие ряд приложений, были разработаны с использованием интерфейса прикладного программирования (API) Mono и C#. Некоторые программы, написанные для рабочего стола Linux, включают Banshee , Beagle , F-Spot , Gbrainy , Docky / GNOME Do , MonoTorrent , Pinta и Tomboy . Программа Logos 5 Bible Study Software (версия для OS X) была написана для MacOS.
Ряд видеоигр, таких как The Sims 3 и Second Life (для их языков сценариев ), сервер виртуального мира OpenSimulator или игры, созданные с помощью игровых движков Unity или MonoGame , также используют Mono. [118] OpenRA связывает свои образы Apple Disk Image и Linux AppImages с Mono, по существу удаляя почти все зависимости от игры. [119]
Даже если они его не поддерживают, у них есть продукт, который напрямую конкурирует с будущими предложениями Xamarin. Без какой-либо юридической договоренности между Attachmate и Xamarin последний столкнулся бы с пугающей перспективой доказать, что их новая разработка не использует никаких технологий, которые использовались в старой. Учитывая, что на самом деле это всего лишь оболочка для нативного API, было бы трудно доказать, что у вас была чистая реализация, даже для команды, которая не была хорошо знакома с кодом Attachmate.
Соглашение предоставляет Xamarin широкую бессрочную лицензию на всю интеллектуальную собственность, охватывающую Mono, MonoTouch, Mono для Android и Mono Tools для Visual Studio.
Xamarin также будет оказывать техническую поддержку клиентам SUSE, использующим продукты на основе Mono, и возьмет на себя управление проектом сообщества Mono с открытым исходным кодом.
У нас нет планов по созданию WPF.
У нас просто нет рабочей силы для создания реализации в разумные сроки (...) Для инструментов, которые в основном основаны на OpenGL/DirectX, используйте Windows.Forms, имея в виду, что некоторые исправления ошибок или обходные пути на их часть может понадобиться, так как наша Windows.Forms активно не развивается.
MonoTouch — это коммерческий продукт, основанный на проекте Mono с открытым исходным кодом и лицензируемый для каждого разработчика.
сегодня мы объявляем о своем намерении открыть исходный код Xamarin SDK для Android, iOS и Mac под лицензией MIT в ближайшие месяцы.
Приложения, созданные с помощью MonoTouch, являются собственными приложениями, неотличимыми от других собственных приложений.
Основываясь на их отзывах, сегодня мы вносим важные изменения в нашу лицензию на Программу для разработчиков iOS в разделах 3.3.1, 3.3.2 и 3.3.9, чтобы ослабить некоторые ограничения, введенные ранее в этом году.
В частности, мы ослабляем все ограничения на инструменты разработки, используемые для создания приложений iOS, при условии, что полученные приложения не загружают какой-либо код.
Это должно дать разработчикам гибкость, которую они хотят, сохраняя при этом необходимую нам безопасность.
Благодаря этим новым терминам двусмысленность исчезла, и любители и энтузиасты C# могут вернуться к использованию MonoTouch.
Разработчики, которым нравится сборка мусора и их строго типизированные языки, могут возобновить свою работу.
Это облегчит разработчикам создание кроссплатформенных приложений, а также перенос некоторых существующих приложений, созданных с использованием MonoTouch, на Android.
Наше видение состоит в том, чтобы позволить разработчикам повторно использовать свой код движка и бизнес-логики на всех мобильных платформах и заменить код пользовательского интерфейса API для конкретной платформы.
Действия, которые Oracle предпринимает против Google из-за Java, не произойдут.
Если бы перенос .NET на Android осуществлялся через Mono, он подпадал бы под действие Соглашения Microsoft Community Promise.
14 мая Xamarin анонсировала Mono для Android 4.2.
Викискладе есть медиафайлы, связанные с Mono (программное обеспечение) . |