Моно (программное обеспечение)
Эту статью необходимо обновить . ( март 2016 г. ) |
Оригинальный автор(ы) | Симиан |
---|---|
Разработчик(и) | .NET Foundation и Xamarin ( дочерняя компания Microsoft ) |
Первоначальный выпуск | 30 июня 2004 г |
Стабильная версия | 6.12.0.206 / 13 февраля 2024 г [1] |
Репозиторий | |
Написано в | С , С# , XML |
Операционная система | Windows , macOS , Linux , IBM AIX , IBM i [2] |
Платформа | IA-32 , x64 , IA-64 , ARM , MIPS , RISC-V , PowerPC , SPARC , S390 |
Тип | Программная среда |
Лицензия | МОЯ лицензия [3] |
Веб-сайт | www |
Mono — это с открытым исходным кодом, .NET Framework совместимая с бесплатная программная платформа . Первоначально компания Ximian , позже была приобретена Novell , и теперь ее возглавляет Xamarin , дочерняя компания Microsoft. [4] и .NET Foundation . Mono можно запускать во многих программных системах .
История [ править ]
Когда Microsoft впервые анонсировала свою платформу .NET Framework в июне 2000 года, она была описана как «новая платформа, основанная на стандартах Интернета». [5] а в декабре того же года базовая инфраструктура общего языка была опубликована как открытый стандарт «ECMA-335». [6] открывая потенциал для независимых реализаций. [7] Мигель де Икаса из Ximian считал, что .NET потенциально может повысить производительность программистов, и начал исследовать, возможна ли версия для Linux. [8] Понимая, что их небольшая команда не может рассчитывать на создание и поддержку полноценного продукта, они запустили проект Mono с открытым исходным кодом 19 июля 2001 года на конференции O'Reilly .
После трех лет разработки Mono 1.0 был выпущен 30 июня 2004 года. [9] Mono превратилась из первоначальной платформы для разработчиков настольных приложений Linux в поддержку широкого спектра архитектур и операционных систем, включая встроенные системы. [10]
Novell приобрела Ximian в 2003 году. После того, как Novell была приобретена Attachmate в апреле 2011 года, Attachmate объявила о сотнях увольнений сотрудников Novell. [11] ставя под вопрос будущее Mono. [12] [13]
16 мая Мигель де Икаса объявил в своем блоге, что Mono продолжит поддерживаться Xamarin , компанией, которую он основал после увольнения из Novell. Первоначальная команда Mono также перешла в новую компанию. Xamarin планировал продолжить работу над Mono и планировал переписать проприетарные стеки .NET для iOS и Android с нуля, поскольку в то время Novell все еще владела MonoTouch и Mono для Android. [14] После этого объявления будущее проекта было поставлено под сомнение, поскольку MonoTouch и Mono для Android находились в прямой конкуренции с существующими коммерческими предложениями, которые теперь принадлежат Attachmate , и считалось, что команде Xamarin будет сложно доказать, что они не использовали технологии, которые они ранее разработали. когда они были наняты Novell для той же работы. [15] Однако в июле 2011 года Novell, которая теперь является дочерней компанией Attachmate, и Xamarin объявила о предоставлении бессрочной лицензии Xamarin для Mono, MonoTouch и Mono для Android, которая официально взяла на себя управление проектом. [16] [17]
Текущий статус и дорожная карта [ править ]
Текущая версия Mono — 6.12.0 (по состоянию на июнь 2024 г.). [update]). Эта версия предоставляет основной API и .NET Framework поддержку Visual Basic.NET и C# 7.0. LINQ to Objects , XML и SQL входят в состав дистрибутива. Windows Forms 2.0 также поддерживается, но не развивается активно, поэтому его поддержка в Mono является неполной. [18] Версия 4.0 была первой версией, включающей оригинальный исходный код Microsoft, выпущенный Microsoft как часть проекта .NET Core .
По состоянию на 14 января 2021 г. Mono имеет полную поддержку всех функций .NET 4.7, за исключением Windows Presentation Foundation (WPF) (которую команда Mono не планирует поддерживать из-за объема необходимой работы). [18] и Windows Workflow Foundation (WF) и с ограниченной поддержкой Windows Communication Foundation (WCF) и асинхронного стека ASP.NET. Однако System.Web и WCF являются кандидатами на «почти немедленное» портирование из эталонного источника .NET обратно в Mono. [19] Некоторые недостающие части .NET Framework находятся в стадии разработки в рамках экспериментального подпроекта Mono под названием Olive . [20]
Проект Mono также создал компилятор Visual Basic .NET и среду выполнения, предназначенную для запуска приложений VB.NET. В настоящее время его разработкой занимается Рольф Бьярне Квинге.
Лунный свет [ править ]
Реализация Microsoft Silverlight с открытым исходным кодом , называемая Moonlight , была включена начиная с Mono 1.9. [21] Moonlight 1.0, поддерживающий API-интерфейсы Silverlight 1.0, был выпущен 20 января 2009 г. Moonlight 2.0 поддерживает Silverlight 2.0 и некоторые функции Silverlight 3.0. [22] Предварительная версия Moonlight 3.0 была анонсирована в феврале 2010 года и содержит обновления поддержки Silverlight 3. [23]
Проект Moonlight был закрыт 29 мая 2012 года. [24] По словам Мигеля, судьбу проекта решили два фактора: Microsoft добавила «искусственные ограничения», которые «сделали его бесполезным для настольного программирования», а технология не получила достаточного распространения в Интернете. Кроме того, к 2012 году Microsoft прекратила поддержку самого Silverlight.
Моно компоненты [ править ]
Mono состоит из трех групп компонентов:
- Основные компоненты
- Стек разработки Mono/Linux/GNOME
- Стек совместимости Microsoft
Основные компоненты включают компилятор C#, виртуальную машину для Common Language Infrastructure и основные библиотеки классов. Эти компоненты основаны на стандартах Ecma-334 и Ecma-335 . [25] позволяя Mono предоставлять совместимую со стандартами, бесплатную виртуальную машину CLI с открытым исходным кодом . Microsoft опубликовала заявление, охватывающее оба стандарта в рамках лицензии Community Promise . [26]
Стек разработки 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 отслеживает разработку компонентов базы данных на своем веб-сайте. [27]
Стек совместимости Microsoft обеспечивает возможность переноса приложений Windows .NET на Linux . В эту группу компонентов входят , среди прочего, ADO.NET , ASP.NET и Windows Forms . Поскольку эти компоненты не подпадают под стандарты Ecma , некоторые из них по-прежнему вызывают опасения и опасения относительно патентов .
Каркасная архитектура [ править ]
Основные компоненты Mono включают в себя:
- Механизм выполнения кода
- Библиотеки классов
- Библиотека базовых классов
- Библиотеки классов совместимости .NET
- Библиотеки классов Mono:
- Кроссплатформенные библиотеки классов для Mono и .NET (Gtk#, Mono.Cecil, Mono.CSharp, Text.Templating)
- Библиотеки классов, специфичные для Unix (POSIX, файловая система в пользовательском пространстве (FUSE), проклятия)
- Библиотеки классов для конкретной платформы (привязки для: Mac, iOS, Android, MeeGo)
- Сборки CLI
- Метаданные интерфейса командной строки
- Mono Общеязыковая среда выполнения
- Совместимость с общеязыковой инфраструктурой .NET. ECMA/ общеязыковой средой выполнения
- Моноспецифичные улучшения:
- Поддержка Mono.SIMD
- Моно-сопрограммы и продолжения.
- Моноспецифичные улучшения
- Собственные службы взаимодействия и COM-взаимодействие
- Безопасность — прозрачная структура кода
Механизм выполнения кода [ править ]
Среда выполнения Mono содержит механизм выполнения кода, который преобразует байт-коды ECMA CIL в собственный код и поддерживает ряд процессоров: ARM , MIPS (только в 32-битном режиме), SPARC , PowerPC , z/Architecture , IA-32 , x86- 64 и IA-64 для 64-битных режимов.
Генератор кода доступен в трёх режимах:
- Компиляция «точно в срок» (JIT): среда выполнения преобразует байт-коды ECMA CIL в собственный код по мере выполнения кода.
- Предварительная компиляция (AOT): этот код преобразует байт-коды ECMA CIL (обычно находящиеся в файлах .exe или .dll) и генерирует собственный код, хранящийся в файле операционной системы, архитектуры и процессора (для файла foo. exe-файл, в Linux он создаст файл foo.exe.so). В этом режиме работы компилируется большая часть кода, который обычно выполняется во время выполнения. Есть некоторые исключения, такие как батуты и другой административный код, для работы которых по-прежнему требуется JIT, поэтому образы AOT не являются полностью автономными.
- Полная статическая компиляция: этот режим поддерживается только на нескольких платформах и продвигает процесс предварительной компиляции на один шаг вперед и генерирует все необходимые батуты, оболочки и прокси в статический файл, который можно статически связать в программы и устраняет необходимость JIT во время выполнения. Он используется в операционных системах Apple iOS , Sony PlayStation 3 и Microsoft Xbox 360 . [ нужна ссылка ]
Начиная с Mono 2.6, можно настроить Mono для использования LLVM в качестве механизма генерации кода вместо собственного механизма генерации кода Mono. Это полезно для высокопроизводительных вычислительных нагрузок и других ситуаций, когда производительность выполнения более важна, чем производительность запуска.
Начиная с предварительной версии Mono 2.7, больше нет необходимости выбирать один движок вместо другого во время настройки. Механизм генерации кода можно выбрать при запуске с помощью --llvm
или --nollvm
аргументы командной строки, и по умолчанию используется быстрозапускаемый механизм генерации кода Mono.
Начиная с Mono 5.18, поддержка LLVM является опцией конфигурации по умолчанию. Предыдущие версии требовали специальной вилки LLVM, но теперь mono может использовать собственный генератор кода, когда сталкивается с чем-то, что не обрабатывается LLVM. [28]
Сборщик мусора [ править ]
Начиная с Mono 2.8, среда выполнения Mono поставляется с двумя сборщиками мусора : сборщиком поколений и консервативным сборщиком мусора Боэма-Демерса-Вейзера . Сборщик мусора Boehm может обнаруживать утечки памяти в определенных классах приложений, что делает его непригодным для некоторых долго работающих серверных приложений. [29] [30] Mono переключился на Simple Generational GC (SGen-GC) в качестве сборщика по умолчанию в версии 3.1.1.
Сборщик мусора SGen имеет множество преимуществ перед традиционным консервативным сканером. Он использует сбор мусора поколений , при котором новые объекты выделяются из питомника, во время цикла сбора мусора все выжившие объекты переносятся в пул памяти старого поколения. Идея состоит в том, что многие объекты являются временными и могут быть быстро собраны, и лишь несколько объектов являются долгосрочными объектами, которые живут в течение всей жизни приложения. Чтобы повысить производительность, этот сборщик назначает пулы памяти каждому потоку, чтобы позволить потокам выделять новые блоки памяти без необходимости координации с другими потоками. Миграция объектов из питомника в старое поколение осуществляется путем копирования данных из питомника в пул старого поколения и обновления всех активных указателей, которые указывают на данные, чтобы они указывали на новое местоположение. Это может быть дорого для больших объектов, поэтому SGen Mono использует отдельный пул памяти для больших объектов (раздел больших объектов) и использует для этих объектов алгоритм пометки и очистки. [29]
Библиотека классов [ править ]
Библиотека классов предоставляет полный набор средств для разработки приложений. В основном они написаны на C#, но благодаря спецификации общего языка их можно использовать на любом языке .NET. Библиотека классов структурирована по пространствам имен и развертывается в общих библиотеках, известных как сборки. Говоря о .NET Framework, мы в первую очередь имеем в виду эту библиотеку классов. [31]
Пространства имен и сборки [ править ]
Пространства имен — это механизм логической группировки схожих классов в иерархическую структуру. Это предотвращает конфликты имен. Структура реализована с использованием слов, разделенных точкой, где наиболее распространенным пространством имен верхнего уровня является System, например System.IO и System.Net. Существуют и другие пространства имен верхнего уровня, такие как Accessibility и Windows. Пользователь может определить пространство имен, помещая элементы внутри блока пространства имен.
Сборки — это физическая упаковка библиотек классов. Это файлы .dll, такие же (но не путать с ними) общие библиотеки Win32. Примерами сборок являются mscorlib.dll, System.dll, System.Data.dll и Accessibility.dll. Пространства имен часто распределяются между несколькими сборками, и одна сборка может состоять из нескольких файлов.
Общеязыковая инфраструктура общеязыковая спецификация и
Инфраструктура общего языка (CLI) , реализованная средой выполнения Common Language (CLR) , реализуется исполняемым файлом Mono. Среда выполнения компилирует и выполняет приложения .NET. Общая языковая инфраструктура определяется стандартом ECMA. [25] Чтобы запустить приложение, необходимо вызвать среду выполнения с соответствующими параметрами.
Спецификация общего языка (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:
- Компилятор C# как услуга (используйте компилятор C# как библиотеку). [32]
- Интерактивная оболочка C#. [33]
- SIMD Поддержка [34] как часть пространства имен Mono.SIMD, где вызовы методов специальных векторных типов напрямую сопоставляются с инструкциями SIMD базового процессора.
- Полная статическая компиляция кода .NET. [35] (используется на Mono/iPhone, Mono/PS3).
- Моно -сопрограммы (используются для реализации микропоточного кода и продолжений , в основном для разработчиков игр). [36]
- Внедрение сборок в живые процессы. [37]
- Использование LLVM в качестве JIT-сервера.
- Cxxi и CppSharp напрямую взаимодействуют с кодом и библиотеками C++.
Кроме того, Mono доступен в различных операционных системах и архитектурах. [38]
Системные требования [ править ]
Windows 7, Windows 8, Windows 8.1, Windows 10, macOS или Linux
Связанные проекты [ править ]
Несколько проектов расширяют Mono и позволяют разработчикам использовать его в своей среде разработки. Эти проекты включают в себя:
Кроссплатформенность:
- Banshee Media Player (заморожен), кроссплатформенный музыкальный медиаплеер, созданный на основе Mono и Gtk#, а также драйвер десятков библиотек и проектов на основе C# для обработки мультимедиа.
- Beagle (не поддерживается), поисковая система для систем Unix.
- Gecko#, привязки для встраивания механизма компоновки, используемого в Mozilla ( Gecko ).
- Gtk# , оболочки C# вокруг базовых библиотек GTK и GNOME , написанные на C и доступные в Linux, MacOS и Windows.
- Анализатор миграции Mono (MoMA) — инструмент, который помогает разработчикам Windows .NET находить области в их коде, которые могут не быть кросс-платформенными и, следовательно, не работать в Mono в Linux и других Unix-системах. Не обновляется с версии Mono 2.8 (2013 г.); Вместо этого используйте анализатор переносимости .NET Microsoft (dotnet-apiport).
- MonoCross — кроссплатформенный шаблон проектирования модель-представление-контроллер , в котором модель и контроллер используются на разных платформах, а представления уникальны для каждой платформы для оптимизированного пользовательского интерфейса. Для платформы требуются Xamarin.iOS и Xamarin.Android.
- MvvmCross — кроссплатформенная платформа Model View ViewModel, использующая Xamarin.iOS и Xamarin.Android для разработки мобильных приложений.
- MonoDevelop — кроссплатформенная интегрированная среда разработки с открытым исходным кодом, которая поддерживает создание приложений для ASP.NET, Gtk#, Meego, MonoTouch и Silverlight/Moonlight.
- Moonlight (снято с производства), реализация Silverlight , использующая Mono.
- OpenTK — управляемая привязка для OpenGL, OpenCL и OpenAL.
- QtSharp , привязки C# для платформы Qt .
- Resco MobileBusiness — кроссплатформенное решение для разработки мобильных клиентов.
- Resco MobileCRM — кроссплатформенное решение для разработчиков мобильных клиентов, синхронизированное с Microsoft Dynamics CRM .
- ServiceStack — высокопроизводительная платформа веб-служб .NET REST с открытым исходным кодом, которая упрощает разработку веб-служб XML, JSON и SOAP.
- SparkleShare — клиентское программное обеспечение с открытым исходным кодом, предоставляющее услуги облачного хранения и синхронизации файлов.
- Tao (заменен OpenTK), набор графических и игровых привязок (OpenGL, SDL, GLUT, Cg).
- Xwt — набор инструментов графического пользовательского интерфейса, который сопоставляет вызовы API с вызовами собственной платформы базовой платформы, предоставляя один унифицированный API для разных платформ и позволяя графическим пользовательским интерфейсам иметь собственный внешний вид на разных платформах. Он позволяет создавать настольные приложения на основе графического пользовательского интерфейса , которые работают на нескольких платформах, без необходимости настройки кода для разных платформ. Xwt API сопоставлен с набором собственных элементов управления на каждой поддерживаемой платформе. Функции, недоступные на определенных платформах, эмулируются с помощью собственных виджетов, которые в контексте Xwt называются хостингом. [39] Xwt частично использовался в качестве инструментария GUI (помимо GTK#) при разработке Xamarin Studio . [40] Поддерживаемые «бэкэнд-движки»: движок WPF и движок Gtk (с использованием Gtk# ) в Windows , движок Cocoa (с использованием MonoMac) и движок Gtk (с использованием Gtk#) в Mac OS X и движок Gtk (с использованием Gtk#) в Linux . [41]
macOS:
- Cocoa# — оболочки собственного набора инструментов macOS ( Cocoa ) (устарело).
- Monobjc – набор привязок для программирования под macOS.
- MonoMac — новые привязки для программирования macOS, основанные на дизайне API MonoTouch.
Мобильные платформы:
- МоноДроид. Mono для операционной системы Android. С привязками для API Android.
- Монотач . Mono для iPhone, iPad и iPod Touches. С привязкой к API iOS.
Окна:
- MonoTools для Visual Studio Плагин Visual Studio, который позволяет разработчикам Windows работать с Linux и macOS прямо из Visual Studio и интегрируется с SUSE Studio .
Другие реализации [ править ]
У Microsoft есть версия .NET 2.0, доступная теперь только для Windows XP , которая называется Shared Source CLI (Rotor) . Лицензии Microsoft на общий исходный код может быть недостаточно для нужд сообщества (она явно запрещает коммерческое использование).
Фонда свободного программного обеспечения Завершенный проект Portable.NET . [42]
MonoDevelop [ править ]
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.iOS и Xamarin.Android, разработанные Xamarin , представляют собой реализации Mono для iPhone и Android смартфонов на базе . Ранее доступный только для коммерческого лицензирования, [43] после приобретения Microsoft Xamarin в 2016 году сама среда выполнения Mono была повторно лицензирована по лицензии MIT. [44] и Xamarin.iOS, и Xamarin.Android становятся бесплатными и имеют открытый исходный код. [45]
Xamarin.iOS [ править ]
Xamarin.iOS (ранее называвшаяся MonoTouch) — это библиотека, которая позволяет разработчикам создавать приложения на основе C# и .NET, которые работают на устройствах iPhone, iPod и iPad. Он основан на платформе Mono и разработан совместно с Novell. В отличие от приложений Mono, «Приложения» Xamarin.iOS компилируются в машинный код, специально предназначенный для Apple iPhone и iPad . [46] Это необходимо, поскольку ядро iOS предотвращает JIT-компиляторов выполнение на устройстве .
Стек Xamarin.iOS состоит из:
- Составители
- C# из проекта Mono
- Сторонние компиляторы, такие как RemObject's Oxygene, также могут работать с Xamarin.iOS.
- Основные библиотеки .NET
- SDK для разработки:
- Компоновщик – используется для объединения только кода, используемого в конечном приложении.
- mtouch — собственный компилятор и инструмент, используемый для развертывания на целевом устройстве.
- Interface Builder Инструменты интеграции
- Библиотеки, которые связывают собственные API CocoaTouch.
- Xamarin Studio IDE
В качестве основной IDE используется Xamarin Studio, однако дополнительные ссылки на Xcode написаны и симулятор iOS.
С апреля по начало сентября 2010 года будущее MonoTouch было поставлено под сомнение, поскольку Apple ввела новые условия для разработчиков iPhone, которые, очевидно, запрещают им разработку на языках, отличных от C, C++ и Objective-C , а также использование промежуточного уровня между Платформа iOS и приложения для iPhone. Это сделало будущее MonoTouch и других технологий, таких как Unity , неопределенным. [47] Затем, в сентябре 2010 года, Apple отменила это ограничение, заявив, что ослабляет языковые ограничения, введенные ранее в том же году. [48] [49]
История версий [ править ]
Дата | Версия | Примечания |
---|---|---|
14 сентября 2009 г. | Монотач 1.0 [50] | Первоначальный выпуск |
5 апреля 2010 г. | Монотач 2.0 [51] | iPad Поддержка |
16 апреля 2010 г. | Монотач 3.0 [52] | айфона 4 поддержка |
6 апреля 2011 г. | Монотач 4.0 [53] | поддержка iOS 4 |
12 октября 2011 г. | Монотач 5.0 [54] | поддержка iOS 5 |
19 сентября 2012 г. | Монотач 6.0 [55] | Поддержка iOS 6 |
20 февраля 2013 г. | Хамарин.iOS 6.2 [56] | Поддержка Visual Studio |
24 июля 2013 г. | Хамарин.iOS 6.4 [57] | Поддержка асинхронности/ожидания .NET 4.5 |
19 июня 2013 г. | Хамарин.iOS 7.0 [58] | Поддержка XCode 5 и iOS 7. |
10 сентября 2014 г. | Хамарин.iOS 8.0 [59] | Поддержка iOS 8 и Xcode 6. |
16 сентября 2015 г. | Хамарин.iOS 9.0 [60] | Поддержка iOS 9 и Xcode 7. |
13 сентября 2016 г. | Хамарин.iOS 10.0 [61] | Поддержка iOS 10 и Xcode 8. |
19 сентября 2017 г. | Хамарин.iOS 11.0 [62] | Поддержка iOS 11 и Xcode 9. |
14 сентября 2018 г. | Хамарин.iOS 12.0 [63] | Поддержка iOS 12 и Xcode 10. |
13 сентября 2019 г. | Хамарин.iOS 13.0 [64] | Поддержка iOS 13 и Xcode 11. |
20 сентября 2020 г. | Хамарин.iOS 14.0 [65] | Поддержка iOS 14 и Xcode 12. |
Xamarin.Android [ править ]
Xamarin.Android (ранее известный как Mono для Android), первоначально разработанный Novell и продолженный Xamarin , является запатентованной [ нужна ссылка ] [66] реализация Mono для Android . смартфонов на базе [67] [68] [69] Впервые он был выпущен 6 апреля 2011 года. [70] Mono для Android был разработан, чтобы разработчикам было проще писать кроссплатформенные приложения, которые будут работать на всех мобильных платформах. [71] В интервью H-Online Мигель де Икаса заявил: «Наше видение состоит в том, чтобы позволить разработчикам повторно использовать свой движок и код бизнес-логики на всех мобильных платформах и заменять код пользовательского интерфейса API-интерфейсом для конкретной платформы». [72]
В августе 2010 года представитель Microsoft Том Ханрахан из Центра технологий открытого исходного кода Microsoft заявил, ссылаясь на иск, поданный Oracle против Google по поводу использования Java в Android, что «Тип действий, которые Oracle предпринимает против Google по поводу Java, не является Если бы порт .NET на Android осуществлялся через Mono, это подпадало бы под действие Соглашения об обещаниях сообщества Microsoft ». [73] [74]
Стек Xamarin.Android состоит из следующих компонентов:
- Моно среда выполнения
- Дизайнер пользовательского интерфейса Android [75]
- Библиотеки:
- Основные библиотеки классов .NET
- Библиотеки, которые связывают собственные API Android/Java.
- Инструменты SDK для упаковки, развертывания и отладки
- Интеграция Xamarin Studio и Visual Studio 2010 для разработки пользовательского интерфейса, удаленной отладки и развертывания.
Моно на macOS [ править ]
CocoaSharp [ править ]
мост Cocoa# (также известный как CocoaSharp) представлял собой платформу- для Mac OS X , которая позволяла приложениям, разработанным с использованием среды выполнения Mono, получать доступ к Cocoa API. Первоначально он был выпущен 12 августа 2004 года. [76] и был включен в дистрибутив Mono, начиная с версии 1.0.6, выпущенной 18 февраля 2005 г. [ нужна ссылка ] С 2008 года никакого развития не наблюдалось. [ нужна ссылка ] и сейчас устарел. [77]
Монобъект [ править ]
Monobjc пришел на смену CocoaSharp. Это позволяет разработчикам .NET использовать большую часть API Mac OS X, включая Cocoa, без собственного кода, сохраняя при этом собственный пользовательский интерфейс. [ нужна ссылка ]
Xamarin.Mac [ править ]
Xamarin.Mac — это библиотека, которая позволяет разработчикам запускать приложения .NET и C# на Mac . [78]
Лицензия [ править ]
Mono имеет двойную лицензию Xamarin, как и другие продукты, такие как Qt и Mozilla Application Suite . Компилятор и инструменты Mono C# выпускаются под лицензией GNU General Public License (только GPLv2) (начиная с версии 2.0 Mono, исходный код компилятора Mono C# также доступен по лицензии MIT X11 ). [79] библиотеки времени выполнения под лицензией GNU Lesser General Public License (только LGPLv2) и библиотеки классов под лицензией MIT . Все это свободное программное обеспечение и лицензии с открытым исходным кодом , и, следовательно, Mono является бесплатным программным обеспечением с открытым исходным кодом .
Лицензия компилятора C# была изменена с GPL на лицензию MIT X11. [80] чтобы разрешить повторное использование кода компилятора в нескольких случаях, когда GPL предотвратила бы такое:
- Компилятор Mono как услуга
- Интерактивная оболочка Mono
- Встраиваемый компилятор C# Mono
- Реализация динамического связывателя C# 4.0 в Mono.
- Встроенный парсер MonoDevelop и AST. график
18 марта 2016 г. приобретение Xamarin компанией Microsoft было официально закрыто. [81] 31 марта 2016 года Microsoft объявила на Microsoft Build , что они полностью повторно лицензируют Mono под лицензией MIT даже в тех сценариях, где ранее была необходима коммерческая лицензия. [82] и Microsoft заявили, что они не будут выдвигать какие-либо «применимые патенты» против сторон, которые «используют, продают, предлагают к продаже, импортируют или распространяют Mono». [83] [84] Также было объявлено, что Xamarin внес свой вклад в проект Mono в .NET Foundation. [83]
Microsoft Mono Патенты и
разработанное с помощью Mono обеспечение , Программное
Многие программы, охватывающие целый ряд приложений, были разработаны с использованием интерфейса прикладного программирования Mono (API) и 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. [85] OpenRA объединяет образы Apple Disk Image и Linux AppImages с Mono, по сути удаляя почти все зависимости из игры. [86]
История версий [ править ]
Дата | Версия [88] | Примечания |
---|---|---|
30 июня 2004 г. | 1.0 [89] | С# Поддержка 1.0 |
21 сентября 2004 г. | 1.1 [90] | |
9 ноября 2006 г. | 1.2 [91] | С# 2.0 Поддержка |
6 октября 2008 г. | 2.0 [92] | 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. |
13 января 2009 г. | 2.2 [93] | Mono переключает свой JIT-движок на новое внутреннее представление [94] это повышает производительность и вводит поддержку SIMD в Mono.Simd. [34] Пространство имен Mono.Simd. Mono представляет компиляцию Full Ahead of Time , которая позволяет разработчикам создавать полностью статические приложения, и представляет компилятор C# как услугу. [32] и интерактивная оболочка C# [33] (С# РЕПЛ) |
30 марта 2009 г. | 2.4 [95] | В этом выпуске в основном доработаны все функции, представленные в версии 2.2 и ставшие основой долгосрочной поддержки Mono в SUSE Linux. |
15 декабря 2009 г. | 2.6 [96] | Среда выполнения Mono теперь может использовать LLVM в качестве бэкэнда для генерации кода, и в этом выпуске представлены сопрограммы Mono, Mono Soft Debugger и система безопасности CoreCLR, необходимая для Moonlight и других веб-плагинов. В библиотеке классов System.IO.Packaging, клиенте WCF, сервере WCF дебютирует LINQ to SQL. Интерактивная оболочка поддерживает автозаполнение, а LINQ to SQL поддерживает несколько серверных баз данных. Представлена система сборки xbuild. |
22 сентября 2010 г. | 2.8 [97] | По умолчанию используется профиль .NET 4.0, C# 4.0 поддержка , сборщик мусора нового поколения, включает параллельные расширения , маршрутизацию WCF, CodeContracts , ASP.NET 4.0, поддержка профиля 1.0 исключена; механизм LLVM настроен на поддержку 99,9% всего сгенерированного кода, выбираемые во время выполнения llvm и gc; включает в себя среду выполнения динамического языка , MEF, ASP.NET MVC 2, открытый исходный код клиента OData от Microsoft;. Станет релизом 3.0 |
15 февраля 2011 г. | 2.10 [98] | |
18 октября 2012 г. | 3.0 [99] | C# 5.0 Поддержка , поддержка асинхронности, обновление библиотеки базовых классов Async и MVC4 — частичная, поддержка функций асинхронности отсутствует. |
24 июля 2013 г. | 3.2 [100] | Сборщиком мусора по умолчанию теперь является SGEN вместо Boehm. |
31 марта 2014 г. | 3.4 [101] | |
12 августа 2014 г. | 3.6 [102] | |
4 сентября 2014 г. | 3.8 [103] | |
4 октября 2014 г. | 3.10 [104] | |
13 января 2015 г. | 3.12 [105] | |
29 апреля 2015 г. | 4.0 [106] | По умолчанию используется профиль .NET 4.5 и поставляются только сборки .NET 4.5, по умолчанию — C# 6.0. Первый выпуск для интеграции кода Microsoft .NET Core с открытым исходным кодом. |
10 мая 2017 г. | 5.0 [107] | Поставка компилятора Roslyn C# для поддержки C#7; Добавление msbuild и прекращение поддержки xbuild для лучшей совместимости; Включение параллельного сборщика мусора SGen для сокращения времени, затрачиваемого на сборку мусора; Представляем стек AppleTLS в macOS для HTTPS-соединений; Продолжающийся прогресс в конвергенции библиотек классов .NET; Обновлен libjpeg в пакете macOS. |
14 июля 2017 г. | 5.2 [108] | Поддержка .NET Standard 2.0, строгие имена сборок и экспериментальные элементы интерфейса по умолчанию. |
5 октября 2017 г. | 5.4 [109] | JIT Runtime теперь поддерживает параллельную компиляцию методов и различные другие оптимизации производительности; Добавлены эталонные сборки .NET 4.7. |
1 февраля 2018 г. | 5.8 [110] | Начальный порт WebAssembly ; Режимы для SGen GC; Включает инструмент REPL csi (интерактивный C#) Roslyn. |
26 февраля 2018 г. | 5.10 [111] | Интерпретатор теперь включен в установку по умолчанию; среда выполнения теперь поддерживает методы интерфейса по умолчанию; WebAssembly теперь считается надежным; Поддержка .NET 4.7.1/C# 7.2/F# 4.1. |
8 мая 2018 г. | 5.12 [112] | Порт на IBM AIX/i; теперь включает VB.NET компилятор ; возможность использовать jemalloc |
7 августа 2018 г. | 5.14 [113] | Основное обновление Windows.Forms для улучшения совместимости с .NET. |
8 октября 2018 г. | 5.16 [114] | Гибридный приостановить сборщик мусора; Поддержка клиентских сертификатов; Поддержка С# 7.3 |
21 декабря 2018 г. | 5.18 [115] | поддержка .NET 4.7.2; больше кода CoreFX используется |
11 апреля 2019 г. | 5.20 [116] | SSPI (интерфейс поставщика поддержки безопасности) в сборке System.Data; Различные проблемы решены |
17 июля 2019 г. | 6.0 [117] | Компилятор C# по умолчанию использует версию C# 8.0 RC; Различные улучшения стабильности поддержки отладчика; Mono Interpreter является полнофункциональным и стабильным |
23 сентября 2019 г. | 6.4 [118] | Поддержка компилятора C# для версии языка C# 8; Поддержка .NET Standard 2.1 |
10 декабря 2019 г. | 6.6 [119] | Добавлены эталонные сборки .NET 4.8. |
15 января 2020 г. | 6.8 [120] | Различные исправления ошибок |
19 мая 2020 г. | 6.10 [121] | Различные исправления ошибок |
24 ноября 2020 г. | 6.12 [122] | Различные исправления ошибок |
См. также [ править ]
- Общеязыковая среда выполнения
- .NET Framework
- .NET , платформа с открытым исходным кодом и преемник .NET Framework.
- Стандартные библиотеки (CLI)
- Сравнение виртуальных машин приложений
- DotGNU - зонтичный проект бесплатного программного обеспечения, включающий Portable.NET.
- MonoDevelop с открытым исходным кодом, — IDE Mono, так и для Microsoft .NET Framework. предназначенная как для платформ
- Moonlight (среда выполнения) — с открытым исходным кодом, реализация Microsoft разработанная Silverlight Mono Project.
- Общеязыковая инфраструктура с общим исходным кодом - реализация .NET с общим исходным кодом от Microsoft, ранее называвшаяся Rotor.
- mod_mono — модуль для HTTP-сервера Apache , который позволяет размещать страницы ASP.NET и другие сборки на нескольких платформах с использованием Mono.
Ссылки [ править ]
Цитаты [ править ]
- ^ Представляем Mono в AIX и IBM i
- ^ «Часто задаваемые вопросы: Лицензирование» . Проверено 3 июля 2020 г.
- ^ «Microsoft приобретет Xamarin и предоставит большему числу разработчиков возможность создавать приложения на любых устройствах» . Официальный блог Microsoft . 24 февраля 2016 г. Проверено 24 февраля 2016 г.
- ^ Бонистил, Стивен (23 июня 2000 г.). «Microsoft не видит в будущем ничего, кроме .NET» . ЗДНет. Архивировано из оригинала 5 ноября 2011 года . Проверено 5 апреля 2011 г.
- ^ «ECMA-335-Часть-I-IV - ECMA-335, 1-е издание, декабрь 2001 г.» (PDF) .
- ^ Уилкокс, Джо; Шенкленд, Стивен (28 июня 2001 г.). «Microsoft стремится к совместному использованию кода» . ЗДНет.
- ^ «[Моно-список] Ранняя история моно» . 13 октября 2003 г. Архивировано из оригинала 6 июня 2011 г. Проверено 30 марта 2005 г.
- ^ «Выпущена реализация OSS .NET Mono 1.0 — Ars Technica» . АрсТехника . 30 июня 2004 г. Проверено 23 октября 2009 г.
- ^ «Поддерживаемые платформы» . Моно сайт.
- ^ Коеп, Пол (2 мая 2011 г.). «Сотрудники говорят, что в офисе Novell в Прово уволены сотни сотрудников» . КСЛ-ТВ . Проверено 7 мая 2011 г.
- ^ Дж. Воан-Николс, Стивен (4 мая 2011 г.). «Моно мертв? Умирает ли Novell?» . ЗДНет . Проверено 7 мая 2011 г.
- ^ Кларк, Гэвин (3 мая 2011 г.). «Клоны .NET Android и iOS, удаленные Attachmate» . Регистр . Проверено 7 мая 2011 г.
- ^ «Анонс Xamarin — Мигель де Икаса» . Тирания.орг. 16 мая 2011 г. Проверено 17 июля 2013 г.
- ^ «Смерть и возрождение Моно» . infoq.com. 17 мая 2011 г. Проверено 29 мая 2011 г.
Даже если они его не поддерживают, у них есть продукт, который составляет прямую конкуренцию будущим предложениям Xamarin. Без какого-либо юридического соглашения между Attachmate и Xamarin последний столкнулся бы с пугающей перспективой доказать, что их новая разработка не использует никаких технологий, которые использовались в старой. Учитывая, что на самом деле это всего лишь оболочка собственного API, будет сложно доказать, что у вас есть чистая реализация, даже для команды, которая не была хорошо знакома с кодом Attachmate.
- ^ «SUSE и Xamarin сотрудничают для ускорения инноваций и поддержки моно-клиентов и сообщества» . Новелл . 18 июля 2011 г. Проверено 18 июля 2011 г.
Соглашение предоставляет Xamarin широкую бессрочную лицензию на всю интеллектуальную собственность, включая Mono, MonoTouch, Mono для Android и Mono Tools для Visual Studio. Xamarin также будет предоставлять техническую поддержку клиентам SUSE, использующим продукты на основе Mono, и возьмет на себя управление проектом сообщества Mono с открытым исходным кодом.
- ^ де Икаса, Мигель (18 июля 2011 г.). «Партнерство Novell/Xamarin вокруг Mono» . Проверено 18 июля 2011 г.
- ↑ Перейти обратно: Перейти обратно: а б де Икаса, Мигель (07 марта 2011 г.). «КРИ 2011» . Проверено 11 марта 2011 г.
У нас нет планов по созданию WPF. У нас просто нет человеческих ресурсов для создания реализации в разумные сроки (...) Для инструментов, которые в основном основаны на OpenGL/DirectX, используйте Windows.Forms, помня, что некоторые исправления ошибок или обходные пути их часть может потребоваться, поскольку наш Windows.Forms активно не развивается.
- ^ «Список моносовместимости» .
- ^ «Дорожная карта проекта Mono — Mono» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Лунная дорожная карта» . Команда Моно . Проверено 8 ноября 2008 г.
- ^ «Выпуск Moonlight 2, дорожная карта Moonlight 3 и 4 — Мигель де Икаса» . Тирания.орг. 17 декабря 2009 г. Проверено 17 июля 2013 г.
- ^ «Лунный свет 3.0, превью 1 — Мигель де Икаса» . Тирания.орг. 3 февраля 2010 г. Проверено 17 июля 2013 г.
- ^ «Xamarin отказывается от технологии Silverlight для Linux» . ЗДНет .
- ↑ Перейти обратно: Перейти обратно: а б «Экма-335» .
- ^ «Технет.com» . Архивировано из оригинала 23 мая 2013 г. Проверено 7 июля 2009 г.
- ^ «Доступ к базе данных — моно» .
- ^ «Моно ЛЛВМ» . Мононуклеоз .
- ↑ Перейти обратно: Перейти обратно: а б «Уплотнение GC» . mono-project.com . Проверено 16 декабря 2008 г.
- ^ Бём, Ханс-Й. «Преимущества и недостатки консервативного сбора мусора» . Ксерокс ПАРК . Архивировано из оригинала 24 июля 2013 г. Проверено 16 декабря 2008 г.
- ^ «Архитектура .NET Framework» . официальная документация Mono.
- ↑ Перейти обратно: Перейти обратно: а б «Компилятор C# Mono как служба в Windows. — Мигель де Икаса» . Тирания.орг. 27 апреля 2010 г. Проверено 17 июля 2013 г.
- ↑ Перейти обратно: Перейти обратно: а б «CsharpRepl — Моно» . Mono-project.com . Проверено 17 июля 2013 г.
- ↑ Перейти обратно: Перейти обратно: а б «Поддержка SIMD Mono: делаем Mono безопасным для игр — Мигель де Икаса» . Тирания.орг. 03.11.2008 . Проверено 17 июля 2013 г.
- ^ де Икаса, Мигель. «Статическая компиляция в моно» .
- ^ «Продолжение — Моно» .
- ^ де Икаса, Мигель. «Моновация: внедрение сборки в живые процессы» .
- ^ «Поддерживаемые платформы — моно» .
- ^ Нараянасвами, Ананд (23 ноября 2012 г.). «Создание кроссплатформенных приложений с помощью Xwt» . ИнфоQ . Архивировано из оригинала 15 апреля 2016 г. Проверено 15 апреля 2016 г.
- ^ де Икаса, Мигель (22 февраля 2013 г.). «Создание Xamarin Studio» . ИнфоQ . Архивировано из оригинала 15 апреля 2016 г. Проверено 15 апреля 2016 г.
- ^ «XWT Прочти меня» . Xwt на GitHub . 15 января 2012 г. Архивировано из оригинала 16 апреля 2016 г. Проверено 15 апреля 2016 г.
- ^ «Проект DotGNU» . Проверено 2 июня 2014 г.
- ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ" . os.xamarin.com. 01.08.2011.
MonoTouch — это коммерческий продукт, основанный на проекте Mono с открытым исходным кодом, который лицензируется на каждого разработчика.
- ^ «Моноперелицензионный MIT» . www.mono-project.com. 31 марта 2016 г.
- ^ «Xamarin для всех» . blog.xamarin.com. 31 марта 2016 г.
сегодня мы объявляем о своем намерении открыть исходный код Xamarin SDK для Android, iOS и Mac под лицензией MIT в ближайшие месяцы.
- ^ «MonoTouch и iPhone 4» .
Приложения, созданные с помощью MonoTouch, являются собственными приложениями, неотличимыми от других собственных приложений.
- ^ «Apple нацеливается на Adobe… или Android?» . 9 апреля 2010 г.
- ^ «Заявление Apple о правилах проверки App Store» .
Основываясь на их отзывах, сегодня мы вносим некоторые важные изменения в нашу лицензию Программы разработчиков iOS в разделах 3.3.1, 3.3.2 и 3.3.9, чтобы ослабить некоторые ограничения, которые мы ввели ранее в этом году. В частности, мы ослабляем все ограничения на инструменты разработки, используемые для создания приложений iOS, при условии, что полученные приложения не загружают какой-либо код. Это должно дать разработчикам необходимую им гибкость, сохраняя при этом необходимую нам безопасность.
- ^ «Отличные новости для пользователей MonoTouch» .
Благодаря этим новым терминам двусмысленность исчезла, и любители и энтузиасты C# могут вернуться к использованию MonoTouch. Разработчики, которым нравится сбор мусора и их строго типизированные языки, могут возобновить свою работу.
- ^ де Икаса, Мигель. «MonoTouch 1.0 выходит в свет» .
- ^ «МоноТач 2.0.0» . Ксамарин .
- ^ «МоноТач 3.0.0» . Ксамарин .
- ^ «МоноТач 4.0.0» . Ксамарин .
- ^ «МоноТач 5.0» . Ксамарин .
- ^ «МоноТач 6.0» . Ксамарин .
- ^ «Xamarin.iOS 6.2» . Ксамарин . 28 января 2023 г.
- ^ «Xamarin.iOS 6.4» . Ксамарин . 8 июля 2022 г.
- ^ «iOS 7 и Xamarin: готовы, когда вы готовы» . Блог Xamarin . 18 сентября 2013 г. Проверено 20 марта 2021 г.
- ^ «iOS 8 больше и лучше с Xamarin» . Блог Xamarin . 10 сентября 2014 г. Проверено 20 марта 2021 г.
- ^ «Xamarin для iOS 9: более глубокий поиск» . Блог Xamarin . 16 сентября 2015 г. Проверено 20 марта 2021 г.
- ^ «Основные обновления: iOS 10, Android Nougat и другие вкусности» . Блог Xamarin . 13 сентября 2016 г. Проверено 20 марта 2021 г.
- ^ спулиот. «Примечания к выпуску Xamarin.iOS 11.0 — Xamarin» . docs.microsoft.com . Проверено 20 марта 2021 г.
- ^ спулиот. «Примечания к выпуску Xamarin.iOS 12.0 — Xamarin» . docs.microsoft.com . Проверено 20 марта 2021 г.
- ^ спулиот. «Примечания к выпуску Xamarin.iOS 13.0 — Xamarin» . docs.microsoft.com . Проверено 20 марта 2021 г.
- ^ спулиот. «Примечания к выпуску Xamarin.iOS 14.0 — Xamarin» . docs.microsoft.com . Проверено 20 марта 2021 г.
- ^ «Как лицензируется Mono для Android?» . Часто задаваемые вопросы по Mono для Android. 28 августа 2011 г. Проверено 29 марта 2012 г.
- ^ «Проект Novell Mono, обеспечивающий разработку .Net для Android» . СетьМир.
- ^ «Проект Novell Mono, обеспечивающий разработку .Net для Android» . ИнфоМир. 16 марта 2010 г.
- ^ «MonoDroid: поддержка .NET появится в Android» . TechieBuzz. 18 октября 2022 г.
- ^ «Mono для Android переносит C# в Android» . Хейзе онлайн . 07.04.2011 . Проверено 7 апреля 2011 г.
- ^ «Novell (Mono/C#) разрабатывает MonoDroid» . Андроид-сообщество. 18 февраля 2010 г.
Это облегчит разработчикам создание кроссплатформенных приложений, а также перенос некоторых существующих приложений, созданных с использованием MonoTouch, на Android.
- ^ «Моно для Android» . H-Онлайн.
Наше видение состоит в том, чтобы позволить разработчикам повторно использовать свой движок и код бизнес-логики на всех мобильных платформах и заменять код пользовательского интерфейса API-интерфейсом для конкретной платформы.
- ^ «Microsoft не остановит (Mono) .NET на Android» . ТехМир.
Действия, которые Oracle предпринимает против Google из-за Java, не произойдут. Если бы порт .NET на Android осуществлялся через Mono, это подпадало бы под действие Соглашения об обещаниях сообщества Microsoft.
- ^ «Microsoft заявляет, что .NET на Android безопасен, и никаких судебных разбирательств, таких как Oracle» , — . Разработчик Fusion.
- ^ «Xamarin Designer для Android» . Журнал Visual Studio.
14 мая Xamarin анонсировала Mono для Android 4.2.
- ^ «Cocoa# находится в стадии разработки; доступны первые скриншоты – OSnews» .
- ^ «macOS | Моно» . www.mono-project.com . Проверено 4 февраля 2023 г.
- ^ Давидортинау. «Xamarin.Mac — Xamarin» . Learn.microsoft.com . Проверено 4 февраля 2023 г.
- ^ «Компилятор Mono C# под лицензией MIT X11» . Novell Inc., 08 апреля 2008 г. Архивировано из оригинала 13 мая 2008 г. Проверено 9 апреля 2008 г.
- ^ де Икаса, Мигель. «Компилятор Mono C# теперь также имеет лицензию MIT X11» .
- ^ «Xamarin для всех» . Блог Xamarin . Ксамарин. 31 марта 2016 г. Архивировано из оригинала 12 апреля 2016 г. Проверено 12 апреля 2016 г.
- ^ Андерсон, Тим (31 марта 2016 г.). «Microsoft сделает инструменты и код Xamarin бесплатными и с открытым исходным кодом» . Регистр .
- ↑ Перейти обратно: Перейти обратно: а б Феррайра, Бруно (31 марта 2016 г.). «Теперь Xamarin поставляется бесплатно с Visual Studio» . Технический отчет .
- ^ «Патентное обещание Microsoft для Mono» . Моно на GitHub . Монопроект. 28 марта 2016 г. Архивировано из оригинала 12 апреля 2016 г. Проверено 12 апреля 2016 г.
- ^ «Компании, использующие Mono» . Монопроект . Монопроект . Проверено 30 августа 2015 г.
- ^ Пол Чот: OpenRA: Playtest 20190825 , 25 августа 2019 г.
- ^ «Моно-релизы» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Старые выпуски» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 1.0» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Моно 1.1.1: Версия для разработки» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Моно 1.2: Примечания к выпуску» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.0» . Mono-project.com. 06.10.2008 . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.2» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Линейный ИК – Моно» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.4» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.6» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.8» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 2.10» . Mono-project.com . Проверено 17 июля 2013 г.
- ^ «Примечания к выпуску Mono 3.0» . Mono-project.com . Проверено 23 сентября 2013 г.
- ^ «Примечания к выпуску Mono 3.2» . Mono-project.com . Проверено 23 сентября 2013 г.
- ^ «Примечания к выпуску Mono 3.4» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Примечания к выпуску Mono 3.6» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Примечания к выпуску Mono 3.8» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Примечания к выпуску Mono 3.10» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Примечания к выпуску Mono 3.12» . Mono-project.com . Проверено 4 апреля 2015 г.
- ^ «Примечания к выпуску Mono 4.0» . Mono-project.com . Проверено 03 мая 2015 г.
- ^ «Примечания к выпуску Mono 5.0» . Mono-project.com . Проверено 13 мая 2017 г.
- ^ «Примечания к выпуску Mono 5.2.0» .
- ^ «Примечания к выпуску Mono 5.4.0» .
- ^ «Примечания к выпуску Mono 5.8.0» .
- ^ «Примечания к выпуску Mono 5.10.0» .
- ^ «Примечания к выпуску Mono 5.12.0» .
- ^ «Примечания к выпуску Mono 5.14.0» .
- ^ «Примечания к выпуску Mono 5.16.0» .
- ^ «Примечания к выпуску Mono 5.18.0» .
- ^ «Примечания к выпуску Mono 5.20.0» .
- ^ «Примечания к выпуску Mono 6.0.0» .
- ^ «Примечания к выпуску Mono 6.4.0» .
- ^ «Примечания к выпуску Mono 6.6.0» .
- ^ «Примечания к выпуску Mono 6.8.0» .
- ^ «Примечания к выпуску Mono 6.10.0» .
- ^ «Примечания к выпуску Mono 6.12.0» .
Источники [ править ]
- Mono В эту статью включен текст с домашней страницы , которая тогда находилась под лицензией свободной документации GNU .
- де Икаса, Мигель (13 октября 2003 г.). «[Моно-список] Ранняя история моно». . Архивировано из оригинала (списка рассылки) 6 июня 2011 года . Проверено 6 декабря 2005 г.
- Дамбилл, Эдд (11 марта 2004 г.). «Станет ли Mono предпочтительной платформой для разработки под Linux?» . ONЛампа. Архивировано из оригинала 19 октября 2006 года . Проверено 14 октября 2006 г.
- Лоли-Керу, Евгения (22 февраля 2005 г.). «Моно-приложения? Множество!» . ОСНовости . Проверено 6 декабря 2005 г.
- Кернер, Шон Майкл (18 ноября 2005 г.). «Монопроект становится виртуальным» . Новости Интернета . Проверено 14 октября 2006 г.
- Кернер, Шон Майкл (9 ноября 2006 г.). «С опозданием на несколько месяцев Novell выпускает Mono 1.2» . интернетньюс.com.
- Норткатт, Кори (12 октября 2006 г.). «В мире mod_mono» . Вездесущность. Архивировано из оригинала 23 февраля 2007 года . Проверено 14 октября 2006 г.
- Кэмпбелл, Шон (8 октября 2008 г.). «Интервью с Джозефом Хиллом — менеджером по продукту — Mono — Novell» . ХСИБ . Проверено 8 октября 2008 г.
- Смит, Тим (9 сентября 2010 г.). «Краткое введение в проблемы патентов на Java и .NET» . ИнфоQ . Проверено 13 сентября 2010 г.
Внешние ссылки [ править ]
- Официальный сайт
- Главная страница MonoTouch для переноса на Apple Inc. портативные продукты