Sarvikuono (JavaScript -moottori) - Rhino (JavaScript engine)
| Kehittäjä (t) | Mozilla -säätiö , Mozilla Corporation |
|---|---|
| Vakaa julkaisu | 1.7.13 / 2. syyskuuta 2020
|
| Varasto |
|
| Kirjoitettu sisään | Java |
| Käyttöjärjestelmä | Monialustainen |
| Alusta | Java -virtuaalikone |
| Tyyppi | JavaScript -moottori |
| Lisenssi | MPL 2.0 |
| Verkkosivusto |
www |
Rhino on JavaScript-moottori kirjoitettu täysin Java ja hallinnoi Mozilla Foundationin kuin avoimen lähdekoodin ohjelmistoja . Se on erillinen SpiderMonkey -moottorista, jonka on myös kehittänyt Mozilla, mutta joka on kirjoitettu C ++: lla ja jota käytetään Mozilla Firefoxissa .
Historia
Rhino -projekti aloitettiin Netscapessa vuonna 1997. Tuolloin Netscape suunnitteli tuottavansa Netscape Navigator -version, joka olisi kirjoitettu kokonaan Javaksi, joten se tarvitsi Java -kielellä toteutetun JavaScript -toteutuksen. Kun Netscape lakkasi toimimasta Javagatorilla , kuten sitä kutsuttiin, Rhino -projekti päättyi JavaScript -moottoriksi. Siitä lähtien pari suurta yritystä (mukaan lukien Sun Microsystems) on lisensioinut Rhinoa käytettäväksi tuotteissaan ja maksanut Netscapen siitä, jotta työ voi jatkua.
Alunperin Rhino käännetty kaikki JavaScript-koodin Java bytecode on luotu Java-luokan tiedostoja . Tämä tuotti parhaan suorituskyvyn, usein nopeammin kuin JavaScript-suorituksen C ++ -käyttö ja oikea-aikainen kokoaminen (JIT), mutta siinä oli kaksi vikaa. Ensinnäkin kokoamisaika oli pitkä, koska tavukoodin luominen ja luotujen luokkien lataaminen oli resursseja vaativa prosessi. Lisäksi toteutus vuotoi tehokkaasti muistia, koska useimmat Java -virtuaalikoneet (JVM) eivät keränneet käyttämättömiä luokkia tai merkkijonoja, jotka on internoitu luokkatiedoston lataamisen seurauksena. (Tämä on muuttunut myöhemmissä Java -versioissa.)
Tämän seurauksena syksyllä 1998 Rhino lisäsi tulkintatilan. Luokan tiedostojen luontikoodi siirrettiin valinnaiseen, dynaamisesti ladattuun pakettiin. Kääntäminen on nopeampaa ja kun komentosarjat eivät ole enää käytössä, ne voidaan kerätä kuten mikä tahansa muu Java -objekti.
Rhino julkaistiin Mozilla Foundationille huhtikuussa 1998. Alun perin Rhino -luokkatiedostojen sukupolvi oli pidätetty julkaisusta. Rhino -lisenssinantajat ovat kuitenkin nyt sopineet vapauttavansa kaikki Rhino -ohjelmat avoimeen lähdekoodiin, mukaan lukien luokkatiedostojen luominen. Sen julkaisemisen jälkeen avoimeen lähdekoodiin Rhino on löytänyt erilaisia käyttötarkoituksia ja yhä useammat ihmiset ovat osallistuneet koodiin. Hanke saa nimensä O'Reilly Median JavaScript -kirjan kannessa olevasta eläimestä . Versiosta 1.7R11 (toukokuu 2019) alkaen Rhino tukee Java 8: aa tai uudempaa ja tukee useita ECMAScript ES6/ES2015 -ominaisuuksia.
Käyttää
Rhino muuntaa JavaScript -komentosarjat luokiksi . Rhino toimii sekä käännettynä että tulkittuna . Se on tarkoitettu käytettäväksi työpöytä- tai palvelinpuolen sovelluksissa, joten JavaScriptiin yleisesti liittyviä Web -selainobjekteja ei ole sisäänrakennettu .
Rhinoa voidaan käyttää virheenkorjaajana Rhino -kuoren avulla . JavaScript -kuori tarjoaa yksinkertaisen tavan suorittaa komentosarjoja erätilassa tai interaktiivisessa ympäristössä tutkivaa ohjelmointia varten. Sitä voidaan käyttää sovelluksissa upottamalla Rhino.
Hieman muunneltu versio Rhino 1.6r2 tulee kylkiäisenä kanssa Sun Microsystems vapauttamaan Java SE -versio 6, joka julkaistiin joulukuussa 2006. Tämä helpottaa integroida JavaScript osana Java-ohjelmia ja käyttää Java resursseja JavaScript. Muut Java 6: n toteutukset voivat poiketa toisistaan.
Katso myös
- JavaScript -moottori
- Luettelo ECMAScript -moottoreista
- Nashorn (JavaScript -moottori) - nyt vanhentunut Rhino -seuraaja JVM: lle alkaen Java 8: sta