Технологии разработки веб-приложений

Устройство веб-приложений, преимущества их построения. Характеристика технологий веб-программирования, используемых на стороне сервера и на стороне клиента. Формирование и обработка запросов, создание интерактивного и независимого от браузера интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 08.07.2014
Размер файла 76,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

3

Содержание

  • Введение
  • 1. Определение
  • 1.1 Технические особенности
  • 1.2 Устройство веб-приложений
  • 2. Технологии, используемые на стороне сервера
  • 2.2 ASP-технология
  • 2.3 ASP.net
  • 2.4 PHP
  • 2.5 Python
  • 2.6 Perl
  • 2.7 NODE. js
  • 3. Технологии веб-программирования применяющиеся на стороне клиента
  • 3.1 Для реализации GUI
  • 3.1.1 HTML
  • 3.1.2 XHTML
  • 3.1.3 CSS
  • 3.2 Для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса
  • 3.2.1 JavaScript
  • 3.2.2 Java
  • 3.2.3 Апплеты Java
  • 3.2.4 Active-X
  • 3.2.5 Adobe Flash\Flex
  • 3.2.6 Silverlight
  • 4. AJAX
  • Заключение
  • Список использованной литературы

Введение

Под современными технологиями веб-программирования, сегодня понимают в основном, Интернет-технологии, включающие в себя концептуальные знания WWW, HTML, Java, клиентских и серверных скриптов и языков запросов к базам данных, основы web-дизайна.

Web-технологии полностью перевернули представления о работе с информацией, да и с компьютером вообще. Оказалось, что традиционные параметры развития вычислительной техники производительность, пропускная способность, емкость запоминающих устройств не учитывали главного "узкого места" системы интерфейса с человеком. Устаревший механизм взаимодействия человека с информационной системой сдерживал внедрение новых технологий и уменьшал выгоду от их применения. И только когда интерфейс между человеком и компьютером был упрощен до естественности восприятия обычным человеком, последовал беспрецедентный взрыв интереса к возможностям вычислительной техники.

Создание Web-приложений является одной из важнейших технологий разработки ресурсов Internet.

В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.

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

1. Определение

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

1.1 Технические особенности

Существенное преимущество построения Web-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X,GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash - или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java или Flash реализациями на стороне клиента может приводить к различным осложнениям.

В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде "толстыми" клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин "Богатое Интернет приложение" (англ. Rich Internet Applications).

1.2 Устройство веб-приложений

Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию "клиент-сервер".

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

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

Таблица 1.

Название

Лицензия

Веб-сервер

ASP

проприетарная

специализированный

ASP.net

проприетарная

специализированный

Java

свободная

множество, в том числе свободных

Perl

свободная

практически любой

PHP

свободная

практически любой

Python

свободная

практически любой

Nodejs

MIT License

собственный

В свою очередь на стороне клиента используется следующие веб технологии:

Для реализации GUI

HTML, XHTML

CSS

Для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса:

ActiveX

Adobe Flash, Adobe Flex

Java

JavaScript

Silverlight

приложение сервер клиент интерфейс

2. Технологии, используемые на стороне сервера

2.2 ASP-технология

ASP (англ. Active Server Pages - "активные серверные страницы") - технология, предложенная компанией Microsoft в 1996 году для создания Web-приложений. Эта технология основана на внедрении в обыкновенные веб-страницы специальных элементов управления, допускающих программное управление.

По своей сути, ASP - это технология динамического создания страниц на стороне сервера, приблизившая проектирование и реализацию Web-приложений к той модели, по которой проектируются и реализуются обычные приложения.

Для реализации приложений ASP используются языки сценариев (VBScript или JScript). Также допускается применение COM-компонентов.

Технология ASP разработана для операционных систем из семейства Windows NT и функционирует под управлением веб-сервера Microsoft IIS.

Страница на ASP - это обычная страница HTML, со вставками, обозначенными ограничителями <% и %>:

<%

Response. write "Hello World!"

%>

То что находится внутри ограничителей - это текст программы, интерпретируемый при запросе страницы. VBScript является языком по умолчанию, хотя возможно использование и JScript (или любого другого языка, если установлен соответствующий интерпретатор):

<% @ Language = "JScript" %><%

