Файл: Основы алгоритмизации и программирования (рассмотрение критериев выбора средств разработки).pdf
Добавлен: 06.04.2023
Просмотров: 259
Скачиваний: 1
Введение
Актуальность. На современном этапе развития информационно-коммуникационных технологий отмечается повышений требований к качеству веб-приложений. В отличие от веб-сайтов, которые используются, в основном, для предоставления информации, веб-приложения являются более интерактивными и позволяют пользователю принимать активное участие в работе. Возможности современных веб-приложений сравнимы с возможностями классических приложений, однако доступ к ним мы можем получить в любой момент времени при наличии доступа в Интернет.
Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети.
Цель работы: заключается в рассмотрении критериев выбора средств разработки для создания современных web-приложений.
Исходя из цели были поставлены следующие задачи:
1. Рассмотреть сущность понятия web-приложение и их классификацию;
2. Ознакомиться с существующими средствами разработки web-приложений: языки программирования, среды разработки, фреймворки и платформы;
3. Определить объективные критерии выбора средств разработки WEB-приложений;
4. Рассмотреть процесс выбора по критериям средств разработки для web-приложения «Планировщик маршрута по достопримечательностям».
Предмет: процесс выбора средств разработки веб-приложений по критериям.
Методы исследования: В работе использованы методы анализа, синтеза и графический метод.
Для написания курсовой работы были использованы учебные пособия и монографии отечественных авторов: Колисниченко [7, 8], Веллинг [1], Машнин[10, 11], Чедвик[17], Миковски[12].
Объем работы составляет 38 страниц печатного текста, содержит 5 рисунков.
1. Сущность понятия Web-приложение и их классификация
Современные web-приложения - это, в основном, порталы, предоставляющие услуги, которыми нельзя воспользоваться откуда-либо еще, Одно из неудобств подобных сервисов - сложность обмена информацией между компаниями. В частности, даже контактную и другую личную информацию приходится на каждом таком сайте вводить заново [12].
В настоящее время с точки зрения назначения различают три основных типа порталов:
- Публичные, или горизонтальные, порталы (называемые иногда мегапорталами), такие как Yahoo, Lycos, Excite, Rambler. Такие порталы нередко являются результатом развития поисковых систем. Предназначены они для самой широкой аудитории, что отражается на содержании предоставляемой ими информации и услуг. Как правило, эта информация носит общий характер, равно как и предоставляемые услуги (электронная почта, новостные рассылки и так далее).
- Вертикальные порталы. Этот вид порталов предназначен для специфических видов рынка и обслуживает аудиторию, пользующуюся услугами этого рынка или работающую на нем. Примерами таких порталов могут служить, например, туристические агентства, предоставляющие услуги по бронированию мест в гостиницах, заказу и доставке билетов, доступу к картам и сведениям об автомобильных маршрутах, либо порталы типа B2B (business-to-business), позволяющие своим клиентам реализовывать совместные бизнес-операции (например, выбирать поставщиков и осуществлять закупку товаров, проводить аукционы).
- Корпоративные порталы предназначены для сотрудников, клиентов и партнеров одного предприятия. Пользователи такого портала получают доступ к предназначенным им сервисам и приложениям в зависимости от их роли и персонального профиля [14].
Существуют и другие наиболее распространенные web-приложения:
- Региональные интернет-порталы, универсальные по своему направлению, но ограниченные географией заинтересованных посетителей (e1.ru);
- Поисковые системы - это интернет-порталы, которые предназначены для того, чтобы предоставить их посетителю возможность найти сайты, на которых встречаются заданные слова или целые фразы (metabot.ru);
- Каталог - это коллекция ссылок на сайты (mail.ru);
- Электронные доски объявлений - являются местом в Интернет, где практически любой желающий может оставить информацию ознакомительного, пригласительного или рекламного характера;
- Форумы - это специальные сайты или разделы на сайтах, предназначенные для того, чтобы посетители, оставляя свои сообщения, обменивались мнениями;
- Чаты - являются еще одним местом для общения в Интернет, только его назначение не обмен мнениями на какую-то тему, а просто времяпрепровождение;
- Файлы для скачивания;
- Фотогалереи;
- Элементы статистики;
- Хранение в интернете различной информации;
- Серверы почтовых рассылок, они предлагают услуги по доставке информации широкому кругу читателей (subscribe.ru);
- Интернет-магазины и аукционы (ozon.ru, molotok.ru) [14].
В данном разделе была рассмотрена сущность понятия web-приложение и классификация web-приложений.
2. Существующие средства разработки Web-приложений
2.1 Область применения языков программирования
Для разработки разработки Web-приложений применяются разные языки программирования:
- HTML - язык разметки гипертекста (Hypertext Markup Language) - это компьютерный язык, лежащий в основе World Wide Web. Благодаря языку HTML любой текст можно разметить, преобразовав его в гипертекст с последующей публикацией в Web.
Язык HTML имеет собственный набор символов, с помощью которых Web-браузеры отображают страницу. Эти символы, называемые дескрипторами, включают в себя элементы, необходимые для создания гиперссылок.
Одной из отличительных особенностей HTML-документов является то, что сам документ содержит только текст, а все остальные объекты встраиваются в документ в момент его отображения браузером с помощью специальных тэгов и хранятся отдельно. При сохранении HTML-файла в месте размещения документа создается папка, в которую помещаются сопутствующие ему графические элементы оформления [12].
- PHP используют в основном для простых и средних проектов.
В первую очередь PHP используется для создания скриптов, работающих на стороне сервера, для этого его, собственно, и придумали. PHP способен решать те же задачи, что и любые другие CGI-скрипты, в том числе обрабатывать данные html-форм, динамически генерировать html страницы и тому подобное. Но есть и другие области, где может использоваться PHP.
Вторая область - это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине.
И последняя область - это создание GUI-приложений (графических интерфейсов), выполняющихся на стороне клиента [1].
- Ajax - расшифровывается как Asynchronous Javascript And XML (Асинхронные Javascript и XML) и технологией в строгом смысле слова не является. Если в стандартном web-приложении обработкой всей информации занимается сервер, тогда как браузер отвечает только за взаимодействие с пользователем, передачу запросов и вывод поступившего HTML, то в Ajax-приложении между пользователем и сервером появляется еще один посредник - движок Ajax. Он определяет, какие запросы можно обработать «на месте», а за какими необходимо обращаться на сервер [3].
Поведение сервера тоже изменилось. Если раньше на каждый запрос сервер выдавал новую страницу, то теперь он отсылает лишь те данные, которые нужны клиенту, а HTML из них прямо в браузере формирует движок Ajax.
Асинхронность проявляется в том, что далеко не каждый клик пользователя доходит до сервера, причем обратное тоже справедливо - далеко не каждая реакция сервера обусловлена запросом пользователя. Большую часть запросов формирует движок Ajax, причем его можно написать так, что он будет загружать информацию, предугадывая действия пользователя.
Где стоит использовать Ajax:
- Формы. Они очень медленны. Если асинхронно передавать данные, страница не перезагружается.
- Навигация в виде «дерева». Вообще, такая навигация - ужас. Простая топология намного удобнее, но если уж до этого дошло, лучше использовать Ajax.
- Голосования. Пользователю будет приятней оставить свой голос за несколько секунд, чем за 30-40.
- Фильтры. Часто на сайтах делают сортировку по дате, по имени. Ajax это будет значительно удобнее [4].
- JavaScript - язык программирования разработан фирмой Netscape для создания интерактивных HTML-документов. Это объектно-ориентированный язык разработки встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Синтаксис языка очень похож на синтаксис Java - поэтому его называют - Java-подобным. Существует огромное количество наработок и на нем можно написать все, что угодно, даже игры. Его используют для средних и больших проектов, но действительно мощные возможности этот язык получит недавно.
Основные области применения JavaScript делятся на следующие категории:
- Динамическое создание документа с помощью сценария;
- Оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер;
- Создание динамических HTML-страниц совместно с каскадными таблицами стилей и объектной моделью документа;
- Взаимодействие с пользователем при решении «локальных» задач, решаемых приложением JavaScript, встроенном в HTML-страницу [5].
- VBScript - язык создания сценариев разработан фирмой Microsoft, является подмножеством достаточно распространенного в среде программистов языка Visual Basic разработки прикладных программ Windows-приложений. Язык VBScript достаточно прост и легок в изучении.
Преимуществом его применения для создания сценариев является возможность использования, с небольшими корректировками, ранее написанных процедур на языках Visual Basic и Visual Basic for Application.
Функциональные возможности сценариев, написанных на VBScript, ничем не отличаются от возможностей сценариев JavaScript: динамические создание документа или его частей, перехват и обработка событий и так далее.
VBScript используется для написания сценариев клиента (в этом случае браузер должен иметь встроенный интерпретатор этого языка), а также для написания сценариев на сервере (в этом случае сервер должен поддерживать язык VBScript).
Для создания сценариев клиента используется набор объектов, аналогичный набору JavaScript. Объекты клиента и сервера отличаются друг от друга, но существует общая часть (ядро) объектов, используемых при разработке как сценариев клиент, так и сценариев сервера [14].
- Perl - наиболее широко используется для разработки инструментов системного администрирования, однако в последнее время он получил огромную популярность в области разработки Интернет-приложений: CGI-сценариев, систем автоматической обработки электронной почты и поддержки узлов Web.
Вот некоторые примеры задач, которые можно решать с помощью Perl:
- проверка пользователей Windows NT на несоответствие их статуса и возможностей;
- управление NT-сервисами из командной строки и дистанционно с локальной машины получение статистических данных на отдельной машине;
- может работать и с протоколом FTP;
- системная поддержка UNIX и Windows [12].
- Python - современный язык, разработка на нем быстрая и качественная. Используют его для средних и больших проектов. Программистов найти проблематично и стоят они не дешево [2].
- Ruby - современный язык, разработка на нем так же быстрая. Его используют в основном для разработки простых и средних проектов, часто разрабатывают стартапы. Программистов также мало, и они дорогие [5].
- Java - разработка на нем очень долгая и дорогая. Его используют в основном для больших проектов со специфическими требованиями. Однако являлся самым популярным языком программирования в рейтинге TIOBE по состоянию на 2016 год [15]. В 2019 снизился в рейтинге.
- C# - аналог Java, также используют для больших проектов, часть в сфере FinTech.
В данной главе были описаны самые популярные языки, которые сегодня используются для разработки веб-приложений. Есть много новых языков, которые очень быстро растут, в частности Scala и некоторые другие.
2.2 Сравнительный анализ сред создания Web-приложений
В настоящее время во всемирной паутине размещено несколько миллионов Web-сайтов и их число постоянно растет. У каждого есть возможность не только просмотреть любой из них и извлечь полезную для себя информацию, но и принять активное участие в их создании. Большое значение при этом имеет среда, в которой будет происходить разработка.
- Macromedia Dreamweaver
Компания Macromedia сделала Dreamweaver интуитивно понятной и простой в использовании программой. Мощные средства с одной стороны и простота в использовании - с другой, делают продукты Macromedia идеальными программным пакетом, как для профессиональных web-дизайнеров, так и для новичков. Продукты, входящие в пакет Macromedia, такие как: Flash, Firework, Dreamweaver - сделают работу более продуктивной, и при этом могут заменять друг друга (так, например, в любой из них можно создать кнопки). Такие продукты как: Sitespring, FreeHand – добавит эффективности при работе с клиентом [12].
У Dreamweaver множество плюсов:
Программа Dreamweaver поддерживает «чистый» HTML код, а также последние расширения DHTML и CSS.
Содержит прекрасные средства автоматического управления связями, то есть при любом перемещении файлов в среде, все связи восстанавливаются автоматически. Предусмотрена блокировка разделов страницы для их защиты от неумышленной порчи.
Позволяет отменить изменения, сделанные несколько шагов назад (однако после сохранения страницы отменить изменения будет невозможно).
Применяется динамическая проверка для различных браузеров.
Поддерживает расширения, как сторонних разработчиков, так и самой Macromedia.
С Dreamweaver поставляется библиотека элементов, которые можно применять на WEB-страницах, например панель навигации, дескриптор авторского права.
Применяется для добавления мультимедийных средств на web-страницы и различных типов файлов от Flash и Java до RealAudio, интерактивных элементов, таких как поисковые системы, форумы, системы электронной коммерции.
Программа Dreamweaver не имеет собственных средств создания изображений. В ней представлены лишь простейшие инструменты редактирования, поэтому для создания и редактирования изображений нам понадобятся специальные графические редакторы.