Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОКС.doc
Скачиваний:
13
Добавлен:
04.12.2018
Размер:
536.58 Кб
Скачать

32. Разработка клиентской части сетевых приложений с помощью JavaScript.

Введение

При создании документов для WWW-серверов можно воспользоваться различными средствами. Самое распространенное из них - это язык HTML, но возможности этого языка ограничены созданием документов, содержащих статические тексты, таблицы и изображения. Для разработки WEB-страниц, на которых ведется диалог с клиентом, выполняется анимация изображений, реализуется контекстно-зависимый текстовый и графический ввод-вывод, используются другие средства, расширяющие возможности HTML. Среди них - CGI (Common Gateway Interface), Java и JavaScript.

CGI предполагает использование традиционных языков программирования: компилируемых (таких как C, C++, Fortran), и интерпретируемых (как, например Perl). При запросе клиента на услуги CGI-программы сервер выступает в роли посредника между ними. Ответ от CGI-программы должен быть в форме HTML-документа, GIF-файла, видеоклипа и данных любого типа, поддерживаемого браузером клиента. Естественно, что CGI-программы ориентированы на конкретные НТТР-серверы, работающие под управлением конкретных операционных систем, из этого следует вывод, что CGI-программы являются зависимыми от платформы.

JAVA - язык программирования высокого уровня, ориентированный на создание сетевых приложений. Разработанные с его помощью приложения являются независимыми от типа используемой ЭВМ и ОС, поскольку результаты компиляции программ представляются в кодах виртуальной JAVA-машины, так называемых Їбайт-кодах. В WEB-технологии язык

Например, вы можете написать функцию JavaScript, проверяющую информацию, которою вводят пользователи, попросить от них почтовый индекс или номер телефона. Без передачи по сети, браузер, используя HTML-страницу с вложенными операторами языка JavaScript, может проверить введенные данные и запросить новый ввод, если предыдущий был неправилен.

JavaScript в LiveWire. LiveWire - инструментальная среда разработки, в которой используется JavaScript для создания серверных приложений, подобных CGI (Commonn Interface Gateway ) программам. В отличие от Navigator JavaScript, LiveWire JavaScript операторы компилируются в выполняемые байт-коды. Процесс работы таких приложений иллюстрируется следующим рисунком:

Исполнение программ в байт-кодах может выполняться как у клиента, так и на сервере, что определяется соответствующими тегами. В отличие от стандарта CGI-программ, LiveWire JavaScript объединен непосредственно с HTML страницами, что обеспечивает быструю разработку в рамках единого документа. LiveWire JavaScript также обеспечивает объекты и методы для доступа к базе данных, которые служат в качестве интерфейса к SQL-базе данных сервера. В отличие от Navigator JavaScript имеется возможность записывать информацию на жесткий диск.

Как видно из ранее сказанного, клиент и сервер JavaScript значительно отличаются, но они имеют и общие элементы:

синтаксис предложений и правила грамматики для выражений,

переменные и литералы,

встроенные объекты и функции

То есть, если у вас сеть LiveWire, то вы можете писать функции, которые работают или на клиенте, или на сервере.

Различные версии JavaScript работают с определенными версиями Navigator. Например, JavaScript 1.1 - с Navigator 3.0.

Языки JavaScript и Java. JavaScript и Java в чем-то очень похожи, а в чем-то существенно различаются, например JavaScript не имеет статических типов Java и строгой проверки типов. JavaScript поддерживает синтаксис выражений Java. JavaScript является интерпретатором, в то время как Java - компилятором, JavaScript поддерживает малое число типов данных: числовой, Boolean, и строковый. JavaScript также поддерживает функции без предварительных деклараций. Java - объектно-ориентированный язык программирования, похожий на язык С++ и программирование на нем значительно сложнее, чем на JavaScript. Существует как бы в двух вариантах. В первом варианте это универсальный язык программирования, основным достоинством которого является независимость от платформы. Во втором варианте это язык написания аплетов для WEB-серверов. Более корректно сравнивать JavaScript со вторым вариантом языка Java. Наиболее существенные отличия заключаются в следующем: JavaScript - является интерпретируемым; используются встроенные, расширяемые объекты, но никаких классов или наследований; вложен в HTML; типы данных не обьявляются; выполняется динамическое связывание, ссылки проверяются во время выполнения, Java - компилируемый в байт-коды, исполняющиеся на клиенте; аплеты состоят из классов объектов с наследованием; аплеты не связаны с HTML; типы данных должны быть объявлены; статические ссылки, проверяемые во время компиляции. В то же время нельзя сказать, что Java и JavaScript просто алгоритмические языки, в чем-то похожие друг на друга, программы, напиманные на этих языках могут быть связаны доcтаточно тесно. В рамках HTML-страниц существует возможность взаимного влияния аплетов и JavaScript-программ.