Файл: Критерии выбора средств разработки WEB-приложений (Анализ предметной области).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 540

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Исполняемые программы, работающие через интерфейс CGI (Common Gateway Interface — общий интерфейс обмена), так называемые CGI-npoграммы. Эта разновидность серверных программ — самая старая, однако отнюдь не устаревшая.
  2. Расширения Web-сервера (приложения формата ISAPI, NSAPI, модули расширения Apache и т. п.). Новый способ, позволяющий встраивать серверные программы в сам Web-сервер, делая их его составными частями. Впервые предложен фирмой Microsoft для их сервера Microsoft Internet Information Server (интерфейс ISAPI) и разработчиками популярного бесплатного Web-сервера Apache.
  3. Активные серверные страницы (ASP, JSP и др.). Фактически это обычные статические Web-страницы, сохраненные в файлах, Которые, кроме обычного HTML-кода, включают в себя команды, обрабатываемые либо самим Web-сервером, либо его расширением. Также новый способ, впервые предложенный Microsoft для того же Internet Information Server.
  4. Серверные сценарии, написанные на интерпретируемом языке (Perl, Python, VBScript, JavaScript и др.). Обычные сценарии, работающие через интерфейс CGI или ISAPI на стороне сервера.

CGI-программы представляют собой обычные исполняемые файлы, написанные на любом языке программирования и откомпилированные в машинный код процессора. Они не имеют интерфейса пользователя (как и все серверные программы), а работают с Web-сервером, получают от него входные данные и ему же пересылают результаты своей работы. Запускаются они самим Web-сервером, когда в них возникает нужда (когда необходимо обработать полученные от пользователя данные), и работают под управлением операционной системы серверного компьютера. При этом, если Web-серверу поступает одновременно несколько запросов на обработку данных от пользователей, он запускает соответствующее количество копий CGI-программы. [4]

К достоинствам CGI-программ можно отнести легкость создания (многие среды разработки программ поддерживают создание таких приложений, в частности популярнейший Borland Delphi, начиная с версии 3) и простоту отладки. Также, поскольку CGI-приложения представляют собой независимые программы, они выполняются отдельно от Web-сервера (как говорят программисты и системные администраторы, выполняются в другом адресном пространстве). Это значит, что при сбое в CGI-программе завершается только она — сам Web-сервер остается "на плаву". А недостаток у CGI-программ всего один: большой расход системных ресурсов, поскольку для обработки каждого набора данных запускается отдельная копия серверной программы. И если Web-серверу поступит слишком много запросов на обработку данных, серверный компьютер может и зависнуть.


Расширения Web-сервера — более новая разновидность серверных программ. Они представляют собой обычные библиотеки DLL, в которых реализована вся логика серверной программы. Такие библиотеки как бы встраиваются в программу Web-сервера и работают как ее неотъемлемая часть. Поскольку библиотеки DLL работают только в среде Windows, для того чтобы создавать расширения в иных операционных системах, были придуманы и другие форматы. В частности, модули расширения сервера Apache не являются библиотеками DLL,

Именно в виде библиотек DLL создаются расширения Web-серверов Internet Information Server фирмы Microsoft и Netscape Web Server фирмы Netscape. В первом случае расширения имеют формат ISAPI (Internet Server Application Programming Interface — интерфейс программирования приложений интернет-сервера), а во втором — NSAPI (Netscape Server Application Programming Interface — интерфейс программирования приложений сервер^ Netscape). Формат модулей расширения Apache так и называется — модули Apache.

Достоинство у расширений Web-сервера одно: бережный расход системных ресурсов. Дело в том, что для обработки всех наборов данных пользователя запускается всего один экземпляр расширения, который отнимает существенно меньше ресурсов, чем уйма запущенных CGI-программ. Однако расширения труднее создавать и отлаживать, к тому же они не так безопасны.

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

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

Как уже говорилось, активные серверные страницы — это обычные Web-страницы, включающие в себя особые серверные сценарии, выполняемые самим Web-сервером или специальной серверной программой (CGI-приложением или расширением Web-сервера). В частности, ASP (Active Server Pages — активные серверные страницы), поддерживаемые Microsoft Internet Information Server, и JSP (Java Server Pages — серверные страницы, написанные на JavaScript), поддерживаемые рядом других Web-серверов, работают именно таким образом. Серверные страницы ASP пишутся на языках JavaScript и VBScript, a JSP — только на JavaScript.


Достоинства активных серверных страниц вы уже знаете: легкость и быстрота написания и простота отладки. Кроме того, поскольку активные серверные страницы -- это обычные Web-страницы с "вкраплениями" программного кода, их написание легко освоят все, кто знаком с HTML. Недостаток: относительная медлительность и повышенные требования к системным ресурсам. [3]

Серверные сценарии подобны активным серверным страницам тем, что являются интерпретируемыми, однако представляют собой "чистый" программный код, без HTML-''примесей". Интерпретатор практически всегда представляет собой CGI-программу, однако ничто не мешает разработать его в виде расширения Web-сервера. Сценарии обычно пишутся на языке программирования Perl, специально предназначенном для обработки текста; также используются языки Python, JavaScript, VBScript и даже (как говорят) язык командных файлов MS-DOS. Фактически писать сценарии можно на любом языке программирования, для которого есть интерпретатор.

Достоинства и недостатки серверных сценариев те же, что у активных серверных страниц. Однако сценарии потребляют исключительно много системных ресурсов, даже больше, чем CGI-приложения. Ведь для обработки каждого набора данных пользователя запускается своя копия интерпретатора, а интерпретатор, в свою очередь, расходует много ресурсов на обработку сценария. И все же, несмотря на это, сценарии — самый популярный способ создания серверных программ. [18]

