IronRuby - это реализация языка программирования Ruby, ориентированная на Microsoft .NET Framework . Он реализован поверх Dynamic Language Runtime (DLR), библиотеки, работающей поверх Common Language Infrastructure, которая обеспечивает динамическую типизацию и отправку динамических методов, среди прочего, для динамических языков.
Автор (ы) оригинала | Команда Microsoft Dynamic Language Runtime Team |
---|---|
Разработчики) | .NET Foundation |
Первый выпуск | 31 августа 2007 г . |
Стабильный выпуск | IronRuby 1.0 / 12 апреля 2010 г . |
Предварительный выпуск | IronRuby 1.1.3 / 13 марта 2011 г . |
Репозиторий | github |
Написано в | C # |
Операционная система | Windows , Linux , macOS |
Платформа | .NET Framework , Mono |
Тип | Компилятор языка программирования Ruby [1] [2] |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www |
В настоящее время проект неактивен, последний выпуск IronRuby (версия 1.1.3) был выпущен в марте 2011 года.
История
30 апреля 2007 года на MIX 2007 Microsoft анонсировала IronRuby, которая с разрешения использует то же имя, что и проект Уилко Бауэра IronRuby. [3] Его планировалось представить публике на OSCON 2007. [4]
23 июля 2007 года, как и было обещано, Джон Лам и команда разработчиков DLR представили на OSCON предварительную альфа-версию компилятора IronRuby. Он также объявил о кратких сроках дальнейшей интеграции IronRuby в сообщество с открытым исходным кодом. [5]
31 августа 2007 года Джон Лам и команда разработчиков DLR выпустили код на этапе предварительной альфа- версии на RubyForge. [6] Исходный код продолжал регулярно обновляться основной командой Microsoft (но не при каждой проверке ). Команда также не принимает вклады сообщества в основную библиотеку среды выполнения динамического языка , по крайней мере, на данный момент. [7]
24 июля 2008 года команда IronRuby выпустила первую бинарную альфа-версию в соответствии с OSCON 2008. [8] 19 ноября 2008 года они выпустили вторую альфа-версию.
Команда активно работала над поддержкой Rails на IronRuby. [9] [10] Некоторые функциональные тесты Rails начали выполняться, но еще нужно было проделать много работы, чтобы иметь возможность запускать Rails в производственной среде. [11]
21 мая 2009 года они выпустили версию 0.5 вместе с RailsConf 2009. С этой версией IronRuby мог запускать некоторые приложения Rails , но все еще не в производственной среде. [12]
Версия 0.9 была анонсирована как OSCON 2009. [13] Эта версия улучшила производительность. [14] Версия 1.0 RC1 стала доступна 20 ноября 2009 г. [15]
Версия 1.0 стала доступна 12 апреля 2010 года в двух разных версиях:
- Предпочтительный вариант, работающий поверх .NET 4.0.
- Версия с более ограниченными функциями, работающая поверх .NET 2.0. Эта версия была единственной, совместимой с Mono . [16]
Команда IronRuby планировала поддерживать Ruby 1.8.6 только для выпусков 1.0, а версию 1.9 - только для будущих выпусков 1.x, пропуская поддержку Ruby 1.8.7. [17] [18]
В июле 2010 года Microsoft уволила Джимми Шементи , одного из двух оставшихся членов основной команды IronRuby, и прекратила финансирование проекта. [19] [20] В октябре 2010 года Microsoft объявила, что проекты Iron (IronRuby и IronPython ) меняются на «внешние» проекты и позволяют «членам сообщества вносить вклад без участия Microsoft или спонсорства со стороны сотрудника Microsoft». [21]
Последний опубликованный выпуск IronRuby был выпущен 13 марта 2011 года как версия 1.1.3. [22]
Архитектура
Поддержка моно
IronRuby может работать на Mono так же хорошо, как и на Microsoft Common Language Runtime (CLR), [23] но поскольку команда IronRuby тестирует его только с CLR в Windows ., [24] он может не строиться на Mono в зависимости от сборки . [25] [26] [27]
Совместимость с .NET
Взаимодействие между классами IronRuby и обычными классами .NET Framework очень ограничено, поскольку многие классы Ruby не являются классами .NET. [28] Однако лучшая поддержка динамических языков в .NET 4.0 может улучшить взаимодействие в будущем. [29]
Поддержка Silverlight
IronRuby поддерживался в Silverlight . Его можно использовать как движок сценариев в браузере, как и движок JavaScript . [30] Скрипты IronRuby передавались как простые клиентские JavaScript-скрипты в