IronRuby - IronRuby
Autor (es) original (is) | Equipe do Microsoft Dynamic Language Runtime |
---|---|
Desenvolvedor (s) | .NET Foundation |
lançamento inicial | 31 de agosto de 2007 |
Versão estável | IronRuby 1.0 / 12 de abril de 2010
|
Versão de visualização | IronRuby 1.1.3 / 13 de março de 2011
|
Repositório | github |
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 é 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
- IronPython
- IronScheme
- JRuby
- Ruby on Rails , uma estrutura de aplicativo da web de código aberto para Ruby
Referências
links externos
- Página inicial do IronRuby
- IronRuby em Codeplex
- Código fonte IronRuby
- Artigo do blog de S. Somasegar anunciando IronRuby
- State of IronRuby por John Lam na RubyConf 2007
- IronRuby: a linguagem certa para o trabalho certo por John Lam em PDC2008