1.2 История появления веб-индустрии

История создания сайтов берет свое начало с 90-х годов прошлого столетия и тесно связана с возникновением сети Интернет. Первопроходцем в этой сфере был женевский ученый из Европейской лаборатории элементарных частиц Тим Бернерс-Ли. Именно он является создателем первого в мире сайта. Но еще до него в далеких сороковых годах прошлого столетия Ваннервар Буш развивал идею о том, что благодаря специальным техническим устройствам можно расширить человеческую память и проиндексировать накопленную веками информацию.

Это давало бы возможность, по его мнению, организовать быстрый поиск необходимой информации. Именно такой принцип и лежит в основе сегодняшних сайтов. Сведения о дате создания первого сайта в литературных источниках разнятся. Одни исследователи утверждают, что это произошло в 1990 году, другие же датируют это событие 6 августа 1991 года. Тем не менее, факт остается фактом.


На этом сайте было размещено описание разработанной Бернерсом-Ли технологии WWW (World Wide Web), базирующейся на протоколе передачи данных HTTP, системе адресации URL и разметке гипертекста HTML. Помимо этого, на сайте находился ряд ссылок на другие сайты, то есть фактически он представлял собой первый Интернет-каталог в мире. Здесь же была изложена подробная информация о том, как работают браузеры и серверы и как их необходимо устанавливать. [19]

Для разработки сайта Бернерс-Ли подготовил все необходимые инструменты заранее: гипертекстовый браузер с функционалом веб-редактора, веб-страницы и сервер на базе NeXTcube. Сегодня Тим Бернерс-Ли стоит во главе основанного им Консорциума Всемирной паутины (World Wide Web Consortium), занимающегося разработкой и внедрением стандартов Всемирной сети. В середине 90-х разработка сайтов стала одним из наиболее динамично развивающихся отраслей в мире. Если в 1995 году компаний, занимающихся веб-разработкой, насчитывалось менее 1000 тысячи, то спустя десятилетие (10 лет) только в Соединенных Штатах Америки их было уже более 30 000 тысяч.

В России активное распространение Интернета началось лишь в конце 90-х годов, несмотря на то, что первый сайт на русском языке был разработан уже в 1995 году. Сегодня Рунет изобилует сайтами различной направленности. [19]

Веб-технологии постепенно развились до такого уровня, что у разработчиков появилась возможность создавать веб-содержание нового поколения. Сегодняшний Интернет является результатом непрерывных усилий открытого веб-сообщества, которое помогает разрабатывать такие технологии, как HTML5, CSS3 и WebGL, и добивается их поддержки всеми браузерами.

2. Разработка веб-приложений

2.1 Разработка клиентской части веб-приложений

2.1.1 Язык гипертекстовой разметки HTML

HTML5, последняя версия гипертекстового языка разметки HTML, привела к сдвигу парадигмы веб-дизайна и его активному развитию. Он ввел множество новых функций, которые позволяют сделать сайты более привлекательными и интерактивными. Новая технология предлагает ряд преимуществ по сравнению с предыдущими версиями. [6, 11, 14]


К основным преимуществам HTML5 можно отнести следующие:

  1. Doctype.

Это простое и удобное объявление валидатору типа версии, используемой HTML: “<! DOCTYPE html>”. Не нужно копировать и вставлять длинный и нечитаемый код, который приходилось раньше использовать в старой версии HTML. Помимо простоты, он также работает со всеми устаревшими версиями основных браузеров, включая IE6.

  1. Улучшенная семантичность.

Одним из преимуществ HTML5 является то, что он улучшил семантичность веб-сайтов. В HTML5 разработчик может легко получить доступ к контенту и понять различные теги, такие как <header>, <footer>, <nav>, <section>, <aside>. Это не только улучшает отображение, но и облегчает процесс кодирования. Это новое усовершенствование обеспечивает улучшенный доступ для пользователей независимо от размера экрана, ориентации и разрешения устройства [8].

  1. Мобильная оптимизация.

HTML5 — это самый гибкий инструмент, который позволяет создавать веб-сайты и приложения для различных мобильных устройств. Разработка мобильных приложений благодаря семантическому коду стала ещё более удобной.

  1. Кроссбраузерность.

В мире с несколькими браузерами веб-сайты должны быть совместимы с браузерами, и это было основной идеей HTML5 Doctype. Он поддерживает все основные браузеры, включая Google Chrome, Internet Explorer, Firefox, Opera и Safari и даже поддерживает их устаревшие версии.

  1. Поддержка аудио и видео.

Использование аудио и видео элементов в прошлом означало использование Flash Player или других сторонних медиаплееров, которые сделали эти элементы доступными только для немногих, у которых были установлены эти инструменты. Одним из основных преимуществ HTML5 является то, что он ввел множество новые теги: <audio> и <video>, позволяющими добавлять на сайт мультимедийные элементы без каких-либо проблем.

  1. Геолокация.

API-интерфейс HTML5 Geolocation позволяет определять местоположение пользователя и показывать ему контент, который для него специфичен. Эта функция будет, однако, требовать согласия пользователя, для определения его местоположения, но делает просмотр веб-страниц гораздо более легким и удобным для пользователей. [14]

  1. Разработка игр.

Игры могут быть разработаны на HTML5 с помощью тега <canvas>. В отличие от старых флеш-игр, они гораздо интереснее и легко разрабатываются.

  1. Улучшенное хранилище.

В HTML5 улучшенная функция хранения, которая идеально сочетается с хранилищем cookie и клиентской базой данных. Это лучше с точки зрения безопасности, а также позволяет экономить память [11].