Язык программирования JavaScript

Web, как гипертекстовую систему, можно рассматривать с двух точек зрения. Во-первых, как совокупность отображаемых страниц, связанных гипертекстовыми переходами. Во-вторых, как множество элементарных информационных объектов, составляющих отображаемые страницы (текст, графика, мобильный код и т.п.). В последнем случае множество гипертекстовых переходов страницы — это такой же информационный фрагмент, как и встроенная в текст картинка.

При втором подходе гипертекстовая сеть определяется на множестве элементарных информационных объектов самими HTML-страницами, которые и выступают в роли гипертекстовых связей. Этот подход более продуктивен с точки зрения построения отображаемых страниц «на лету» из готовых компонентов.

При генерации страниц в Web возникает дилемма, связанная с архитектурой «клиент-сервер»: страницы можно генерировать как на стороне клиента, так и на стороне сервера, последнее реализуется через механизм подстановок на стороне сервера. Компания Netscape распространила в 1995 году механизм управления страницами и на клиента, разработав язык программирования JavaScript.

Таким образом, JavaScript — это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Если быть более точным, то JavaScript — это не только язык программирования на стороне клиента. Liveware, прародитель JavaScript, является средством подстановок на стороне сервера Netscape. Однако наибольшую популярность JavaScript обеспечило программирование на стороне клиента.

К возможностям JavaScript можно, например, отнести следующее:

отображение изменяющихся данных, таких как текущее время или дата;

программирование переменного содержания в зависимости от даты, браузера пользователя или других условий;

изменение внешнего вида элементов страницы, если пользователь щелкнул мышью или провел курсор мыши над элементом.

Для языка высокого уровня JavaScript обладает довольно сильными возможностями. Он не позволяет работать на уровне машинных кодов, однако предоставляет доступ ко многим возможностям браузеров, Web-страниц, а иногда и системы, в которой работает браузер. В отличие от Java™ или С, программы на JavaScript обходятся без компиляции, а web-браузеру не придется загружать виртуальную машину для выполнения программного кода. JavaScript также работает в объектно-ориентированной архитектуре, напоминающей Java или C++. Такие возможности языка, как конструкторы или наследование на базе прототипов, добавляют в схему разработки новый уровень абстракции, что способствует многократному использованию программного кода.

Одна из главных причин, по которой Web-разработчики приняли JavaScript, — возможность выполнения на стороне клиента многих функций, которые ранее выполнялись исключительно на стороне сервера. Лучшим примером является проверка форм. До появления JavaScript для проверки пользовательского ввода в формах HTML приходилось пересылать информацию на Web-сервер и передавать ее сценарию CGI, где и проходила проверка введенных данных. Если данные не содержали ошибок, сценарий CGI продолжал работу. Однако при обнаружении ошибок сценарий возвращал пользователю сообщение с описанием проблемы. Хотя это решение работает, но нагрузка на сервер возрастает в несколько раз. Для передачи формы необходим специальный запрос HTTP к серверу. После пересылки данных по Сети приходится заново выполнять сценарий CGI. Этот процесс повторяется каждый раз, когда пользователь допускает ошибку при заполнении формы. Пользователь узнает об ошибке лишь после того, как сообщение об ошибке вернется к нему.

JavaScript позволяет проверить формы до того, как пользователь передаст информацию Web-серверу. Это приводит к уменьшению количества транзакций HTTP, а также заметному снижению вероятности ошибки при повторном заполнении формы. Кроме того, JavaScript позволяет читать и записывать cookie — когда-то эта операция выполнялась исключительно средствами Web-сервера для работы с заголовками.

Ссылка на основную публикацию
Adblock detector
x