stringtranslate.com

ЖелезныйРубин

IronRuby — это реализация языка программирования Ruby, ориентированная на Microsoft .NET Framework . Она реализована поверх Dynamic Language Runtime (DLR), библиотеки, работающей поверх Common Language Infrastructure , которая обеспечивает динамическую типизацию и динамическую диспетчеризацию методов, среди прочего, для динамических языков.

В настоящее время проект неактивен, последний релиз IronRuby (версия 1.1.3) был в марте 2011 года.

История

30 апреля 2007 года на MIX 2007 компания Microsoft анонсировала IronRuby, который с разрешения использует то же имя, что и проект IronRuby Вилко Бауэра. [3] Планировалось, что он будет представлен публике на OSCON 2007. [4]

23 июля 2007 года, как и было обещано, Джон Лэм и команда разработчиков DLR представили предварительную альфа-версию компилятора IronRuby на OSCON. Он также объявил о кратких сроках дальнейшей интеграции IronRuby в сообщество разработчиков ПО с открытым исходным кодом. [5]

31 августа 2007 года Джон Лэм и команда разработчиков DLR опубликовали код в стадии предварительной альфа-версии на RubyForge. [6] Исходный код продолжает регулярно обновляться основной командой Microsoft (но не при каждой регистрации ). Команда также не принимает вклады сообщества в основную библиотеку Dynamic Language Runtime , по крайней мере, на данный момент. [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 года в двух различных вариантах:

Команда 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] [30]

Поддержка Silverlight

IronRuby поддерживался в Silverlight . Его можно было использовать как скриптовый движок в браузере, как и движок JavaScript . [31] Скрипты IronRuby передавались как простые клиентские JavaScript-скрипты в <script>-тегах. Затем также можно было изменять встроенную разметку XAML . [32]

Технология, лежащая в основе этого, называлась Гештальт. [33]

 //Скрипт инициации DLR  . <script src= "http://gestalt.ironruby.net/dlr-latest.js" type= "text/javascript" >   // Скрипт
на стороне клиента  , переданный  в  IronRuby  и  Silverlight. <script type= "text/ruby" > window.Alert("Привет от Ruby") </script>    

То же самое сработало и для IronPython . [34]

Тестирование инфраструктуры

IronRuby интегрировал RubySpec , который является проектом по написанию полной, исполняемой спецификации для языка программирования Ruby. Репозиторий IronRuby Git включает копию тестов RubySpec, включая тестовую структуру MSpec. [35]

Лицензия

IronRuby ранее выпускался под лицензией Microsoft Public License , которая является сертифицированной OSI лицензией в стиле BSD . [36]

16 июля 2010 года Microsoft повторно лицензировала IronRuby вместе с DLR под лицензией Apache License 2.0 . [37]

Дальнейшее чтение

Смотрите также

