Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Rhino - это движок JavaScript, полностью написанный на Java и управляемый Mozilla Foundation как программное обеспечение с открытым исходным кодом . Он отделен от движка SpiderMonkey , который также разработан Mozilla, но написан на C ++ и используется в Mozilla Firefox .

История [ править ]

Проект Rhino был начат в Netscape в 1997 году. В то время Netscape планировала выпустить версию Netscape Navigator, полностью написанную на Java, и поэтому требовалась реализация JavaScript, написанного на Java. Когда Netscape прекратил работу над Javagator , как он назывался, проект Rhino был завершен как движок JavaScript. С тех пор несколько крупных компаний (включая Sun Microsystems) лицензировали Rhino для использования в своих продуктах и ​​заплатили Netscape за это, что позволило продолжить работу над ним.

Первоначально Rhino компилировал весь код JavaScript в байт- код Java в сгенерированных файлах классов Java . Это обеспечивало наилучшую производительность, часто превосходящую реализацию JavaScript на C ++, выполняемую с JIT -компиляцией , но имело две ошибки. Во-первых, время компиляции было долгим, поскольку создание байт-кода и загрузка сгенерированных классов была ресурсоемким процессом. Кроме того, реализация эффективно использовала утечку памяти, поскольку большинство виртуальных машин Java (JVM) не собирали неиспользуемые классы или строки , интернированные в результате загрузки файла класса. [ необходима цитата ] (Это изменилось в более поздних версиях Java.)

В результате осенью 1998 года в Rhino был добавлен режим интерпретации. Код создания файла классов был перемещен в необязательный динамически загружаемый пакет. Компиляция выполняется быстрее, и когда сценарии больше не используются, их можно собирать, как любой другой объект Java.

Rhino был передан Mozilla Foundation в апреле 1998 года. Первоначально создание файлов классов Rhino было отложено до выпуска. Однако лицензиары Rhino теперь согласились выпустить весь Rhino с открытым исходным кодом, включая создание файлов классов. С момента выпуска с открытым исходным кодом Rhino нашел множество применений, и все большее количество людей вносили свой вклад в код. [1] Проект получил свое название от животного на обложке книги по JavaScript от O'Reilly Media . [2] Начиная с версии 1.7R11 (май 2019 г.), Rhino поддерживает Java 8 и выше, а также поддерживает ряд функций ECMAScript ES6 / ES2015. [3]

Используйте [ редактировать ]

Rhino преобразует сценарии JavaScript в классы . Rhino работает как в скомпилированном, так и в интерпретируемом режиме. Он предназначен для использования в настольных или серверных приложениях, поэтому нет встроенной поддержки для объектов веб-браузера , которые обычно связаны с JavaScript.

Rhino можно использовать как отладчик с помощью оболочки Rhino . Оболочка JavaScript обеспечивает простой способ запуска сценариев в пакетном режиме или в интерактивной среде для исследовательского программирования. Его можно использовать в приложениях, встраивая Rhino.

Слегка измененная версия Rhino 1.6r2 поставляется вместе с выпуском Sun Microsystems Java SE версии 6, который был выпущен в декабре 2006 года. Это упрощает интеграцию JavaScript как части программ Java и доступ к ресурсам Java из JavaScript. Другие реализации Java 6 могут отличаться.

См. Также [ править ]

  • Движок JavaScript
  • Список движков ECMAScript
  • Nashorn (движок JavaScript) - ныне устаревший преемник Rhino для JVM, начиная с Java 8

Ссылки [ править ]

  1. ^ "История носорога" . Mozilla Foundation . Проверено 20 марта 2008 .
  2. ^ Книга Javascript О'Рейли, вдохновение для имени Rhino
  3. ^ «Поддержка Rhino ES2015» . Mozilla Foundation . Проверено 13 августа 2019 .

Внешние ссылки [ править ]

  • Официальный веб-сайт