Рино (движок JavaScript)
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Оригинальный автор(ы) | Норрис Бойд |
---|---|
Разработчик(и) | 1997: Mozilla Foundation , 1998: Mozilla Corporation , сейчас разрабатывается добровольцами. |
Стабильная версия | 1.7.15 / 3 мая 2024 г |
Репозиторий | github |
Написано в | Ява , JavaScript |
Операционная система | Кросс-платформенный |
Платформа | виртуальная машина Java |
Тип | JavaScript-движок |
Лицензия | МПЛ 2.0 |
Веб-сайт | Мозилла |
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 . Это обеспечило наилучшую производительность, часто превосходя C++ реализацию JavaScript на , выполняемую с 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 поставляется в комплекте с версии 6 от Sun Microsystems выпуском Java SE , выпущенным в декабре 2006 года. Это упрощает интеграцию JavaScript как части программ Java и доступ к ресурсам Java из JavaScript. Другие реализации Java 6 могут отличаться.
См. также
[ редактировать ]- JavaScript-движок
- Список движков ECMAScript
- Nashorn (движок JavaScript) — ныне устаревший преемник Rhino для JVM, начиная с Java 8.
Ссылки
[ редактировать ]- ^ «История носорога» . Фонд Мозилла . Архивировано из оригинала 22 октября 2020 года . Проверено 20 марта 2008 г.
- ^ Книга О'Рейли о Javascript, вдохновившая на создание названия Rhino.
- ^ «Поддержка Rhino ES2015» . Фонд Мозилла . Проверено 13 августа 2019 г.