Response. Write ("Hello World!");

%>

2.3 ASP.net

Это новая версия технологии ASP, ключевая в архитектуре Microsoft.net Framework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений.

В основу ASP.net положена работа в среде CLR (Common Language Runtime), что позволяет создавать Web-приложения на любом языке, поддерживаемом платформой.net, например, таких как Visual Basic, JavaScript или С#. Это немаловажное преимущество, так как теперь возможности одного языка могут использоваться в другом языке без необходимости написания дополнительного кода. Таким образом, достигается высокая степень повторного использования кода. Независимо от языка программирования, использованного при создании приложения ASP, его код компилируется в код на промежуточном языке IL.

Во время компиляции проверяется синтаксическая корректность исходного текста. Скомпилированный в промежуточный язык код выполняется быстрее, и он будет таким же независимо от языка, который мы используем. Компиляция происходит на сервере в момент первого обращения пользователя к странице. Если программист изменил текст страницы, программа перекомпилируется автоматически.

2.4 PHP

Скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. На сегодняшний момент поддерживается подавляющим большинством представителей хостингов. Входит в LAMP - "стандартный" набор для создания веб сайтов.

PHP - не что иное, как оболочка вокруг языка С, с управлением памятью (подсчет ссылок) и гибкой системой типов. Обычно PHP выполняется на web-сервере, обрабатывая код на входе и генерируя web-страницы на выходе. Так же, как и во многих других интерпретируемых языках программирования, PHP-скрипты обычно хранятся в исходниках даже на производственных web-серверах. Это увеличивает время их выполнения за счет компиляции на лету.

PHP выполняет код, заключенный в тэг <? php.? > и его подвиды, а остальное содержимое файла выводится прямо на страницу. Переменные предваряются знаком $ и не требуют указания типа. Ключевые слова и синтаксис языка похожи на большинство высокоуровневых языков программирования, следующих синтаксису языка C.

В этом весь он: характерный пример скрипта на php. Выводит: var

<? php $a = 'var';

$b = 'iable';

$variable = 'var';

echo ${$a. $b};

? >

Огромное количество сайтов (около 20 млн.) в Сети написано на PHP, включая такие гиганты, как Wikipedia, Yahoo!, Facebook, YouTube. Популярность PHP основана на том, что его легко использовать, и вставки легко читаемы в HTML-документах. Использование PHP в паре с HTML-редактором - это отличный путь к созданию динамического контента при минимуме затрат на программирование.

Легкость разработки, основанная на философии PHP ("структура не важна"), имеет обратную сторону. Быстро научившись писать на "простом" PHP, забываешь о соблюдении грамотной структуры приложения, правилах хорошего тона, и когда приложение переходит границы "небольшого", начинаешь вязнуть в собственноручно написанном коде.

Статистика уязвимостей PHP из National Vulnerability Database: 35.87% уязвимостей всего программного обеспечения берет на себя PHP.

2.5 Python

Python - это один из языков высокого уровня, общего назначения. Базовый синтаксис и семантика Python'а минималистичны, а стандартные библиотеки, напротив, огромны и сложны. Python поддерживает несколько парадигм программирования (ООП, императивное и функциональное) и обладает такими особенностями, как полностью динамическая система типов и автоматическое управление памятью.

Python разрабатывался как легко читаемый язык. Его ключевая идея: "Должен быть только один, и лучше всего очевидный, способ сделать это". Отсюда следует, что код, написанный одним разработчиком, может легко развиваться и поддерживаться другим. Кроме того, Python "навязывает" программистам дисциплину (использованием отступов и синтаксисом кода). Это позволяет легко поддерживать крупные приложения. Для отделения блоков кода используются отступы, а не фигурные скобки (как в С, С++,.) или ключевые слова (как в Delphi). Увеличение отступа идет после определенных операторов (if, def, for, try.), a уменьшение указывает на конец текущего блока.

Быстрая сортировка на Python. Одно слово - элегантный:

def qsort (L):

if L == []:

return [] pivot = L [0] return (qsort ([x for x in L [1:] if x < pivot]) + [pivot] + qsort ([x for x in L [1:] if x >= pivot]))

Python успешно внедряется в программные продукты как скриптинговый

