бесплатно рефераты
 

Технологии программирования Web

Dynamic HTML

До появления версий 4.0 Internet Explorer и Netscape Navigator сценарии

могли изменять содержание и внешний вид страниц, только используя метод

write.document при загрузке страницы.

Любой сценарий, выполняемый позже, может посылать команды броузеру, такие

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

изменение значения поля формы, но как только страница загружена, сценарий

не может изменить HTML-код. Как же сделать Web- страницы интерактивными,

если их невозможно изменить в ответ на действия пользователя?

Динамический HTML, частично реализованный в Netscape 4 и в большей степени

в Internet Explorer 4, устраняет эти ограничения. С использованием

динамического HTML сценарии могут вставлять блоки HTML, удалять и заменять

их или изменять свойства объектов после отображения страницы на экране.

Броузер автоматически обновляет новые свойства и (или) новый HTML-код.

Динамический HTML строится на двух принципах.

• Объектная модель документа (DOM) описывает способ организации и

названия объектов в броузере, а также определяет, какие объекты и

свойства могут быть изменены и какие значения они могут принимать.

• Событийная модель описывает способ передачи управления сценариям -

какие действия посылают сценарии на выполнение.

Macromedia Flash

World Wide Web (Всемирная паутина) развивается очень стремительно.

Традиционные Web-сайты (Web-sites) со статическими информационными

страницами уже не привлекают как прежде внимание конечных пользователей.

Поэтому Web-дизайнеры и разработчики пытаются придать своим страницам

неотразимый вид, вводя графику и файлы анимационного формата GIF. Несмотря

на то, что применение графики в традиционных форматах сжатия изображений

GIF, JPEG и PNG придает сайту некоторый эффект, тем не менее, загрузка

таких страниц может отнять много времени из-за больших размеров графических

файлов. Альтернативным инструментом создания анимации является программный

продукт— Macromedia Flash, который поможет добиться поставленных при Web-

разработке целей.

По сравнению с другими графическими приложениями, предназначенными для

публикации результатов в Web или вывода в файл, Flash обладает многими

преимуществами, такими, как:

. Применение векторной (vector) графики, которая в действительности

представляет собой ряд математических формул, описывающих размер, цвет

и местоположение формы. Векторная графика состоит из линий и кривых,

тогда как растровая (bitmapped) — из небольших точек растра, или

пикселей (pixels). Применение математических формул является главным

преимуществом отображения графики и сохранения небольшого размера

файлов, что особенно важно для Web.

. Возможность сжатия анимации, графики и звука. Такое сжатие файла

обусловливает свойство потоковой передачи (streaming), которое

позволяет отображать сайт в Web-броузере до полной загрузки его

содержимого. Это означает, что одна векторная графика сайта

отображается, в то время как другая графика, звук и анимация все еще

загружаются.

. Интерактивность во Flash может состоять из самых разных свойств.

Помимо неограниченных возможностей применения простой графики,

анимации или крупных заголовков, в любой объект или область сайта

можно вводить полноценные навигационные свойства: кнопки, меню или

фрагменты анимации, с помощью которых конечный пользователь

перемещается по сайту. А задавая действия (actions), можно создавать

интерактивные фильмы. Для создания интерактивных элементов управления

во Flash предоставляется язык создания сценариев - ActionScript.

. Изображения и тест, разработанные во Flash, всегда отображаются ясно и

четко, что опять же обусловлено векторной графикой.

. Flash помогает пользователю рисовать. В частности, Flash может

распознавать основные геометрические формы в процессе их создания. При

этом она заменяет небрежно нарисованную форму правильной

геометрической формой, которую, как предполагается, пользователь

пытается нарисовать. Например, если быстро нарисовать овал или

окружность, создав круглую форму, Flash сделает эту форму более

плавной и круглой, доведя ее до идеального овала или окружности. Кроме

того, Flash помогает создавать прямые и плавные линии.

В состав Flash входит инструмент, который создает основу для большинства

качественных Flash-фильмов. Этот инструмент – ActionScript - событийно-

управляемый язык, встроенный во Flash. ActionScript делает ваши страницы

интерактивными. Вы можете реагировать на события с мышки или с клавиатуры,

можете выполнить какие-либо действия при проигрывании определенного кадра.

