Rhino (motor JavaScript) - Rhino (JavaScript engine)

Rinoceronte
Inicio de ldp para 260px50px moziyarinocrnt.jpg
Desenvolvedor (s) Mozilla Foundation , Mozilla Corporation
Versão estável
1.7.13 / 2 de setembro de 2020 ; 11 meses atrás ( 2020-09-02 )
Repositório Edite isso no Wikidata
Escrito em Java
Sistema operacional Plataforma cruzada
Plataforma Máquina Virtual JAVA
Modelo Motor JavaScript
Licença MPL 2.0
Local na rede Internet www .mozilla .org / rhino Edite isso no Wikidata

Rhino é um mecanismo JavaScript escrito totalmente em Java e gerenciado pela Mozilla Foundation como software de código aberto . Ele é separado do mecanismo SpiderMonkey , que também é desenvolvido pela Mozilla, mas escrito em C ++ e usado no Mozilla Firefox .

História

O projeto Rhino foi iniciado na Netscape em 1997. Na época, a Netscape estava planejando produzir uma versão do Netscape Navigator escrita totalmente em Java e, portanto, precisava de uma implementação de JavaScript escrita em Java. Quando o Netscape parou de trabalhar no Javagator , como era chamado, o projeto Rhino foi concluído como um mecanismo JavaScript. Desde então, algumas das principais empresas (incluindo Sun Microsystems) licenciaram o Rhino para uso em seus produtos e pagaram a Netscape para fazer isso, permitindo que o trabalho continue.

Originalmente, Rhino compilou todo o código JavaScript para bytecode Java em arquivos de classe Java gerados . Isso produziu o melhor desempenho, muitas vezes superando a implementação C ++ do JavaScript executado com compilação just-in-time (JIT), mas sofria de duas falhas. Primeiro, o tempo de compilação era longo, pois a geração de bytecode e o carregamento das classes geradas eram um processo que consumia muitos recursos. Além disso, a implementação efetivamente vazou memória, já que a maioria das Java Virtual Machines (JVM) não coletou classes não utilizadas ou as strings que são internadas como resultado do carregamento de um arquivo de classe. (Isso mudou nas versões posteriores do Java.)

Como resultado, no outono de 1998, Rhino adicionou um modo interpretativo. O código de geração do arquivo de classe foi movido para um pacote opcional carregado dinamicamente . A compilação é mais rápida e quando os scripts não estão mais em uso, eles podem ser coletados como qualquer outro objeto Java.

Rhino foi lançado para a Mozilla Foundation em abril de 1998. Originalmente, a geração de classfile do Rhino não foi lançada. No entanto, os licenciadores do Rhino concordaram em liberar todo o Rhino para código aberto, incluindo a geração de arquivos de classe. Desde o seu lançamento para código aberto, Rhino encontrou uma variedade de usos e um número crescente de pessoas contribuiu para o código. O projeto recebe o nome do animal na capa do livro JavaScript da O'Reilly Media . A partir da versão 1.7R11 (maio de 2019), Rhino é compatível com Java 8 e superior e com vários recursos ECMAScript ES6 / ES2015.

Usar

Rhino converte scripts JavaScript em classes . Rhino funciona em modo compilado e interpretado . Ele deve ser usado em aplicativos de desktop ou do lado do servidor , portanto, não há suporte integrado para os objetos do navegador da Web comumente associados ao JavaScript.

Rhino pode ser usado como um depurador usando o shell Rhino . O shell JavaScript fornece uma maneira simples de executar scripts em modo de lote ou em um ambiente interativo para programação exploratória. Ele pode ser usado em aplicativos incorporando o Rhino.

Uma versão ligeiramente modificada do Rhino 1.6r2 vem empacotado com a Sun Microsystems versão do Java SE versão 6, que foi lançado em dezembro de 2006. Isso torna mais fácil para integrar JavaScript como parte de programas Java e para acessar recursos Java a partir de JavaScript. Outras implementações do Java 6 podem ser diferentes.

Veja também

Referências

links externos