Ссылки

  1. ^ S. Somasegar . "Early look at IronRuby" . Получено 25 июля 2007 г.
  2. ^ "RubyForge: IronRuby: Project Info". Архивировано из оригинала 25 сентября 2016 г. Получено 7 сентября 2007 г.
  3. ^ Wilco Bauwer. "Microsoft's Iron Ruby". Архивировано из оригинала 29 сентября 2007 г. Получено 24 июля 2007 г.
  4. ^ Джон Лэм. "Microsoft and IronRuby". Архивировано из оригинала 12 июня 2007 г. Получено 18 июня 2007 г.
  5. ^ Джон Лэм. "Первый взгляд на IronRuby". Архивировано из оригинала 26 июля 2007 г. Получено 23 июля 2007 г.
  6. ^ Лэм, Джон. "IronRuby на Rubyforge!". Архивировано из оригинала 3 сентября 2007 г. Получено 31 августа 2007 г. Сегодня вы должны проверить исходный код из репозитория IronRuby Subversion на Rubyforge. Вам понадобится клиент Subversion; мы рекомендуем TortoiseSVN. Для сборки исходных кодов из командной строки на вашем компьютере также должен быть установлен Ruby
  7. ^ Лэм, Джон (29 апреля 2008 г.). "Относительно IronRuby... Как верно это звучит в этом блоге". Архивировано из оригинала 16 марта 2009 г. Получено 25 мая 2008 г. DLR не принимает вклады от сообщества (...) Сегодня мы не отправляем в SVN при каждой успешной регистрации SNAP
  8. ^ Лэм, Джон (24 июля 2008 г.). "IronRuby at OSCON". Архивировано из оригинала 7 августа 2008 г. Получено 4 августа 2008 г. Мы отправляем наш первый бинарный релиз. В этом пакете мы придерживаемся подхода "батарейки включены" и отправляем стандартные библиотеки Ruby в нем
  9. ^ "IronRuby on Rails". Архивировано из оригинала 29 мая 2009 г. Получено 25 мая 2008 г.
  10. Лэм, Джон (24 мая 2008 г.). "IronRuby r112 вышел". Архивировано из оригинала 16 марта 2009 г. Получено 25 мая 2008 г.
  11. ^ Лэм, Джон (25 мая 2008 г.). "IronRuby / Rails Question". Архивировано из оригинала 17 марта 2009 г. Получено 25 мая 2008 г. Я не думаю, что мы уже близки к концу игры :) Сейчас мы едва можем запускать функциональные тесты Rails, и предстоит еще много работы с библиотеками, прежде чем мы начнем думать о развертывании
  12. ^ Schementi, Jimmy (25 мая 2008 г.). "IronRuby на RailsConf 2009" . Получено 25 мая 2008 г. IronRuby , работающий на Rails, не является чем-то новым, но делать это хорошо или полностью – это так. IronRuby теперь может запускать настоящие приложения Rails, а не просто игрушечные примеры Hello World. Это не означает, что IronRuby на Rails готов к производству, но это отличный показатель прогресса
  13. ^ "IronRuby 0.9". 23 июля 2009 г. Архивировано из оригинала 12 мая 2009 г. Получено 3 августа 2009 г.
  14. ^ Кангиано, Антонио (3 августа 2009 г.). "Сравнение производительности IronRuby, Ruby 1.8 и Ruby 1.9 на Windows" . Получено 3 августа 2009 г.
  15. ^ "IronRuby 1.0RC1". 20 ноября 2009 г. Архивировано из оригинала 21 декабря 2009 г. Получено 29 декабря 2009 г.
  16. ^ "Заметки о выпуске IronRuby 1.0". 12 апреля 2010 г. Архивировано из оригинала 16 апреля 2010 г. Получено 17 апреля 2010 г. IronRuby теперь поставляется в двух вариантах: один работает поверх .NET 4.0, а другой работает на любой более ранней платформе, начиная с .NET 2.0 SP1. Вариант .NET 4.0 отличается более быстрым временем запуска, совместимостью с ключевым словом C# dynamic и доступом к новым функциям .NET 4.0. Поэтому сейчас предпочтительнее загружать вариант .NET 4.0, так как Microsoft .NET Framework 4.0 уже доступен для общего пользования. Для совместимости с Mono используйте zip-файл выпуска для 2.0 SP1.
  17. ^ "MRI 1.8.7 compatible". 12 февраля 2010 г. Архивировано из оригинала 28 сентября 2011 г. Получено 6 марта 2010 г.
  18. ^ "MRI 1.8.7 совместимость". 14 февраля 2010 г. Архивировано из оригинала 28 сентября 2011 г. Получено 6 марта 2010 г. Выпуски IronRuby 1.0.x: совместимы ТОЛЬКО с ruby-1.8.6; Выпуски IronRuby 1.x: совместимы ТОЛЬКО с ruby-1.9
  19. ^ «Это не ты, это я: Microsoft убивает IronRuby». InfoWorld . 11 августа 2010 г. Получено 28 декабря 2012 г.
  20. ^ Schementi, Jimmy (6 августа 2010 г.). ""Начните распространять новости": будущее Jimmy и IronRuby" . Получено 28 декабря 2012 г. В целом, я вижу серьезную нехватку приверженности IronRuby и динамическому языку в .NET в целом. На момент моего ухода Томас и я были единственными сотрудниками Microsoft, работавшими над IronRuby.
  21. ^ Зандер, Джейсон. «Новые компоненты и участники для IronPython и IronRuby». Microsoft . Получено 27 декабря 2014 г.
  22. ^ "IronRuby 1.1.3". ironruby.codeplex.com. 13 марта 2011 г. Архивировано из оригинала 30 мая 2013 г. Получено 19 мая 2013 г.
  23. ^ Мигель де Икаса (27 июля 2009 г.). "Улучшение совместимости Mono с .NET CLR" . Получено 3 августа 2009 г. Насколько мы помним, большинство новых версий IronPython, IronRuby или Dynamic Language Runtime раскрывали новые отсутствующие функциональные возможности в Mono.
  24. ^ Санхён, Со (6 августа 2008 г.). "IronRuby and Mono". Архивировано из оригинала 16 марта 2009 г. Получено 13 сентября 2008 г.
  25. ^ Вандер Шельден, Вим (4 сентября 2008 г.). "IronRuby and Mono". Архивировано из оригинала 16 марта 2009 г. Получено 13 сентября 2008 г.
  26. Холл, Бен (23 января 2009 г.). «DLR Daily Builds (включая IronRuby)». Архивировано из оригинала 15 марта 2009 г. Получено 23 января 2009 г.
  27. Porto Carrero, Ivan (26 мая 2009 г.). "mono builds". Архивировано из оригинала 23 февраля 2012 г. Получено 5 июня 2009 г.
  28. ^ Hagenlocher, Curt (16 декабря 2008 г.). "Xna+IronRuby+RubyNewb=headache". Архивировано из оригинала 16 марта 2009 г. Получено 20 декабря 2008 г.
  29. ^ Brotherus, Robert (12 декабря 2008 г.). "WPF databinding with ruby ​​objects". Архивировано из оригинала 25 марта 2009 г. Получено 13 декабря 2008 г.
  30. ^ «Динамический .NET — Создание интерактивных карт Bing с помощью Silverlight и IronRuby». learn.microsoft.com .
  31. ^ IronRuby в браузере - IronRuby.net
  32. ^ "Создание приложения WPF в IronRuby". InfoQ .
  33. ^ Шементин, Джимми (22 июля 2009 г.). «Гештальт: Ruby и Python в браузере, снова» . Получено 19 января 2018 г.
  34. ^ "Silverlight: Внедрение сценариев IronRuby/DLR в XAML с использованием IValueConverter и пользовательского элемента управления | Крис Питчманн". pietschsoft.com .
  35. ^ "RubySpec". GitHub . Получено 23 октября 2010 г. Репозиторий IronRuby GIT включает копию тестов RubySpec, включая тестовую среду MSpec, в External.LCA_RESTRICTED\Languages\IronRuby\mspec. Это позволяет легко изменять существующие тесты или писать новые тесты, а также исправлять ошибки в исходниках IronRuby, все в одном коммите в репозиторий IronRuby.
  36. ^ Борт, Джули (14 апреля 2010 г.). «После трех лет усилий открытый исходный код IronRuby от Microsoft стал стабильным и доступным». Network World .
  37. ^ "IronRuby License". 16 июля 2010 г. Архивировано из оригинала 6 декабря 2010 г. Получено 27 июля 2010 г.

Внешние ссылки