язык, используется в 3D-анимации (Maya, Softimage XSI, Blender) и редакторах изображений (GIMP, Inkscape, Scribus, Paint Shop Pro). На нем даже написана пара видеоигр.

Несмотря на тот факт, что Python используют Google, Yahoo!, CERN и NASA, у него есть серьезная проблема с популярностью, а точнее - распространенностью. Причина - PHP проще.

Разработка приложений на Python'e идет быстрее на 30%, чем на PHP а его уязвимости составляют всего 0.67% от общего числа, против 36% у PHP (Python неуязвим).

2.6 Perl

Язык Perl был создан для повышения эффективности обработки текстовых документов. Он ориентирован на обработку строк. В настоящее время язык получил большое распространение как инструмент создания исполняемых модулей WWW-сервера. Существующие пакеты расширения обеспечивают доступ к SQL-серверам непосредственно из Perl-программы. Это позволяет использовать его для решения всех задач, возникающих при обеспечении WWW-доступа к базам данных. Perl эффективен также при обработке произвольных структур данных: существующих отчетов, списков, карточек в электронном виде.

Perl очень быстрый: считывая исходный файл, он тут же компилирует его в низкоуровневый код, который потом исполняет. Обычно компиляция и исполнение в Perl не воспринимаются как отдельные шаги, поскольку выполняются вместе: Perl запускается, читает исходный файл, компилирует его, запускает и затем завершает работу. Этот процесс повторяется каждый раз, когда запускается сценарий Perl, в том числе CGI-сценарии. Следует обратить внимание, что в системах Windows это гораздо менее эффективно из-за необходимости создания новых процессов.

Perl, скорее, призван быть практичным (легким в использовании, эффективным и полным), чем красивым. Он поддерживает несколько парадигм программирования (впрочем, как и Python с PHP), управление памятью (подсчет ссылок), встроенную обработку текста и кучу сторонних модулей.

Простые числа на Perl. Сильно, но непонятно:

perl - wle ' (1 x $_)! ~ /^ (11+) \1+$/ && print while ++ $_'

Perl обладает богатым синтаксисом и следует философии "Должно быть много способов сделать это". Однако встретить серьезного программиста на Perl в наше время уже не так легко. Perl нужно учить дольше, чем Python, не говоря уже о PHP, и за ним закрепилась прочная репутация языка "только на запись".

Говоря о web-разработке, необходимо упомянуть о системе шаблонов Perl'а. Когда создают динамические web-страницы, обычно хотят использовать что-то, что позволило бы сделать работу быстро и грязно. Конечно, это неправильно, но зато убирает барьеры.

Ведя речь о крупных web-приложениях на Perl, мы подразумеваем Amazon.com, LiveJournal.

По уязвимостям Perl занимает второе место (из трех) с 9.54% - в принципе, не так уж плохо, учитывая его сложность и многолетнюю историю.

2.7 NODE. js

Node или Node. js - программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код) превращающая JavaScript из узкоспециализированного языка в язык общего назначения.

Node. js добавляет возможность JavaScript взаимодействовать с устройствами ввода/вывода через свой API (написанном на C++), подключать

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

Node. js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node. js и десктопные оконные приложения (при помощи node-webkit и AppJS для Linux, Windows и MacOS) и даже программировать микроконтроллеры (например, tesselи espruino). В основе Node. js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией "один поток на каждое соединение") и быстродействия. Целью Node является предложить "простой способ построения масштабируемых сетевых серверов".

Пример кода:

Создание и запуск HTTP-сервера на Node. js, выдающего Hello, world! :

var http = require ('http');

http. createServer (function (req, res) {

res. writeHead (200, {'Content-Type': 'text/plain'});

res. end ('Hello World\n');

}). listen (1337, '127.0.0.1');

console. log ('Server running at http://127.0.0.1: 1337/');

3. Технологии веб-программирования применяющиеся на стороне клиента

3.1 Для реализации GUI

3.1.1 HTML

