Rhino (silnik JavaScript) — Rhino (JavaScript engine)
| Deweloper(zy) | Fundacja Mozilla , Mozilla Corporation |
|---|---|
| Wersja stabilna | 1.7.13 / 2 września 2020
|
| Magazyn |
|
| Napisane w | Jawa |
| System operacyjny | Wieloplatformowy |
| Platforma | Maszyna wirtualna Java |
| Rodzaj | Silnik JavaScript |
| Licencja | MPL 2.0 |
| Stronie internetowej |
www |
Rhino to silnik JavaScript napisany w całości w Javie i zarządzany przez Mozilla Foundation jako oprogramowanie open source . Jest oddzielny od silnika SpiderMonkey , który również jest rozwijany przez Mozillę, ale napisany w C++ i używany w Mozilla Firefox .
Historia
Projekt Rhino rozpoczął się w Netscape w 1997 roku. W tym czasie Netscape planował wyprodukować wersję Netscape Navigatora napisaną w całości w Javie i dlatego potrzebowała implementacji JavaScript napisanego w Javie. Kiedy Netscape przestał pracować nad Javagatorem , jak go nazywano, projekt Rhino został ukończony jako silnik JavaScript. Od tego czasu kilka dużych firm (w tym Sun Microsystems) udzieliło licencji Rhino do użytku w swoich produktach i zapłaciło za to Netscape, umożliwiając kontynuowanie pracy nad tym.
Pierwotnie Rhino skompilował cały kod JavaScript do kodu bajtowego Java w wygenerowanych plikach klas Java . Dało to najlepszą wydajność, często pokonując implementację JavaScript w C++ uruchamianą z kompilacją just -in-time (JIT), ale miało dwa błędy. Po pierwsze, czas kompilacji był długi, ponieważ generowanie kodu bajtowego i ładowanie wygenerowanych klas było procesem wymagającym dużej ilości zasobów. Ponadto implementacja spowodowała wyciek pamięci, ponieważ większość wirtualnych maszyn Java (JVM) nie zbierała nieużywanych klas ani łańcuchów, które są internowane w wyniku załadowania pliku klasy. (Zmieniło się to w późniejszych wersjach Java).
W rezultacie jesienią 1998 Rhino dodał tryb interpretacyjny. Kod generowania pliku klas został przeniesiony do opcjonalnego, dynamicznie ładowanego pakietu. Kompilacja jest szybsza, a gdy skrypty nie są już używane, można je zbierać jak każdy inny obiekt Java.
Rhino zostało wydane dla Mozilla Foundation w kwietniu 1998. Pierwotnie generowanie plików klas Rhino zostało wstrzymane przed wydaniem. Jednak licencjodawcy Rhino zgodzili się teraz wydać wszystkie Rhino na open source, w tym generowanie plików klas. Od czasu wydania na open source, Rhino znalazło wiele zastosowań, a coraz więcej osób przyczyniło się do powstania kodu. Nazwa projektu pochodzi od zwierzęcia na okładce książki JavaScript wydanej przez O'Reilly Media . Od wersji 1.7R11 (maj 2019) Rhino obsługuje Javę 8 i nowsze oraz wiele funkcji ECMAScript ES6/ES2015.
Posługiwać się
Rhino konwertuje skrypty JavaScript na klasy . Rhino działa zarówno w trybie skompilowanym, jak i zinterpretowanym . Jest przeznaczony do użytku w aplikacjach desktopowych lub po stronie serwera , dlatego nie ma wbudowanej obsługi obiektów przeglądarki internetowej, które są powszechnie kojarzone z JavaScript.
Rhino może być używany jako debugger przy użyciu powłoki Rhino . Powłoka JavaScript zapewnia prosty sposób uruchamiania skryptów w trybie wsadowym lub w środowisku interaktywnym do programowania eksploracyjnego. Może być używany w aplikacjach poprzez osadzenie Rhino.
Nieco zmodyfikowana wersja Rhino 1.6r2 jest dostarczana w pakiecie z wersją Java SE firmy Sun Microsystems w wersji 6, która została wydana w grudniu 2006 roku. Ułatwia to integrację JavaScript z programami Java oraz dostęp do zasobów Java z poziomu JavaScript. Inne implementacje Javy 6 mogą się różnić.
Zobacz też
- Silnik JavaScript
- Lista silników ECMAScript
- Nashorn (silnik JavaScript) — obecnie przestarzały następca Rhino dla JVM, począwszy od Javy 8