IronRuby - IronRuby

IronRuby
IronRuby Logo.png
Autor (es) original (is) Equipe do Microsoft Dynamic Language Runtime
Desenvolvedor (s) .NET Foundation
lançamento inicial 31 de agosto de 2007 ; 13 anos atrás ( 31/08/2007 )
Versão estável
IronRuby 1.0 / 12 de abril de 2010 ; 11 anos atrás ( 12-04-2010 )
Versão de visualização
IronRuby 1.1.3 / 13 de março de 2011 ; 10 anos atrás ( 13/03/2011 )
Repositório github .com / IronLanguages / ironruby
Escrito em C #
Sistema operacional Windows , Linux , macOS
Plataforma .NET Framework , Mono
Modelo Compilador da linguagem de programação Ruby
Licença Licença Apache 2.0
Local na rede Internet www .ironruby .net

IronRuby é uma implementação da linguagem de programação Ruby voltada para o Microsoft .NET Framework . Ele é implementado em cima do Dynamic Language Runtime (DLR), uma biblioteca em execução na Common Language Infrastructure que fornece tipagem dinâmica e despacho de método dinâmico, entre outras coisas, para linguagens dinâmicas.

O projeto está atualmente inativo, com a última versão do IronRuby (versão 1.1.3) sendo em março de 2011.

História

Em 30 de abril de 2007, no MIX 2007, a Microsoft anunciou IronRuby, que usa o mesmo nome do projeto IronRuby de Wilco Bauwer com permissão. Foi planejado para ser lançado ao público na OSCON 2007.

Em 23 de julho de 2007, conforme prometido, John Lam e o DLR Design Team apresentaram a versão pré-Alpha do compilador IronRuby na OSCON. Ele também anunciou um cronograma rápido para uma maior integração do IronRuby na comunidade de código aberto.

Em 31 de agosto de 2007, John Lam e o DLR Design Team lançaram o código em seu estágio pré-alfa no RubyForge. O código-fonte continuou a ser atualizado regularmente pela equipe principal da Microsoft (mas não para todos os check-ins ). A equipe também não aceita contribuições da comunidade para a biblioteca principal do Dynamic Language Runtime , pelo menos por enquanto.

Em 24 de julho de 2008, a equipe do IronRuby lançou a primeira versão alfa binária, em linha com o OSCON 2008. Em 19 de novembro de 2008, eles lançaram uma segunda versão alfa.

A equipe trabalhou ativamente para dar suporte a Rails no IronRuby. Alguns testes funcionais do Rails começaram a rodar, mas muito trabalho ainda precisava ser feito para poder rodar o Rails em um ambiente de produção.

Em 21 de maio de 2009, eles lançaram a versão 0.5 em conjunto com RailsConf 2009. Com esta versão, IronRuby poderia rodar alguns aplicativos Rails , mas ainda não em um ambiente de produção.

A versão 0.9 foi anunciada como OSCON 2009. Esta versão melhorou o desempenho. A versão 1.0 RC1 foi disponibilizada em 20 de novembro de 2009.

A versão 1.0 foi disponibilizada em 12 de abril de 2010, em duas versões diferentes:

  • O preferido, que roda em cima do .NET 4.0.
  • Uma versão com recursos mais limitados, que rodava em cima do .NET 2.0. Esta versão era a única compatível com Mono .

A equipe do IronRuby planejou oferecer suporte ao Ruby 1.8.6 apenas para versões 1.0 pontuais, e à versão 1.9 apenas para as próximas versões 1.x, pulando o suporte para Ruby 1.8.7.

Em julho de 2010, a Microsoft demitiu Jimmy Schementi , um dos dois membros restantes da equipe principal do IronRuby, e parou de financiar o projeto. Em outubro de 2010, a Microsoft anunciou que os projetos Iron (IronRuby e IronPython ) estavam sendo alterados para projetos "externos" e permitindo que "membros da comunidade fizessem contribuições sem o envolvimento da Microsoft ou patrocínio de um funcionário da Microsoft".

A última versão publicada do IronRuby foi em 13 de março de 2011 como versão 1.1.3.

Arquitetura

Suporte mono

O IronRuby pode ser executado tão bem no Mono quanto no Microsoft Common Language Runtime (CLR), mas como a equipe do IronRuby apenas o testa com o CLR no Windows , ele pode não ser compilado no Mono dependendo da compilação.

Interoperabilidade .NET

A interoperabilidade entre as classes IronRuby e as classes regulares do .NET Framework é muito limitada porque muitas classes do Ruby não são classes do .NET. No entanto, um melhor suporte para linguagens dinâmicas no .NET 4.0 pode aumentar a interoperabilidade no futuro.

Suporte Silverlight

IronRuby era compatível com Silverlight . Ele pode ser usado como um mecanismo de script no navegador, assim como o mecanismo JavaScript . Os scripts IronRuby foram passados ​​como scripts JavaScript simples do lado do cliente em <script>-tags. Então, também é possível modificar a marcação XAML incorporada .

A tecnologia por trás disso foi chamada Gestalt.

//DLR initiation script.
<script src="http://gestalt.ironruby.net/dlr-latest.js" type="text/javascript">

//Client-side script passed to IronRuby and Silverlight.
<script type="text/ruby">
    window.Alert("Hello from Ruby")
</script>

O mesmo funcionou para IronPython .

Infraestrutura de teste

IronRuby integrou RubySpec , que é um projeto para escrever uma especificação executável completa para a linguagem de programação Ruby. O repositório IronRuby Git inclui uma cópia dos testes RubySpec, incluindo a estrutura de teste MSpec.

Licença

IronRuby foi lançado anteriormente sob a Licença Pública da Microsoft , que é uma licença do estilo BSD certificada pela OSI .

Em 16 de julho de 2010, a Microsoft licenciou novamente o IronRuby junto com o DLR sob a Licença Apache, v2.0

Leitura adicional

  • Shay Friedman, "IronRuby Unleashed", Sam's, 2010, ISBN  0-672-33078-4
  • Ivan Porto Carrero e Adam Burmister, "IronRuby in Action", Manning, 2010, ISBN  1-933988-61-4

Veja também

Referências

links externos