HyperText Markup Language - язык гиппертекстовой разметки. Фактически термин "язык" не совсем точно отражает сущность HTML. Скорее HTML можно назвать расширенным текстом (текстом со свойствами), поскольку основа любого HTML-документа - это текст со вставками (маркерами, операторами, тегами,), придающими тексту различные свойства (шрифт, его размер, цвет, позицию и т.д.). Например: у нас есть буковка "Х", и это просто буква без свойств и прочего. С ней ничего нельзя поделать - это просто буква. Теперь мы хотим выкрасить эту букву в синий цвет и наклонить ее чуть вправо. Как это сделать? Надо объяснить браузеру, который эту букву будет показывать юзеру, что мы хотим ее покрасить и наклонить, поэтому мы должны где-то в свойствах буквы это указать. Иначе браузер покажет просто букву - прямую и черную. Вот для этого и существует HTML, он фактически говорит браузеру, как мы хотим отобразить букву (слово, текст) на экране. В обычном текстовом файле мы пишем свою букву (слово, текст) и с помощью HTML-тэгов назначаем ей свойства: цвет - синий, наклонена. Браузер видит эти свойства и согласно им отображает букву.

Кроме этого в текст можно вставлять ссылки на другие документы, файлы, скрипты и т.д. Редактировать HTML-файлы можно через банальный MS Word, стандартный Front Page Express и, наконец, MS InterDev - мощная среда, входящая в пакет MS Visual Studio 6.0. Из них самые продвинутые средства предлагает InterDev - интеграцию скриптов, ActiveX элементов и т.д., не говоря уже об удобном HTML-editing'е. Правда, - самые продвинутые порталы были сделаны в. notepad'e.

3.1.2 XHTML

XHTML (англ. Extensible Hypertext Markup Language - расширяемый язык гипертекстовой разметки) - семейство языков разметки веб-страниц на основе XML, повторяющих и расширяющих возможности HTML 4. Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины, однако на данный момент его развитие остановлено с рекомендацией использовать HTML. Новые версии XHTML не выпускаются.

Главное отличие XHTML от HTML заключается в обработке документа. Документы XHTML обрабатываются своим модулем (парсером) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.

XHTML соответствует спецификации SGML, поскольку XML является её подмножеством.html обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.

Браузер выбирает парсер для обработки документа на основании заголовка content-type, полученного от сервера:

HTML - text/html

XHTML - application/xhtml+xml

Для локального просмотра на клиенте выбор основывается на расширении файла.

В Internet Explorer вплоть до 8-й версии парсер обработки XHTML-документов отсутствует.

Основные Различия между XHTML и HTML

Согласно синтаксису XHTML:

Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>), должны иметь на конце / (например, <br />).

Логические атрибуты записываются в развёрнутой форме. Например, следует писать <option selected="selected"> или <td nowrap="nowrap">.

Имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" /> вместо <IMG ALT="" />).

XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL, должны замещаться &lt; и &amp; соответственно. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор.

Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).

3.1.3 CSS

CSS - аббревиатура Cascading Style Sheets. Переводится CSS как "Каскадные Таблицы Стилей". Это что-то типа маленькой базы данных. CSS создан для управления не только внешним и внутренним видами таблиц (как кажется из названия), а также других вещей, таких как шрифты, цвета, фоны.

Задачи CSS'а сходны с обычным html'ным кодом. Но он имеет намного больше возможностей, да еще и помогает уменьшить объем html-страниц.

Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или другихязыков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом.

Способы подключения CSS к документу.

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

Эти таблицы стилей могут быть подключены, внедрены в описываемый ими веб-документ четырьмя различными способами:

· когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством тега <link>, располагающегося в этом документе между тегами <head> и </head>. (Тег <link> будет иметь атрибут href, имеющий значением адрес этой таблицы стилей).

· так же она может быть подключена к веб-документу посредством директивы @import, располагающейся в этом документе между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>) сразу после тега <style>, которая также указывает (в своих скобках, после слова url) на адрес этой таблицы стилей. Все правила этой таблицы действуют на протяжении всего документа;

· когда таблица стилей описана в самом документе, она может располагаться в нём между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>). Все правила этой таблицы действуют на протяжении всего документа;

· когда таблица стилей описана в самом документе, она может располагаться в нём в теле какого-то отдельного тега (посредством его атрибута style) этого документа. Все правила этой таблицы действуют только на содержимое этого тега.

3.2 Для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса

3.2.1 JavaScript