Для того чтобы овладеть ActionScript в полной мере, желательно уже иметь

опыт программирования (предпочтительно на С++, JavaScript, etc.). Однако

одним из достоинств языка Flash является то, что вам не нужно быть

профессионалом во Flash, или полностью знать ActionScript, чтобы писать на

нем качественный код. Вы можете использовать лишь те возможности языка,

которые сочтете необходимыми для своей работы.

Языки программирования клиент-машин

JavaScript

Web, как гипертекстовую систему, можно рассматривать с двух точек зрения.

Во-первых, как совокупность отображаемых страниц, связанных гипертекстовыми

переходами. Во-вторых, кaк множество элементарных информационных объектов,

составляющих отображаемые страницы (текст, графика, мобильный код и т.п.).

В последнем случае множество гипертекстовых переходов страницы - это такой

же информационный фрагмент, как и встроенная в текст картинка.

При втором подходе гипертекстовая сеть определяется на множестве

элементарных информационных объектов самими HTML-страницами, которые и

выступают в роли гипертекстовых связей. Этот подход более продуктивен с

точки зрения построения отображаемых страниц "на лету" из готовых

компонентов.

При генерации страниц в Web возникает дилемма, связанная с архитектурой

"клиент-сервер". Страницы можно генерировать как на стороне клиента, так и

на стороне сервера. Последнее реализуется через механизм подстановок на

стороне сервера (Server Site Includes). Компания Netscape распространила в

1995 году механизм управления страницами и на клиента, разработав язык

программирования JavaScript.

Таким образом, JavaScript - это язык управления сценариями просмотра

гипертекстовых страниц Web на стороне клиента. Если быть более точным, то

JavaScript - это не только язык программирования на стороне клиента.

Liveware, прародитель JavaScript, является средством подстановок на стороне

сервера Netscape. Однако, наибольшую популярность JavaScript обеспечило

программирование на стороне клиента.

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

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

• программировать переменное содержание в зависимости от даты, броузера

пользователя или других условий;

• изменять внешний вид элементов страницы, если пользователь щелкнул

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

Для языка высокого уровня JavaScript обладает довольно сильными

возможностями. Он не позволяет работать на уровне машинных кодов, однако вы

получаете доступ ко многим возможностям броузеров, Web-страниц, а иногда и

системы, в которой работает броузер. В отличие от Java™ или С, программы на

JavaScript обходятся без компиляции, а вашему броузеру не придется

загружать виртуальную машину для выполнения программного кода. Программируй

и загружай!

JavaScript также работает в объектно-ориентированной архитектуре,

напоминающей Java или C++. Такие возможности языка, как конструкторы или

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

абстракции, что способствует многократному использованию программного кода.

Одна из главных причин, по которой Web-разработчики приняли JavaScript, —

возможность выполнения на стороне клиента многих функций, которые ранее

выполнялись исключительно на стороне сервера. Лучшим примером является

проверка форм. Программисты старой школы еще помнят, что несколько лет

назад для проверки пользовательского ввода в формах HTML приходилось

пересылать информацию на Web-сервер и передавать ее сценарию CGI, где и

проходила проверка введенных данных.

Если данные не содержали ошибок, сценарий CGI продолжал работу. Однако при

обнаружении ошибок сценарий возвращал пользователю сообщение с описанием

проблемы. Хотя это решение работает, представьте, сколько лишней работы при

этом происходит. Для передачи формы необходим специальный запрос HTTP от

сервера. После пересылки данных в Сети приходится заново выполнять сценарий

CGI. Этот процесс повторяется каждый раз, когда пользователь допускает

ошибку при заполнении формы. Пользователь узнает об ошибке лишь после того,

как сообщение об ошибке вернется к нему.

Но вот на сцене появляется JavaScript. Теперь элементы формы можно

проверить до того, как пользователь передаст информацию Web-серверу. Это

приводит к уменьшению количества транзакций HTTP, а также заметному

снижению вероятности ошибки при повторном заполнении формы. Кроме того,

JavaScript позволяет читать и записывать cookie — когда-то эта операция

выполнялась исключительно средствами Web-сервера для работы с заголовками.

Коротко о некоторых особенностях JavaScript

