Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Разработчики) | Mozilla Foundation , Mozilla Corporation |
---|---|
Стабильный выпуск | 1.7.12 / 13 января 2020 г . |
Репозиторий | |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Платформа | Виртуальная машина Java |
Тип | Движок JavaScript |
Лицензия | MPL 2.0 |
Интернет сайт | www |
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
Ссылки [ править ]
- ^ "История носорога" . Mozilla Foundation . Проверено 20 марта 2008 .
- ^ Книга Javascript О'Рейли, вдохновение для имени Rhino
- ^ «Поддержка Rhino ES2015» . Mozilla Foundation . Проверено 13 августа 2019 .
Внешние ссылки [ править ]
- Официальный веб-сайт