JavaScript - это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Наибольшую популярность JavaScript обеспечило программирование на стороне клиента.

JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.

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

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

Одна из главных причин, по которой Web-разработчики приняли JavaScript, - возможность выполнения на стороне клиента многих функций, которые ранее выполнялись исключительно на стороне сервера. Лучшим примером является проверка форм.

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

3.2.2 Java

Java - платформонезависимый, многопоточный, объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируется в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры.

Для реализации принципа многоплатформенности в языке применяется элемент, отсутствующий в "классических" языках, - виртуальная машина (JVM).

Программа, написанная на языке Java, переводится компилятором в байт-коды. Эта компиляция не зависит от архитектуры компьютера, типа процессора и операционной системы. Байт-коды записываются в один или несколько файлов, и над ними (именно в таком виде) могут производиться стандартные операции (запись на внешний носитель, передача по Сети, копирование). Далее можно выполнять байт-коды на любой системе, реализующей Java Virtual Machine. Получается, что виртуальная машина "берет на себя" все особенности той или иной архитектуры, что позволяет запускать одно и то же приложение на персональном компьютере, КПК и мобильном телефоне.

3.2.3 Апплеты Java

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

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

Именно броские Web-страницы с анимацией привлекли большинство ранних приверженцев языка Java. Поскольку пользователи не сразу смогли полностью освоить наиболее революционные аспекты Java, этот язык часто сравнивался с другими технологиями для загрузки динамических изображений и простого взаимодействия с Web-клиентами.

3.2.4 Active-X

Active-X - это майкрософтовская технология внедрения в web-страницы и программы контролов (элементов управления). Контрол есть обычная библиотека с расширением DLL или OCX, которая выводит на web-страницу что-нибудь вроде кнопки с прыгающей картинкой. Кнопка прорисовывается, реагирует на мышедвижения и кнопконажатия, имеет свои свойства и методы, которыми можно управлять из JavaScript.

Технология ActiveX - средство, при помощи которого Internet Explorer (IE) использует другие приложения внутри себя. С помощью ActiveX IE загружает Windows Media Player, Quicktime и другие приложения, которые могут воспроизводить файлы, внедрённые в веб-страницы. Элементы управления ActiveX активизируются при щелчке по такому объекту на веб-странице, например,. WMV-файлу, чтобы загрузить его для отображения в окне браузера Internet Explorer.

Firefox и другие кроссплатформенные браузеры используют программный интерфейс подключаемых модулей Netscape (Netscape Plugin Application Programming Interface, NPAPI). NPAPI выполняет функции, подобные таковым из ActiveX.

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

Писать Active-X можно на C++, Delphi, теоретически даже на Ассемблере. Можно и на Visual Basic, но это скорее грустно, чем смешно.

Вредоносное ПО, такое, как компьютерные вирусы и шпионящее ПО,

можно случайно установить с вебсайтов злоумышленников, используя технологию управляющих элементов ActiveX.

3.2.5 Adobe Flash\Flex

Технологии Flash, или, как их еще называют, технологии интерактивной веб-анимации, были разработаны компанией Macromedia и объединили в себе множество мощных технологических решений в области мультимедийного представления информации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. При этом размер получающихся программ минимален и результат их работы не зависит от разрешения экрана у пользователя - а это одни из основных требований, предъявляемых к интернет-проектам [3] .

По сути, Flash Player представляет собой виртуальную машину, на которой выполняется загруженный из Интернета код flash-программы.

В основе анимации во Flash лежит векторный морфинг, то есть плавное "перетекание" одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров. Производительность Flash Player при воспроизведении анимации в несколько раз превышает производительность виртуальной машины Javascript в браузерах, поддерживающих предварительный стандарт HTML5 [4] , хотя во много раз уступает приложениям, работающим вообще без использования виртуальных машин.

Flash использует язык программирования ActionScript, основанный на ECMAScript.

Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением flash-приложений (включая AIR-приложения).

Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:

· Apple на HTML5 для iPhone, iPod touch и iPad

· Microsoft на Silverlight для Windows Phone 7

· Oracle на JavaFX

Apache flex

Apache Flex, ранее Adobe Flex - комплект средств разработки (SDK) для создания кросс-платформенных Rich Internet Applications на основе Flash.

