Jump to content

Рино (движок JavaScript)

Носорог
Оригинальный автор(ы) Норрис Бойд
Разработчик(и) 1997: Mozilla Foundation , 1998: Mozilla Corporation , сейчас разрабатывается добровольцами.
Стабильная версия
1.7.15 / 3 мая 2024 г .; 2 месяца назад ( 03.05.2024 )
Репозиторий github / Мозилла /носорог
Написано в Ява , JavaScript
Операционная система Кросс-платформенный
Платформа виртуальная машина Java
Тип JavaScript-движок
Лицензия МПЛ 2.0
Веб-сайт Мозилла .github .что /носорог /

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 могут отличаться.

См. также

[ редактировать ]
  1. ^ «История носорога» . Фонд Мозилла . Архивировано из оригинала 22 октября 2020 года . Проверено 20 марта 2008 г.
  2. ^ Книга О'Рейли о Javascript, вдохновившая на создание названия Rhino.
  3. ^ «Поддержка Rhino ES2015» . Фонд Мозилла . Проверено 13 августа 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2e654082b1fa490f6bd309a2b541ef2f__1722531660
URL1:https://arc.ask3.ru/arc/aa/2e/2f/2e654082b1fa490f6bd309a2b541ef2f.html
Заголовок, (Title) документа по адресу, URL1:
Rhino (JavaScript engine) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)