Тэг сообщает броузеру, что внутри HTML размещен код JavaScript.

Тэг отменяет действие. тэги сообщают броузерам, которые

не могут интерпретировать и , что строки кода следует

рассматривать как комментарии. Двойная косая черта (//) перед тэгом --> -

знак комментария в языке JavaScript; без него JavaScript интерпретирует -->

как ошибочный оператор.

Если вы забудете точку с запятой, JavaScript сам подставит ее в конце

строки, но проблем будет меньше, если вы сами проследите за пунктуацией.

При строгой типизации данных каждая переменная имеет один и только один тип

данных, который не может быть изменен. Объявленное целым останется целым

всегда, объявленное строкой останется строкой всегда. При слабой типизации

данных, как в JavaScript, вы можете поместить любое значение в любую

переменную, и переменная примет требуемый тип данных.

Document.write - метод, который прописывает HTML в Web-страницу как при

программировании вручную.

Каждый JavaScript-оператор должен заканчиваться точкой с запятой.

Отсутствие точки с запятой JavaScript считает ошибкой. Логические выражения

должны быть заключены в круглые скобки, а блоки операторов — в фигурные

скобки.

JavaScript использует знак == как логический оператор эквивалентности и

знак = в качестве оператора присваивания. Попытка сравнения с

использованием знака равенства (=) - вторая причина ошибок в JavaScript.

VBScript

В ответ на появление JavaScript Microsoft выпустила версию своего

популярного языка программирования Visual Basic. В целом VBScript делает то

же самое, что JavaScript, только программный код очень похож на Visual

Basic.

Visual Basic Script - подмножество языка Visual Basic. VBScript позволяет

решать задачи, связанные с Internet, а именно создавать сценарии (или

скрипты) управления объектами (кнопками, списками, ниспадающими меню и т.

д.) на Web-страничках. С помощью VBScript можно быстро создавать

собственные страницы или даже писать игры. И все это размещается внутри

HTML-документа.

Коротко о некоторых особенностях VBScript

VBScript отличается от JavaScript следующим:

• в конце оператора не ставится точка с запятой;

• знак равенства используется как для присвоения значений переменным, так

и для выполнения операции сравнения;

• блоки операторов выделяются не фигурными скобками, а парами ключевых

слов if...endif, do...loop, и while...wend.

Так же как в JavaScript, переменные вводятся по мере необходимости, а их

тип определяется по контексту. VBScript поддерживает почти все встроенные

функции Visual Basic. На Web-страницах VBScript выглядит следующим образом:

Тэги и практически такие же, как и раньше, а язык

определяется как VBScript. Тэги - те же самые, но без знака

комментариев //.

Основной недостаток VBScript состоит в том, что его поддерживает только

Internet Explorer. Это уничтожает всякую надежду использовать одну и ту же

страницу как для пользователей Netscape Navigator, так и для пользователей

Internet Explorer. По этой причине использование VBScript для

программирования на стороне клиента ограничено.

Java

Создание языка Java — один из самых значительных шагов вперед в области

разработки сред программирования за последние 20 лет. Язык HTML был

необходим для статического размещения страниц во “Всемирной паутине” WWW

(World Wide Web). Язык Java потребовался для качественного скачка в

создании интерактивных продуктов для сети Internet.

Три ключевых элемента объединились в технологии языка Java и сделали ее в

корне отличной от всего, существующего на сегодняшний день.

. Java предоставляет для широкого использования свои апплеты (applets) —

небольшие, надежные, динамичные, не зависящие от платформы активные

сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут

настраиваться и распространяться потребителям с такой же легкостью,

как любые документы HTML.

. Java высвобождает мощь объектно-ориентированной разработки приложений,

сочетая простой и знакомый синтаксис с надежной и удобной в работе

средой разработки. Это позволяет широкому кругу программистов быстро

создавать новые программы и новые апплеты.

. Java предоставляет программисту богатый набор классов объектов для

ясного абстрагирования многих системных функций, используемых при

работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов

заключается в том, что они обеспечивают создание независимых от

используемой платформы абстракций для широкого спектра системных

интерфейсов.

История создания

Язык Java зародился как часть проекта создания передового программного

обеспечения (ПО) для различных бытовых приборов. Реализация проекта была

начата на языке С++, но вскоре возник ряд проблем, наилучшим средством

борьбы с которыми было изменение самого инструмента - языка

программирования. Стало очевидным, что необходим платформо-независимый язык

программирования, позволяющий создавать программы, которые не приходилось

бы компилировать отдельно для каждой архитектуры и можно было бы

использовать на различных процессорах под различными операционными

системами.

Апплеты Java

Каждый апплет — это небольшая программа, динамически загружаемая по сети —

точно так же, как картинка, звуковой файл или элемент мультипликации.

Главная особенность апплетов заключается в том, что они являются настоящими

программами, а не очередным форматом файлов для хранения мультфильмов или

какой-либо другой информации. Апплет не просто проигрывает один и тот же

сценарий, а реагирует на действия пользователя и может динамически менять

свое поведение.

Именно броские Web-страницы с анимацией привлекли большинство ранних

приверженцев языка Java. Поскольку пользователи не сразу смогли полностью

освоить наиболее революционные аспекты Java, этот язык часто сравнивался с

другими технологиями для загрузки динамических изображений и простого

взаимодействия с Web-клиентами.

Революционный язык программирования

Разработчики Java с самого начала хорошо понимали, что язык,

предназначенный для решения проблем гетерогенных сред, также должен быть

. простым - его должны с легкостью использовать все разработчики

. ясным - разработчики должны без больших усилий выучить Java

. объектно-ориентированным - он использует все преимущества современных

методологий разработки ПО и подходит для написания распределенных

клиент-серверных приложений

. многопоточным - для обеспечения высокой производительности приложений,

выполняющих одновременно много действий (например, в мультимедийных

системах)

. интерпретируемым - для переносимости и большей динамичности

Язык должен был воплощать следующие качества: простоту и мощь,

безопасность, объектную ориентированность, надежность, интерактивность,

архитектурную независимость, возможность интерпретации, высокую

производительность и легкость в изучении. Даже если вы никогда не напишете

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

поскольку именно перечисленные выше свойства языка придают динамику

страницам Всемирной паутины.

. Простота и мощь

После освоения основных понятий объектно-ориентированного программирования

вы быстро научитесь программировать на Java. В наши дни существует много

систем программирования, гордящихся тем, что в них одной и той же цели

можно достичь десятком различных способов. В языке Java изобилие решений

отсутствует — для решения задачи у вас будет совсем немного вариантов.

Стремление к простоте зачастую приводило к созданию неэффективных и

невыразительных языков типа командных интерпретаторов. Java к числу таких

языков не относится – для Вас вся мощность ООП и библиотек классов.

Безопасность

В популярной литературе наших дней, особенно если речь заходит об Internet,

стало модной темой обсуждение вопросов безопасности. Люди уверены, что

использование Internet в коммерческой деятельности равносильно написанию

номера своей кредитной карточки на стенке телефонной будки. Один из

ключевых принципов разработки языка Java заключался в обеспечении защиты от

несанкционированного доступа. Программы на Java не могут вызывать

глобальные функции и получать доступ к произвольным системным ресурсам, что

обеспечивает в Java уровень безопасности, недоступный для других языков.

. Объектная ориентированность

Забавно наблюдать, как многочисленные новые диалекты старых языков

безапелляционно объявляются объектно-ориентированными. Поскольку при

разработке языка отсутствовала тяжелая наследственность, для реализации

объектов был избран удобный прагматичный подход. Разработчики Java

старались выдержать разумный компромисс между моделью пуристов — “все

является объектами”, и моделью хакеров — “уйди с моей дороги”. Объектная

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

производительности, числа и другие простые типы данных Java не являются

объектами.

. Надежность

Java ограничивает вас в нескольких ключевых областях и таким образом

способствует обнаружению ошибок на ранних стадиях разработки программы. В

то же время в ней отсутствуют многие источники ошибок, свойственных другим

языкам программирования (строгая типизация, например). Большинство

используемых сегодня программ “отказывают” в одной из двух ситуаций: при

выделении памяти, либо при возникновении исключительных ситуаций. Java

фактически снимает обе эти проблемы, используя сборщик мусора для

Страницы: 1, 2, 3, 4, 5


ИНТЕРЕСНОЕ



© 2009 Все права защищены.