Flex расширяет базовые возможности Flash, позволяя описывать интерфейс приложения на XML, ускоряя и упрощая процесс разработки насыщенных веб-приложений. Логика приложения пишется на ActionScript 3. Результатом компиляции является файл SWF, предназначенный для выполнения в браузере (на платформе Flash Player) или как самостоятельное приложение (на платформе AIR). Flex-приложение может компилироваться на сервере (для этого потребуется mod_flex. so или mod_flex. dll в зависимости от ОС и веб-сервера), а может - из IDE или непосредственно из командной строки с помощью компилятора mxmlc (начиная с Flex 2), как и во Flash, результатом является файл swf, исполняемый в Flash Player.

Flex - это большой набор классов, расширяющих возможности Flash. Flex-framework включает возможности локализации, стилизации приложения, разработки модульного приложения, встроенные валидаторы и форматоры текстовых полей - все те инструменты, которые нужны разработчикам приложений, работающих online.

Основным недостатком Flex, является объем кода. Работа flex-framework основана на относительно большом количестве собственного AS3-кода.

3.2.6 Silverlight

Microsoft Silverlight - это программная платформа, включающая в себя модуль для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA

Silverlight предоставляет графическую систему, схожую с Windows Presentation Foundation, и объединяет мультимедиа, графику, анимацию и интерактивность в одной программной платформе. Он был разработан, чтобы работать с XAML и с языками .net. XAML используется для разметки страниц, использующих векторную графику и анимацию. Текст, содержащийся в приложениях Silverlight, доступен для поисковых систем, так как он не компилируется, а доступен в виде XAML. Silverlight также можно использовать для того, чтобы создавать виджеты для Windows Sidebar в Windows Vista.

Silverlight может воспроизводить WMV, WMA и MP3. Позволяет динамически загружать XML и использовать DOM для взаимодействия с ним так же, как это делается в Ajax. Silverlight содержит объект Downloader, благодаря которому можно скачивать скрипты, медиа файлы и т.д., если это необходимо приложению. Начиная с версии 2.0, логика программы может быть описана в любом из языков .net, включая динамические языки программирования такие как Iron Ruby и Iron Python, которые в свою очередь исполняются в DLR (Dynamic Language Runtime), а не CLR (Common Language Runtime).

4. AJAX

Различные технологии динамической подгрузки данных (без перезагрузки страницы) применяются уже достаточно давно, но появление термина ajax заставило всех говорить о ней. К сожалению, из-за различий браузеров отсутствует единая кроссбраузерная реализация данной технологии.

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

2002 год можно считать датой рождения технологии AJAX. В этом году сообществом программистов microsoft. public. scripting. remote была предложена модификация, которая заменяла Java-апплет объектом XMLHTTPRequest в JavaScript. К 2005 году большинство используемых браузеров (таких как MS Internet Explorer и браузеры Mozilla) поддерживали этот объект для динамического доступа к данным.

Технология AJAX подразумевает использование языка разметки HTML совместно с таблицами стилей CSS для представления данных, языка JavaScript и объектной модели документа (Document Object Model, DOM) для манипуляции данными и языка разметки XML для обмена информацией между сервером и клиентом.

Подход, основанный на базе AJAX, позволяет повысить интенсивность обмена данными между пользователем и серверным приложением, тем самым уменьшать время простоя сервера и, что главное, улучшать дружественность интерфейса.

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

Если говорить подробнее о реализации объекта XMLHTTPRequest в каждом конкретном браузере, то можно обнаружить интересные "подводные камни", с которыми сталкивается web-разработчик. К примеру, в браузере MS Internet Explorer XMLHTTPRequest представляет собой ActiveX-компонент. Соответственно, если пользователь по каким-то причинам отключил в браузере ActiveX, то web-страница, написанная с использование AJAX, не сможет получить доступ к одному из своих главных компонентов.

Браузеры Мozilla Foundation, такие как Mozilla и Firefox, имеют лучшую поддержку объекта XMLHTTPRequest, независимую от каких-либо расширений и встроенную в браузер. Единственной особенностью является ограничение на загрузку документов только с текущего сайта при настройках по умолчанию.

