Шрифт:
Расширение E4X полностью поддерживает пространства имен, а также включает синтаксические конструкции и функции для работы с пространствами имен XML:
12 Серверный JavaScript
В предыдущих главах подробно рассматривался базовый язык JavaScript, и вскоре мы перейдем ко второй части книги, в которой рассказывается о том, как JavaScript встраивается в веб-броузеры, и описывается обширнейший API клиентского JavaScript. JavaScript - это язык программирования для Веб, и большая часть программного кода на языке JavaScript написана для выполнения в веб-броузерах. Однако JavaScript - это быстрый и универсальный язык с широкими возможностями, и нет никаких причин, по которым JavaScript не мог бы использоваться для решения других задач программирования. Поэтому, прежде чем перейти к знакомству с клиентским JavaScript, мы коротко рассмотрим две другие реализации JavaScript. Rhino - это интерпретатор JavaScript, написанный на языке Java, что обеспечивает программам на языке JavaScript доступ ко всем библиотекам языка Java. Интерпретатор Rhino рассматривается в разделе 12.1. Node -версия интерпретатора V8 JavaScript, созданного компанией Google, включающая низкоуровневые интерфейсные библиотеки доступа к POSIX (Unix) API -к файлам, процессам, потокам, сокетам и так далее - с особым упором на асинхронные операции ввода/вывода, сетевые взаимодействия и работу с протоколом HTTP. Интерпретатор Node рассматривается в разделе 12.2.
Название главы говорит, что она посвящена «серверному» JavaScript, а обычно для создания серверов и для управления ими используются интерпретаторы Node и Rhino. Но под словом «серверный» можно также понимать «все, что за пределами веб-броузера». Программы, выполняемые под управлением Rhino, способны создавать графические интерфейсы пользователя, используя фреймворк Swing для языка Java. А интерпретатор Node может выполнять программы на языке JavaScript, способные манипулировать файлами подобно тому, как это делают сценарии командной оболочки.
Цель этой короткой главы состоит в том, чтобы осветить некоторые направления за пределами веб-броузеров, где может использоваться язык JavaScript. Здесь не предпринимается попытка в полном объеме охватить интерпретатор Rhino или Node, а обсуждаемые здесь прикладные интерфейсы не описываются в справочном разделе. Очевидно, что в одной главе невозможно сколько-нибудь полно описать платформу Java или POSIX API, поэтому раздел об интерпретаторе Rhino предполагает, что читатели имеют некоторое знакомство с Java, а раздел об интерпретаторе Node предполагает знакомство с низкоуровневыми прикладными интерфейсами Unix.
12.1. Управление Java с помощью Rhino
Rhino - это интерпретатор JavaScript, написанный на языке Java, цель которого - упростить возможность создания программ на языке JavaScript, которые могли бы использовать мощь платформы Java. Интерпретатор Rhino автоматически выполняет преобразование простых типов JavaScript в простые типы Java и наоборот, благодаря чему сценарии на языке JavaScript могут читать и изменять свойства и вызывать методы объектов на языке Java.