Примеры использования

Все больше крупных web-сайтов начинают использовать технологию AJAX для улучшения интерактивного взаимодействия с пользователем. Самая удачная реализация - web-интерфейс почтовой службы Gmail компании Google.

AJAX - важный шаг в развитии идеологии Web 2.0, которая набирать популярность. Приближение интерфейсов web-приложений к обычным оконным приложениям заставляет пользователя задуматься о выборе, и симпатии людей обернутся в пользу именно web'а.

Заключение

Глобальная информатизация общества приводит к тому, что потребность в информации, растет с каждым новым пользователем сети. При этом задачей специалистов в области информационных технологий обеспечить пользователей полной и достоверной информацией путем простого и удобного для пользователей доступа к накопленным массивам данных.

В данной контрольной работе был рассмотрен широкий, однако далеко не полный ряд всевозможных технологий, используемых в настоящее время для создания веб - приложений. Очевидно, что задача создания полномасштабного web-приложения уже давно вышла за рамки возможностей одного человека. Спектр узких квалификаций в этой области многократно вырос за последние несколько лет, и продолжает расширяться.

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

Список использованной литературы

1. Крис Джамса. Эффективный самоучитель по креативному Web-дизайну / Крис Джамса, Конрад Кинг, Энди Андерсон. - ДиаСофтЮП, 2005 г. - 672с.

2. Дейв Крейн. Ajax в действии/Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. - Диалектика, 2006 г. - 649 с.

3. А.П. Пашкевич. Современные технологии прграммирования: Конспект лекций / А.П. Пашкевич, О.А. Чумаков; Белорусский государственный университет информатики и радиоэлектроники: Минск, 2007. - 64 с.

4. Веб-приложение [Электронный ресурс]: Википедия. - Интернет энциклопедия. - режим доступа: http://ru. wikipedia.org/wiki/Веб-приложение

5. Три полных пэ. Python, PHP или Perl? Выбираем последнюю букву в слове "LAMP" [Электронный ресурс]: журн. Хакер. - Электрон. журн. - режим доступа к журн.: http://www.xakep.ru/magazine/xA/127/086/1. asp

Размещено на Allbest.ru


Подобные документы

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

  • Определение возможностей средств и языков для разработки сайта, требований, предъявляемых к текстовой и графической информации, представленной на экране монитора. Характеристика технологии создания RIA-приложений, Flash-компонентов и Active-x-объектов.

    курсовая работа [3,0 M], добавлен 17.03.2012

  • Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.

    курсовая работа [4,1 M], добавлен 17.07.2012

  • Преимущество построения Web-приложений для поддержки стандартных функций браузера. Настройка проекта Web-приложения. Создание и изменение исходных файлов. Изменение файла JavaServer Pages по умолчанию. Основные проблемы при выполнении Web-приложений.

    контрольная работа [362,8 K], добавлен 10.11.2013

  • Использование языков программирования, работающих на стороне клиента. Теговые языки логической разметки документов. Скриптовые языки программирования. Работоспособность клиентских технологий. Функциональные интерактивные сайты и сроки их разработки.

    лабораторная работа [2,1 M], добавлен 27.04.2009

  • Понятие информации и роль компьютерных и Интернет-технологий в современном мире. Плюсы и минусы внедрения ERP-систем. Языки программирования для разработки Web-приложений. Методология разработки интерактивного справочника. Расчёт эксплуатационных затрат.

    дипломная работа [962,7 K], добавлен 13.10.2012

  • Структура и устройство метода AJAX, а также история его возникновения и развития. Инструментарий разработки AJAX-приложений. Безопасность AJAX-приложений и способы их решения. Разработка дизайна оформления клиентской и администраторской частей портала.

    дипломная работа [2,9 M], добавлен 22.07.2011

  • Проектирование информационной системы "телефонный справочник поликлиники". Программирование на стороне сервера SQL. Типы данных полей таблиц. Создание домена в интернет с использованием утилиты IBExpert. Разработка бизнес-логики на стороне SQL-сервера.

    курсовая работа [2,7 M], добавлен 02.05.2014

  • Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.

    курсовая работа [869,3 K], добавлен 18.05.2014

  • Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.

    методичка [619,9 K], добавлен 17.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.