Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Критерии выбора средств разработки WEB-приложений (Основы WEB-технологий)

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Для начала нам нужно узнать, что такое WEB-технологии, рассмотреть классификации WEB-приложений и провести анализ возможностей средств разработки.

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

Основными источниками, раскрывающими теоретические основы, явились работы Венедюхина А., Гаевского А. Ю., Эспозито Д., Дунаева В. В., Дари К., Робачевского А. В данных источниках подробно рассмотрено понятие, что же такое Интернет, WEB, основы функционирования WEB-приложений и их разработки.

На основе работ «JavaScript и AJAX в Web-дизайне» Дронова В. А., «Самоучитель создания Web-сайтов» Костина С. П., «PHP. Практика создания Web-сайтов» Кузнецова М. В., «Новая большая книга CSS» Макфарланда Д., «Создание сайтов на основе WordPress» Сергеева А. Н., «PHP – это просто. Программируем для Web-сайта» Шкрыль А., «Основы использования и проектирования баз данных» Илюшечкина В. М., «Oracle Database 11g: руководство администратора баз данных» Алапати Сэм Р., «Язык SQL. Базовый курс: учеб. – практ. пособие» Моргунова Е. П., «JavaScript на примерах» Никольского А. П., «PostgreSQL для начинающих» Лузанова П., «Beginning JSON» Smith B., «Стек MEAN. Mongo, Express, Angular, Node» Холмс С., «Oracle PL/SQL. Для профессионалов (6-е изд.)» Фейерштейн С., подробно рассмотрены языки программирования и технологии, использующиеся в WEB, их предназначение и особенности.

Сведения о программах и средах разработки, их особенности, различия, плюсы и минусы, были получены из таких работ, как «Практическое использование Vim: пер. с англ.» Нейл Д., «100% самоучитель. Adobe Dreamweaver CS3. Создание Web-сайтов» Резникова Ф. А., «Основы работы в Adobe Photoshop CS5» Молочкова В.П., «Web-дизайн в примерах и задачах» Евсеева Д.

Для разработки рекомендаций и практической части работы были использованы работы: «HTML и CSS. Разработка и дизайн Web-сайтов» Джакетт Д., «47 готовых решений для создания Web-сайтов. + CD (видео самоучитель Adobe Dreamweaver CS4)» Ищенко В.А., «Выбор CMS для сайта» Номейн А., «Joomla! Для профессионалов» Рамел Д., «Разработка веб-приложений с использованием ASP.NET и AJAX» Эспозито Д.

ГЛАВА 1. WEB-ТЕХНОЛОГИИ. ОСНОВЫ РАЗРАБОТКИ WEB-ПРИЛОЖЕНИЙ

1.1 Основы WEB-технологий

Интернет[1] – глобальная компьютерная сеть, охватывающая весь мир и представляющая собой совокупность хостов, соединенных между собой маршрутизаторами. На сегодняшний день насчитывается около четырех миллиардов интернет-пользователей во всём мире.

World Wide Web (WWW)[2] – «Всемирная паутина», система целью которой является попытка интегрировать различные инструментальные среды и форматы данных на основе концепции гипертекста.

В начале 90-х годов в швейцарском институте CERN[3] появился проект World Wide Web. Он был основан на нескольких главных стандартах: URL, HTTP и HTML. Изначально HTML стандарт был разработан только для семантической разметки текста, далее к этому стандарту стали добавлять, зачастую не совместимые друг с другом, теги для оформления дизайна страниц. Это начало создавать некоторые проблемы и путаницу при разработке. Поэтому, в дальнейшем решили разделить разметку и оформление на разные стандарты. HTML оставить только для семантической разметки, а для оформления был создан CSS.

С течением времени возможности WWW постоянно росли и в определенный момент позволили создавать сложные WEB-приложения.

1.2 WEB-приложения. Основы разработки

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

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

Так же к WEB-приложениям можно отнести WEB-сайты, которые являются одними из важнейших ресурсов сети Интернет. Хороший сайт, должен содержать в себе максимально полезную информацию и быть доступен в любое время, тогда он будет являться лучшей визитной карточкой для различных фирм и учреждений. [5]

WEB-сайты бывают двух типов: статические и динамические. Статические сайты[6] – это сайты, страницы которых не изменяются и написаны заранее, в основном с использованием HTML и CSS. Динамические сайты[7] – это сайты, содержимое которых может изменяться при каждой загрузке страницы пользователем. Перед тем как отправить её содержимое на компьютер пользователя, сервер каждый раз динамически генерирует страницу, используя скрипты и различные данные, как из баз, так и из внешних сервисов.

При построении динамических сайтов часто используют системы управления контентом – CMS[8] (Content Management System).

Как правило, при написании CMS применяется PHP[9] – специальный язык программирования. В качестве примеров наиболее популярных CMS следует выделить: Joomla, Wordpress, Opencart и Prestashop.

Любые WEB-сайты или WEB-приложения, основанные на WEB-технологиях, разделяют на две группы – технологии сервера (server-side) и технологии клиента (client-side).

Клиентская часть WEB-приложения, обычно представляет собой графический интерфейс, отображающийся в браузере. Пользователь взаимодействует с WEB-приложением через браузер[10], используя клавиатуру или мышь. Клиентская часть включает в себя такие технологии создания WEB-страниц, как HTML, CSS, JavaScript. Не важно, какая ОС установлена у пользователя и какой браузер он использует, WEB-приложение будет всегда выглядеть и работать одинаково. Благодаря этому WEB-приложения можно считать универсальными и кроссплатформенными сервисами.

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

Чаще всего серверная часть WEB-приложения программируется на PHP. Но в последнее время, особенно в высоконагруженных системах, всё чаще используются такие языки программирования и технологии как Java, JavaScript, Node.js, Python и многие другие.[11]

Все ресурсы в WEB, будь то, HTML документы, изображения, видеозаписи, программы и прочие – имеют адрес, который может быть закодирован с помощью универсального идентификатора ресурсов (URL).

Пожалуй, единственным минусом WEB-приложений является то, что для их стабильной работы, как правило, нужно высокоскоростное соединение с интернетом. Скорость интернет-соединения зависит от используемой технологии передачи информации, провайдера и тарифного плана, которых на сегодняшнем рынке представлено большое количество. Поэтому, в современном мире, это не должно стать большой проблемой.[12]

Проведя исследование среди WEB-разработчиков, можно с уверенностью сказать о том, что многие из них пользуются разными средами разработки[13]. Так, например, более крупные фирмы преимущественно используют хорошо развитые, коммерческие средства разработки. А только начинающие или частные разработчики останавливают свой выбор на бесплатных, open source инструментах.

ГЛАВА 2. ТЕХНОЛОГИИ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ ДЛЯ WEB

2.1 Размещение WEB-приложений. Сервер

Вне зависимости от того, к какому типу принадлежит ваш сайт: к статичному, динамическому или на основе CMS, вам понадобится сервер.[14]

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

В настоящее время распространено несколько возможных решений этой задачи: виртуальный хостинг, виртуальный VDS сервер, организация собственного дата–центра. Далее мы рассмотрим эти решения более подробно.[15]

2.1.1 Виртуальный хостинг

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

Популярность такого хостинга для сайтов обусловлена дешевизной (2–15 $ в мес.) и удобством для среднестатистического клиента, которому обычно предоставляется универсальная панель управления для загрузки файлов, создания резервных копий сайта и т. д. А так же простотой в использовании даже неопытными пользователями, так как большинство настроек сервера осуществляются хостинг-провайдером.[17]

Однако необходимо помнить и о недостатках виртуального хостинга. Он подходит только для не больших проектов, а место на жестких дисках довольно ограниченно. Кроме того нет гарантии большой стабильности работы вашего сайта, могут случаться перебои с его доступностью и скоростью загрузки страничек в связи с нагрузкой на сервер, создаваемой «вынужденными соседями».[18] А это может довольно негативно сказаться на продвижении сайта. Также невозможно использовать «тяжелые» скрипты из-за существующих ограничений по нагрузке на мощности сервера. И, пожалуй, самый основной недостаток – это безопасность. Виртуальный хостинг самый небезопасный вид хостинга для сайта. Причиной этому является наличие огромного количества соседствующих проектов. Взлом или заражение вирусом одного из них может повлечь за собой серьезные проблемы для всех остальных.

2.1.2 Виртуальный выделенный сервер – VDS

Для начала давайте определимся, что вообще такое VDS хостинг, и для кого он может быть полезен в первую очередь. Аббревиатура VDS (Virtual Dedicated Server) – переводится с английского, как виртуальный выделенный сервер. На деле же VDS – это услуга, в рамках которой пользователю предоставляется виртуальный выделенный сервер с предустановленной операционной системой, панелью управления сервером и другим предустановленным ПО, готовым к использованию «из коробки».[19]

При использовании VDS хостинга вы вправе управлять сервером, так как считаете нужным. При необходимости вы можете установить дополнительное программное обеспечение, необходимое вашему приложению. По сути VDS является обычным компьютером с операционной системой, и для его тонкой настройки понадобятся хорошие знания соответствующей области. Заказчик может «собрать» виртуальный сервер, согласно собственным требованиям с возможностью вертикального масштабирования.[20]

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

Виртуальный сервер подходит для средних, крупных интернет-проектов и тем, кому не хватает возможностей виртуального хостинга. Средняя стоимость тарифа составляет примерно 20–100$/мес. и очень сильно зависит от конфигурации сервера.[21]

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

2.1.3 Выделенный сервер

Физический, или выделенный сервер (Dedicated Server) — самостоятельная единица вычислительной техники, которой арендатор управляет на аппаратном и системном уровне, т.е. контролирует оборудование и имеет полный административный доступ.[22] Клиент может бесплатно использовать готовую к работе базовую операционную систему или установить собственную. Настроить программное обеспечение, проводить необходимые тесты, подключать пользователей. Выделенный сервер устанавливается в общей стойке или в отдельном помещении дата-центра, настройка и администрирование происходит через удаленный доступ по средствам KVM[23] или IPMI[24]. Выделенный сервер способен решать крупные задачи и часто используется для интернет-проектов с высокой нагрузкой. Он востребован в корпоративной среде, где крайне важна непрерывная доступность данных и бесперебойная работа.

Из недостатков можно отметить: более высокую стоимость аренды, и большие задержки при масштабировании.[25]

2.1.4 Собственный дата – центр

Центр обработки данных (ЦОД) – сложный технический объект, при создании которого должно обеспечивается выполнение ряда условий:

  • Географическое расположение. Дата-центр необходимо размещать в отдельно стоящем здании с возможностью подключиться к широкополосному доступу в интернет.
  • Профессиональная инфраструктура. Внутренние помещения должны быть разделены на отсеки с собственным микроклиматом внутри каждого. К зданию обычно подводят как минимум два независимых электрических ввода (от двух разных подстанций). Для охлаждения оборудования используют прецизионные системы кондиционирования, для резервирования питания – дизель-генераторные установки и устройства бесперебойного питания (UPS). В случае аварии или сбоя, они обеспечивают питание всех систем центра.
  • Установка систем оповещения о возгорании, общего мониторинга, доступа в помещения.
  • Лицензионное программное обеспечение является неотъемлемой частью собственного дата-центра.

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

2.2 Хранение информации. Базы данных

Если ваше WEB-приложение является чем-то более сложным, чем статический сайт с несколькими страничками и в нем необходимо реализовать хранение данных о пользователях, товарах и другой информации, вам, скорее всего, понадобится использовать базы данных в своём проекте.[26]

База данных (БД) – программное обеспечение, занимающееся хранением данных и их выдачей в нужный момент. В случае форума или блога, хранимые в БД данные – это посты, комментарии, новости и т. д. База данных располагается на сервере.[27] Серверная часть WEB-приложения обращается к базе данных, извлекая или сохраняя данные необходимые для функционирования WEB-приложения обычно используя при этом язык SQL.[28]

Для управления базами данных обычно используются СУБД[29] – комплекс программ, позволяющих создать базу данных и манипулировать данными (вставлять, обновлять, удалять и выбирать).

При выборе СУБД следует принять во внимание возможность СУБД «расти» вместе с развитием проекта. Для небольших проектов могут потребоваться только базовые функции и возможности, а также небольшое количество информации, размещаемой в БД. Но требования могут существенно расти с течением времени, а переход на другую СУБД может стать проблемой.

Существует несколько популярных СУБД, как платных, так и бесплатных, которые можно рекомендовать для применения. Некоторые, наиболее популярные, из них приведены ниже.

2.2.1 Oracle Database

Корпорация Oracle предлагает одноимённый продукт, с которого обычно начинается рассмотрение вариантов популярных СУБД. Первая версия Oracle была создана в конце 70-х годов, имея на данный момент блестящую репутацию.[30]

Достоинства

  • Самые свежие инновации и впечатляющий функционал уже внедрены в этом продукте, поскольку компания Oracle стремится держать планку даже на фоне других разработчиков СУБД.
  • Очень высокая надёжность, фактически это эталон среди подобных систем.[31]

Недостатки

  • Стоимость Oracle может оказаться непомерно высокой, особенно для небольших организаций.
  • Система может потребовать значительных ресурсов уже сразу после установки, поэтому возможно потребуется модернизировать оборудование для внедрения Oracle.

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

2.2.2 MySQL

MySQL[32] – одна из самых популярных баз данных для WEB-приложений. Фактически, является стандартом de facto[33] для WEB-серверов, которые работают под управлением операционной системы Linux[34]. MySQL – это бесплатный пакет программ, однако новые версии выходят постоянно, расширяя функционал и улучшая безопасность. Существуют специальные платные версии, предназначенные для коммерческого использования.

Достоинства

  • Распространяется бесплатно.
  • Прекрасно документирована.
  • Предлагает много функций, даже в бесплатной версии.
  • Пакет MySQL включен в стандартные репозитории наиболее распространённых дистрибутивов операционной системы Linux.
  • Поддерживает набор пользовательских интерфейсов.
  • Может работать с другими базами данных, включая DB2 и Oracle.

Недостатки

  • Придётся потратить много времени и усилий, чтобы заставить MySQL выполнять несложные задачи, хотя другие системы делают это автоматически, например: создавать инкрементные резервные копии.
  • Отсутствует встроенная поддержка XML или OLAP.
  • Для бесплатной версии доступна только платная поддержка.

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

2.2.3 PostgreSQL

PostgreSQL – один из нескольких бесплатных и популярных вариантов СУБД,[35] часто используется для ведения баз данных WEB-приложений. Это была одна из первых разработанных систем управления базами данных, поэтому в настоящее время она хорошо развита, и позволяет пользователям управлять как структурированными, так и неструктурированными данными. Движок БД может быть размещен в ряде сред, в том числе виртуальных, физических и облачных.[36]

Достоинства

  • Является масштабируемым и способна обрабатывать терабайты данных.
  • Поддерживает формат json[37].
  • Существует множество предопределенных функций.
  • Доступен ряд интерфейсов.

Недостатки

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

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

2.2.4 РЕД База Данных

РЕД База Данных – российская модульная СУБД. Работает на всех основных платформах и ОС. Имеет открытый исходный код.[38]

Возможность «горячего» резервного копирования и инкрементного резервного копирования. Сертифицирована ФСТЭК[39] России. Соответствует отечественным требованиям по защите информации. Полное соответствие принципам атомарности, непротиворечивости, изоляции, долговечности (ACID).

Имеются модули сопряжения практически для всех используемых сред разработки (драйверы ODBC, JDBC, C/C++, C#, Java, Delphi, PHP, Python, Perl, VB, и т.д.), результатов тестов этих модулей и гарантия стабильной работы.[40]

Достоинства

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

Недостатки

  • Нет.

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

2.3 Системы управления сайтами – CMS

CMS (Content Management System) – это система, которая помогает управлять содержимым сайтов, позволяющая размещать и редактировать информацию, создавать разделы и т.д. практически без навыков программирования.[41]

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

Кроме того, в основу принципа работы данной системы заложено разделение дизайна и содержащегося контента. Получая запрос, система CMS, полагаясь на определенные правила, формирует ответ для пользователя, «склеивая» по кусочкам из содержащихся файлов материал.[42]

Среди существующих CMS нет определенных стандартов и классификаций, тем не менее, специалисты выделяют несколько лидеров, о которых поговорим сегодня.

WordPress[43] – самая популярная, бесплатная и простая в использовании система управления контентом. Движок идеально подходит для блогов, интернет-журналов. Есть разработки интернет-магазинов, но для больших и крупных магазинов лучше использовать Opencart или Prestashop.

Opencart и Prestashop – два движка сайта, предназначенные для создания интернет-магазина. Весь необходимый функционал уже есть «из коробки».

Joomla – динамично развивающаяся система, проста в использовании и совершенно бесплатна, но считается достаточно противоречивой.[44]

2.4 Формат обмена данными – JSON

JSON – это текстовый формат обмена данными, его основное назначение состоит в хранении и передаче структурированного потока информации.

Он занимает сравнительно небольшой объем, компактен, а текстовое содержание может легко создаваться и поддаваться чтению вычислительной техникой и человеком. Можно без особого труда преобразовать в структуру практически для всех видов формальных языков, использующихся для создания компьютерных программ.[45]

Большинство языков программирования, будь то JavaScript, Ruby, Python или PHP, наделены функциями и специальными инструментами для работы с JSON.[46]

В общей сложности выделяют шесть основных типов данных в JSON: числительный, строковый, литералы или константы, массивы, объекты, пустое значение (обозначающееся словом «Null»).

2.5 Технология динамического обращения AJAX

Ajax расшифровывается, как Asynchronous Javascript And XML (Асинхронные Javascript и XML).[47] Если в стандартном WEB-приложении обработкой всей информации занимается сервер, тогда как браузер отвечает только за взаимодействие с пользователем, передачу запросов и вывод поступившего HTML, то в Ajax-приложении между пользователем и сервером появляется еще один посредник – движок Ajax. Он определяет, какие запросы можно обработать «на месте», а за какими необходимо обращаться на сервер.[48]

Поведение сервера тоже изменилось. Если раньше на каждый запрос сервер выдавал новую страницу, то теперь он отсылает, лишь те данные, которые нужны клиенту, а HTML из них прямо в браузере формирует движок Ajax.

Асинхронность проявляется в том, что далеко не каждый клик пользователя доходит до сервера, причем обратное тоже справедливо – далеко не каждая реакция сервера обусловлена запросом пользователя. Большую часть запросов формирует движок Ajax, причем его можно написать так, что он будет загружать информацию, предугадывая действия пользователя.[49]

Ajax позволяет оптимизировать приложения, где используются формы, голосования и т.д., где не желательно перезагружать страницу целиком.

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

Существует большое количество языков программирования и разметки, которые позволяют создавать WEB-приложения. Выбор конкретных языков зависит от типа решаемой задачи. Рассмотрим некоторые, основные языки.[50]

HTML – язык разметки гипертекста (Hypertext Markup Language), лежащий в основе World Wide Web (Всемирной Паутины). Благодаря языку HTML любой текст можно разметить, преобразовав его в гипертекст с последующей публикацией в WEB.[51]

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

CSS (Cascading Style Sheets) – язык таблиц стилей, который позволяет прикреплять стиль (например, шрифты и цвет) к структурированным документам (например, документам HTML и приложениям XML). Обычно CSS-стили используются для создания и изменения стиля элементов WEB-страниц и пользовательских интерфейсов, написанных на языках HTML и XHTML, но также могут быть применены к любому виду XML-документа, в том числе XML, SVG и XUL. Отделяя стиль представления документов от содержимого документов, CSS упрощает создание WEB-страниц и обслуживание сайтов.[52]

JavaScript – разработан фирмой Netscape для создания интерактивных HTML-документов. Это объектно-ориентированный язык программирования для разработки встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Синтаксис языка очень похож на синтаксис Java, поэтому его называют – Java-подобным.[53]

Основные области применения JavaScript – это динамическое обновление данных на странице, проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер, взаимодействие с пользователем при решении «локальных» задач, решаемых приложением JavaScript, встроенном в HTML-страницу.

PHP – в основном используется для создания скриптов, работающих на стороне сервера, для этого его, собственно, и придумали. PHP способен решать те же задачи, что и любые другие CGI-скрипты[54], в том числе обрабатывать данные HTML-форм, динамически генерировать HTML страницы и тому подобное. Но есть и другие области, где может использоваться PHP.[55]

Еще одна область применения – это создание скриптов, выполняющихся в командной строке. С помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от WEB-сервера и браузера, на конкретной машине.[56]

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

ГЛАВА 3. СРЕДСТВА WEB-РАЗРАБОТКИ И ОТЛАДКИ

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

3.1 Программы для разработки дизайна

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

WEB-страницы могут содержать много элементов – текст HTML, растровые изображения, векторную графику. В Illustrator можно использовать фрагменты для определения границ различных WEB-элементов в объекте. WEB-страница делится на ячейки, которые представляются в трёх типах: изображения, без изображения, HTML-текст.[57]

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

Adobe Photoshop[59] самая популярная, мощная и широко распространенная программа редактирования изображений и создания макетов сайтов. Она содержит всё необходимое для создания и редактирования профессиональной графики.

Программа позволяет ретушировать изображение и подвергать его спецэффектам, переносить детали одного снимка на другой, вносить текст, менять соотношение цветов. Средства Photoshop совместимы с графическими планшетами, что дает возможность более удобной работы.[60]

3.2 Конструкторы сайтов

Если у вас ограничено время или желание разбираться во всех этапах и технологиях построения WEB-приложений, то оптимальным способом будет создание сайта в конструкторе. Ниже будут рассмотрены самые эффективные из них и простые в использовании. Для создания сайта вам не потребуется каких-либо знаний в области верстки, программирования и WEB-дизайна. Но для более серьезного проекта, возможностей конструкторов может не хватить.[61]

  • Wix – один из наиболее популярных конструктов сайтов, который позволяет быстро и просто создавать интернет-ресурсы действительно высокого качества.
  • UKit – конструктор, который позволяет создавать современные сайты, а затем успешно заниматься их SEO-продвижением[62]. Он имеет простой в освоении и интуитивно понятный пользовательский интерфейс, а также включает в себя продвинутую систему аналитики.
  • UMI – еще один простой в освоении и использовании конструктор сайтов.

3.3 Редакторы кода

Vim – расширенный вариант классического редактора текстов Vi, используемого в системах UNIX[63]. Редактирование кода изначально не было его предназначением, но расширения и плагины довели его практически до совершенства. Существует забавная обучающая онлайн-игра, которая помогает освоить Vim, – Vim Adventures. Также начинающим будет полезна небольшая шпаргалка.[64]

Возможности:

  • Огромное количество дополнений;
  • Многоязычность;
  • Поддержка множества файловых форматов;
  • Мощные поисковые инструменты;
  • Возможность бесконечно отменять внесенные изменения;
  • Интеграция с большим количеством сторонних приложений.
  • Поддержка кодировки Unicode[65];

Adobe Brackets – относительно молодой кодовый редактор Brackets сделал основной упор на визуализацию и упрощение работы с CSS-препроцессорами. Проектирование WEB-страницы прямо в браузере становится очень быстрым и легким делом. Brackets – отличное решение для программистов и дизайнеров, имеющих дело с пользовательскими интерфейсами и фронтендом в целом.

Есть визуализация HTML-кода и стилей, возможность просмотра изменений в режиме реального времени и мгновенного редактирования. Поддерживается работа с PSD-файлами[66], возможность импорта изображений без использования Adobe Photoshop. А также имеется удобная компиляция CSS-препроцессоров.

Visual Studio Code – многофункциональный, но компактный кодовый редактор VSC изначально был предназначен для обработки JavaScript и его расширений, но плагины позволяют добавить другие популярные языки, например, PHP и C#. Программа отлично поддерживает платформу Node.JS.

Технология IntelliSense[67] обеспечивает умное авто дополнение кода: редактор может дописывать названия уже объявленных функций, а подсказки содержат ссылки на нужные главы документации. В редактор встроен отладчик кода.

Atom от GitHub – текстовый редактор Atom хорош уже в базовой конфигурации, а дополнительные настройки могут сделать его идеальным.

Встроенный пакетный менеджер облегчает поиск, установку и создание модулей. Редактор имеет умное авто дополнение, удобный файловый менеджер и механизмы поиска внутри проекта. Есть возможность разделения рабочей области для удобства анализа нескольких файлов благодаря многопанельному интерфейсу.[68]

Sublime Text – это удобный и быстрый редактор, работать с которым одно удовольствие. Он кроссплатформенный, нетребовательный к ресурсам компьютера и легко расширяемый. Бесплатная базовая версия предоставляет всю необходимую функциональность:

  • Подсветку синтаксиса распространенных языков;
  • Авто дополнение;
  • Множественное выделение;
  • Сворачивание блоков кода;
  • Удобные комбинации горячих клавиш;
  • Возможность разделить рабочую область на несколько окон;
  • Широкие возможности кастомизации.

Для Sublime создано большое количество плагинов. С их помощью можно легко добавить дополнительные возможности, такие как отладку, темы оформления и поддержку языков.

3.4 Интегрированные среды разработки (IDE)

Adobe Dreamweaver[69] – визуальный HTML-редактор компании Adobe. Изначально разработан и поддерживался компанией Macromedia[70], вплоть до 8-й версии (2005 год). Следующие версии, начиная с Dreamweaver CS3 (2007), выпускает Adobe.

Самая основная особенность этого редактора – поддержка режима WYSIWYG. Это только название такое страшное, потому что обозначает аббревиатуру, расшифровать которую можно так: What You See Is What You Get (что ты видишь, то и получишь).

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

Программа предоставляет полный набор возможностей, чтобы помочь создать собственный сайт. Работать можно, начиная с дизайна, оформления, и заканчивая рабой с кодом, скриптами, плагинами и т.д. [71]

Dreamweaver полностью поддерживает HTML5, а это дает новые возможности в использовании онлайн-видео, анимации, что, в свою очередь, придаст уникальность любому сайту. К программе подсоединен jQuery – это значит, что пользователь с легкостью может использовать JavaScript при создании WEB-странички.

Изучение этой программы может оказаться довольно сложной задачей, особенно если вы – новичок в WEB-дизайне и не знаете языка HTML.

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

В программе есть предустановленный анализатор кода для языка Java, поддержка C++[72] и PHP. Для удобства WEB-разработчика встроены современные инструменты обработки HTML5 и JavaScript, включая платформу NodeJS и фреймворк AngularJS[73].

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

JetBrains[74] это не одна IDE, а сразу несколько. Компания создает специализированные среды разработки для разных языков.

Это интеллектуальные редакторы с широчайшими возможностями анализа, отладки, тестирования и рефакторинга кода под конкретный язык. Все IDE позволяют легко перемещаться по проекту и поддерживают работу с системами контроля версий.

Из недостатков – повышенная требовательность к ресурсам системы и цена (у всех продуктов есть бесплатный пробный период — 30 дней).

3.5 Облачные среды разработки

Множество десктопных приложений давно переместились в «облако»[75], включая и IDE. Быстро растет популярность удобных и доступных облачных сред для WEB-разработки.

AWS Cloud9 – это облачная интегрированная среда разработки, которая позволяет создавать, запускать и отлаживать код, используя только браузер. Она включает в себя редактор кода, отладчик и терминал. Cloud9 включает предустановленный набор основных инструментов для популярных языков программирования, включая JavaScript, Python, PHP и другие. Это избавляет от необходимости устанавливать программы или настраивать систему разработки перед запуском новых проектов. Поскольку IDE Cloud9 – облачная среда, над проектами можно работать из дома, офиса или любого другого места: достаточно иметь подключенный к Интернету компьютер. С помощью Cloud9 пользователи могут быстро подключать к среде разработки других членов своей команды, осуществлять парное программирование и в режиме реального времени отслеживать код, добавленный другими.[76]

Codeanywhere – одна из самых удобных облачных сред для WEB-разработки – IDE Codeanywhere. Она работает практически на всех платформах, включая мобильные. Теперь разработчик может программировать там, где ему удобно.

Редактор понимает синтаксис базовых языков WEB-программирования (HTML, CSS, JavaScript, PHP, SQL) и ряда других. Интегрированный Dropbox и SFTP-клиент[77] позволяют обмениваться файлами с другими разработчиками и осуществлять резервное копирование.

ГЛАВА 4. ВЫБОР ТЕХНОЛОГИЙ И СРЕДСТВ РАЗРАБОТКИ

Разработка WEB-приложений – непростая задача. Если для создания обычного приложения достаточно какого-либо одного инструментального средства, то WEB-программисту намного труднее: ему приходится иметь дело со многими, подчас не вполне совместимыми между собой технологиями.

Далее, мы рассмотрим основные этапы создания типичного WEB-приложения на примере интернет-магазина по продаже платьев. Поймем, с чем придется столкнуться разработчику, а также подберем необходимые для реализации проекта инструменты и технологии рассмотренные ранее. Этапы могут выполняться в разной последовательности (в зависимости от проекта), причем некоторые из них одновременно.

4.1 Разработка проекта

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

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

Для себя мы выбрали проект интернет-магазина. Так как это первый наш проект, и мы не обладаем большим количеством знаний в WEB-технологиях, имеет смысл остановиться на реализации интернет-магазина при помощи CMS[79]. В качестве такой CMS можно порекомендовать «Prestashop»[80], как бесплатный продукт с открытым исходным кодом.

Для работы этой CMS сервер должен поддерживать язык программирования PHP и базу данных MySQL. Эта информация нам понадобится позже при выборе хостинга.

В дальнейшем, основные шаги всегда одинаковые – это регистрация домена, покупка хостинг-услуг, разработка приложения и размещение его в сети.[81]

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

4.2 Регистрация доменного имени

Создавая в Интернете WEB-сервер, необходимо придумать для него новое доменное имя. Разумеется, выбранное вами доменное имя не должно быть зарегистрировано ранее.

Основными критериями выбора имени домена можно назвать: краткость, запоминаемость, произносимость, простота написания и соответствие тематике.[82]

Придерживаться критерия краткости со временем становится все сложнее. В наиболее старых доменных зонах (COM, NET, ORG) удачей может считаться найденное свободное имя из любых 5 символов или какое-либо осмысленное одно слово из большего количества букв.

Проверить, занято ли выбранное вами доменное имя, а также получить список только что освободившихся доменов можно, например, на сайте www.webnames.ru.[83]

Так как у нас будет интернет-магазин продающий платья по России, мы можем выбрать домен такой как – «dress-shop.ru». Далее необходимо зарегистрировать выбранный домен.

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

4.3 Выбор хостинга

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

Как мы рассмотрели ранее, существует несколько вариантов: виртуальный хостинг, виртуальный выделенный сервер, выделенный сервер, собственный дата – центр.[85]

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

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

Для выбора компании, предоставляющей виртуальный хостинг можно действовать следующими путями.[86]

Если у вас есть друзья и знакомые, которые давно пользуются тем или иным хостингом, посоветуйтесь с ним, насколько они довольны своим хостингом, оперативно ли работает техподдержка, часто ли бывают перебои и т.п. Не воспринимайте советы друзей как руководство к действию, потому что все люди разные и то, что одному покажется оперативным и качественным, другого может совершенно не устраивать.[87] Главное – обратите внимание на факты. Конкретные недостатки хостинга лучше знать сразу.

Если вам не с кем посоветоваться, найдите несколько хостингов самостоятельно. Для этого достаточно набрать запрос в любой поисковой системе: «Платный хостинг» – и вам на первой же странице выпадет множество вариантов.

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

Кроме того нужно изучить тарифные планы разных хостингов и подобрать то, что нужно именно вам. Например, если у вас всего два домена и два сайта на HTML, вам не нужен форум[88] или движок сайта[89], под которые, нужна база данных, вам хватает 1 Гб пространства и вас устраивает цена от 130 до 150 рублей в месяц – смотрите в тарифных планах хостингов именно эти параметры.

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

Для нашего же проекта, как было обозначено, нужен провайдер поддерживающий PHP и MySQL. Из имеющихся хостинг провайдеров можно порекомендовать «TimeWeb» по соотношению стоимости и качеству предоставляемых услуг.[90]

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

4.4 Разработка дизайна

Очень важный этап – разработка дизайна. Дизайн определяет внешний вид приложения, в котором оно предстанет перед пользователями.

Дизайн предполагает определение внешнего вида страниц, выбор шрифтов для текста, создание графических иллюстраций, выбор размеров и взаимного расположения текстовых блоков, иллюстраций и т.п.[91]

В качестве программного обеспечения для разработки дизайна можно выбрать «Adobe Photoshop», как наиболее популярную и мощную среду.

Если вы не обладаете подобными навыками, лучше всего обратиться к профессиональному WEB-дизайнеру, знакомому с технологиями Интернета и языком разметки HTML. Обычный художник или дизайнер, конечно, сможет изобразить страницу, например, в виде рисунка, однако на реализацию его идей вам, возможно, придется затратить немало усилий.[92]

Так как мы делаем магазин на основе CMS, в сети Интернет можно найти бесплатно большое количество готовых шаблонов, подходящих для каждой конкретной CMS. Но использовать их стоит, в крайнем случае, на этапе начального изучения и делать это с большой осторожностью, так как многие из них могут содержать в себе вирусы и другой вредоносный контент.[93]

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

4.5 Подготовка и размещение контента

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

Практически все хостинг-провайдеры предоставляют удобную панель конфигурации, с помощью которой можно производить различные действия и настройки работы хостинга, «TimeWeb» не исключение. Кроме того имеется документация и техподдержка, которая поможет разобраться в возникающих вопросах.[94]

Так как мы строим сайт на основе CMS, для размещения контента и запуска нашего магазина в работу, нам нужны минимальные знания языков программирования и разметки. Практически всё можно сделать, используя панель администрирования CMS. Остаётся лишь подготовить описание товаров, фото, видео и прочий контент.[95]

Но если всё же придется вносить некоторые правки в код нашего приложения, это можно сделать либо в онлайн редакторе, который предоставляет компания «TimeWeb», либо использовать, к примеру, «Visual Studio Code», как довольно простой, но в то же время мощный и компактный редактор HTML, CSS, PHP и прочего кода.

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

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

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

Заключение

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

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

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

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

Несомненно, WEB-приложения – это очень обширная и сложная тема. Изучение и выбор технологий и инструментов, на первый взгляд, может испугать своим количеством и многообразием.

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

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

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

Для начинающих разработчиков можно порекомендовать начать изучение таких языков программирования как: HTML, CSS, JavaScript, PHP, а в качестве сред разработки выбирать бесплатные варианты, на начальном этапе они отлично подойдут.

Благодаря этому вы сможете не только реализовывать некоторые WEB-приложения с нуля, но и разобраться, как работают уже созданные проекты и системы.

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

Когда вы разберетесь с основами, у вас сформируется своё понимание необходимых средств и инструментов, которые позволят более продуктивно решать поставленные задачи. Самое главное не останавливаться на достигнутом, постоянно совершенствоваться и следить за развитием такой интересной и перспективной области, как WEB-технологии и WEB-приложения.

БИБЛИОГРАФИЯ

1.Алапати, Сэм Р. Oracle Database 11g: руководство администратора баз данных / Сэм Р. Алапати. – М.: Вильямс, 2015. – 1440 с.

2. Венедюхин, А. Домены. Все, что нужно знать о ключевом элементе интернета / А. Венедюхин. – М.: Эксмо, 2014. – 336 с.

3. Гаевский, А.Ю. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. – М.: Триумф, 2015. – 464 c.

4. Дари, К. AJAX и PHP. Разработка динамических веб-приложений / К. Дари [и д.р.] – СПб.: Символ-плюс, 2015. – 336 c.

5. Джакетт, Д. HTML и CSS. Разработка и дизайн Web-сайтов / Д. Джакетт. – М.: Питер, 2017. – 272 с.

6. Дронов, В. А. JavaScript и AJAX в Web-дизайне / Владимир Дронов. – Москва: Высшая школа, 2016. – 736 c.

7. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

8. Евсеев, Д. А. Web-дизайн в примерах и задачах / Д.А. Евсеев, В.В. Трофимов. - М.: КноРус, 2015. - 272 c.

9. Илюшечкин, В. М. Основы использования и проектирования баз данных / В.М. Илюшечкин. - М.: Юрайт, 2015. - 214 c.

10. Ищенко, В.А. 47 готовых решений для создания Web-сайтов. + CD (видео самоучитель Adobe Dreamweaver CS4) (+ CD-ROM) / В.А. Ищенко. – М.: Триумф, 2015. – 822 c.

11. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

12. Кузнецов, М.В. PHP. Практика создания Web-сайтов / М.В. Кузнецов. – М.: БХВ-Петербург, 2015. – 870 c.

13. Лузанов, П. PostgreSQL для начинающих / П. Лузанов, Е. Рогов, И. Левшин. – М.: Postgres Professional, 2017. – 116 с.

14. Макфарланд, Д. Новая большая книга CSS / Д. Макфарланд. – СПБ.: Питер СПБ, 2019. – 720 с.

15.Моргунов, Е. П. Язык SQL. Базовый курс: учеб. – практ. пособие / Е. П. Моргунов, под ред. Е. В. Рогова, П. В. Лузанова. – М.: Postgres Professional, 2017. – 256 с.

16. Нейл, Д. Практическое использование Vim: пер. с англ. А. Н. Киселева – 2-е изд / Д.Нейл. – М.: ДМК Пресс, 2017 – 392 с.

17. Никольский, А.П. JavaScript на примерах. – СПБ.; Наука и техника, 2017. – 274 с.

18. Номейн, А. Выбор CMS для сайта / А. Номейн. – М.: Ridero, 2017. – 5 с.

19. Рамел, Д. Joomla! Для профессионалов / Д. Рамел. – М.: Вильямс,2014. – 448 с.

20. Резников, Ф.А. 100% самоучитель. Adobe Dreamweaver CS3. Создание Web-сайтов / Ф.А. Резников. – М.: Триумф, Технолоджи-3000, 2016. – 696 c.

21. Робачевский, А. Интернет изнутри. Экосистема глобальной сети / А. Робачевский. – М.: Альпина Паблишер, 2017. – 224 с.

22. Сергеев, А.Н. Создание сайтов на основе WordPress; Учебное пособие. – СПБ.: Лань, 2015. – 128 с.

23. Фейерштейн, С. Oracle PL/SQL. Для профессионалов (6-е изд.) / С. Фейерштейн, Б. Прибыл. – СПБ.: Питер, 2015. – 1024 с.

24. Холмс, С. Стек MEAN. Mongo, Express, Angular, Node / С. Холмс. – СПБ.: Питер, 2017. – 496 с.

25. Шкрыль, А. PHP – это просто. Программируем для Web-сайта / А. Шкрыль. – М.: БХВ-Петербург, 2018. – 368 c.

26. Эспозито, Д. Разработка веб-приложений с использованием ASP.NET и AJAX / Д. Эспозито. – СПб.: Питер, 2019. - 240 c.

27. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

Интернет-ресурс

28. Молочков, В.П. Основы работы в Adobe Photoshop CS5. – М.: Интернет Университет Информационных Технологий (ИНТУИТ), 2016. – 261 c. URL: https://www.intuit.ru/studies/courses/4398/610/info (дата обращения 01.05.2019).

29. Молочков, В.П. Работа в CorelDRAW Graphics Suite X7. – М.: Интернет Университет Информационных Технологий (ИНТУИТ), 2016. – 284 c. URL: https://www.intuit.ru/studies/courses/4398/610/info (дата обращения 04.05.2019).

30. Smith, B. Beginning JSON / B. Smith. – N.Y.: Apress, 2015. – 353 p.

ПРИЛОЖЕНИЯ

Рисунок 1

Схема работы статического сайта

Рисунок 2

Схема работы динамического сайта

  1. Робачевский, А. Интернет изнутри. Экосистема глобальной сети / А. Робачевский. – М.: Альпина Паблишер, 2017. – 224 с.

  2. Эспозито, Д. Разработка веб-приложений с использованием ASP.NET и AJAX / Д. Эспозито. – СПб.: Питер, 2019. - 240 c..

  3. Европейская организация по ядерным исследованиям, крупнейшая в мире лаборатория физики высоких энергий.

  4. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  5. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  6. См. приложений рисунок 1

  7. См. приложений рисунок 2.

  8. Вандюк, Джон К. CMS Drupal. Руководство по разработке системы управления сайтом / Вандюк, Джон К., Мэтт Вестгейт, – М.: Вильямс, 2016. – 400 c.

  9. Шкрыль, А. PHP – это просто. Программируем для Web-сайта / А. Шкрыль. – М.: БХВ-Петербург, 2018. – 368 c.

  10. Программа, предназначенная для просмотра сайтов, гипертекстовых документов в Интернете.

  11. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  12. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  13. Комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).

  14. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  15. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  16. (Англ. hosting) — услуга по предоставлению ресурсов для размещения информации на сервере, постоянно находящемся в сети (обычно Интернет).

  17. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  18. Ищенко, В.А. 47 готовых решений для создания Web-сайтов. + CD (видео самоучитель Adobe Dreamweaver CS4) (+ CD-ROM) / В.А. Ищенко. – М.: Триумф, 2015. – 822 c.

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

  20. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  21. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  22. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  23. Программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT либо AMD SVM.

  24. От англ. Intelligent Platform Management Interface — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ.

  25. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  26. Гаевский, А.Ю. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. – М.: Триумф, 2015. – 464 c.

  27. Холмс, С. Стек MEAN. Mongo, Express, Angular, Node / С. Холмс. – СПБ.: Питер, 2017. – 496 с.

  28. Моргунов, Е. П. Язык SQL. Базовый курс: учеб. – практ. пособие / Е. П. Моргунов, под ред. Е. В. Рогова, П. В. Лузанова. – М.: Postgres Professional, 2017. – 256 с.

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

  30. Алапати, Сэм Р. Oracle Database 11g: руководство администратора баз данных / Сэм Р. Алапати. – М.: Вильямс, 2015. – 1440 с.

  31. Фейерштейн, С. Oracle PL/SQL. Для профессионалов (6-е изд.) / С. Фейерштейн, Б. Прибыл. – СПБ.: Питер, 2015. – 1024 с.

  32. Моргунов, Е. П. Язык SQL. Базовый курс: учеб. – практ. пособие / Е. П. Моргунов, под ред. Е. В. Рогова, П. В. Лузанова. – М.: Postgres Professional, 2017. – 256 с.

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

  34. Семейство Unix-подобных операционных систем на базе ядра Linux

  35. Гаевский, А.Ю. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. – М.: Триумф, 2015. – 464 c.

  36. Лузанов, П. PostgreSQL для начинающих / П. Лузанов, Е. Рогов, И. Левшин. – М.: Postgres Professional, 2017. – 116 с.

  37. Текстовый формат обмена данными, основанный на JavaScript.

  38. Илюшечкин, В. М. Основы использования и проектирования баз данных / В.М. Илюшечкин. - М.: Юрайт, 2015. - 214 c.

  39. Федеральная служба по техническому и экспортному контролю

  40. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  41. Номейн, А. Выбор CMS для сайта / А. Номейн. – М.: Ridero, 2017. – 5 с.

  42. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  43. Сергеев, А.Н. Создание сайтов на основе WordPress; Учебное пособие. – СПБ.: Лань, 2015. – 128 с.

  44. Рамел, Д. Joomla! Для профессионалов / Д. Рамел. – М.: Вильямс,2014. – 448 с.

  45. Гаевский, А.Ю. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. – М.: Триумф, 2015. – 464 c.

  46. Smith, B. Beginning JSON / B. Smith. – N.Y.: Apress, 2015. – 353 p.

  47. Дари, К. AJAX и PHP. Разработка динамических веб-приложений / К. Дари [и д.р.] – СПб.: Символ-плюс, 2015. – 336 c.

  48. Дронов, В. А. JavaScript и AJAX в Web-дизайне / Владимир Дронов. – Москва: Высшая школа, 2016. – 736 c.

  49. Эспозито, Д. Разработка веб-приложений с использованием ASP.NET и AJAX / Д. Эспозито. – СПб.: Питер, 2019. - 240 c.

  50. Джакетт, Д. HTML и CSS. Разработка и дизайн Web-сайтов /Д. Джакетт. – М.: Питер, 2017. – 272 с.

  51. Гаевский, А.Ю. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. – М.: Триумф, 2015. – 464 c.

  52. Макфарланд, Д. Новая большая книга CSS / Д. Макфарланд. – СПБ.: Питер СПБ, 2019. – 720 с.

  53. Никольский, А.П. JavaScript на примерах. – СПБ.; Наука и техника, 2017. – 274 с.

  54. От англ. Common Gateway Interface — «общий интерфейс шлюза» — стандарт интерфейса, используемого для связи внешней программы с веб-сервером.

  55. Шкрыль, А. PHP – это просто. Программируем для Web-сайта / А. Шкрыль. – М.: БХВ-Петербург, 2018. – 368 c.

  56. Кузнецов, М.В. PHP. Практика создания Web-сайтов / М.В. Кузнецов. – М.: БХВ-Петербург, 2015. – 870 c.

  57. Евсеев, Д. А. Web-дизайн в примерах и задачах / Д.А. Евсеев, В.В. Трофимов. - М.: КноРус, 2015. - 272 c.

  58. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  59. Молочков, В.П. Основы работы в Adobe Photoshop CS5. – М.: Интернет Университет Информационных Технологий (ИНТУИТ), 2016. – 261 c.

  60. Евсеев, Д. А. Web-дизайн в примерах и задачах / Д.А. Евсеев, В.В. Трофимов. - М.: КноРус, 2015. - 272 c.

  61. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  62. Поисковая оптимизация сайта (поисковое продвижение сайта, раскрутка сайта, SEO – Search Engine Optimization) – это комплекс мер для повышения позиций сайта в результатах выдачи поисковых систем по заранее отобранным запросам

  63. Семейство переносимых, многозадачных и многопользовательских операционных систем, которые основаны на идеях оригинального проекта AT&T Unix,

  64. Нейл, Д. Практическое использование Vim: пер. с англ. А. Н. Киселева – 2-е изд / Д.Нейл. – М.: ДМК Пресс, 2017 – 392 с.

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

  66. Photoshop Document (PSD) — растровый формат хранения графической информации, использующий сжатие без потерь, созданный специально для программы Adobe Photoshop и поддерживающий все его возможности.

  67. Технология автодополнения Microsoft, наиболее известная в Microsoft Visual Studio. Дописывает название функции при вводе начальных букв. Кроме прямого назначения, IntelliSense используется для доступа к документации и для устранения неоднозначности в именах переменных, функций и методов, используя рефлексию.

  68. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  69. Ищенко, В.А. 47 готовых решений для создания Web-сайтов / В.А. Ищенко. – М.: Триумф, 2015.

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

  71. Резников, Ф.А. 100% самоучитель. Adobe Dreamweaver CS3. Создание Web-сайтов / Ф.А. Резников. – М.: Триумф, Технолоджи-3000, 2016. – 696 c.

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

  73. JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений.

  74. Международная компания, которая делает инструменты для разработки на языках Java, Kotlin, C#, C++, Ruby, Python, PHP, JavaScript и многих других, а также средства командной работы.

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

  76. Костин, С. П. Самоучитель создания Web-сайтов / С.П. Костин. – М.: Триумф, 2015. – 176 c.

  77. От англ. SSH File Transfer Protocol) — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения.

  78. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  79. Номейн, А. Выбор CMS для сайта / А. Номейн. – М.: Ridero, 2017. – 5 с

  80. Веб-приложение для электронной коммерции с открытым кодом.

  81. Кузнецов, М.В. PHP. Практика создания Web-сайтов / М.В. Кузнецов. – М.: БХВ-Петербург, 2015. – 870 c.

  82. Робачевский, А. Интернет изнутри. Экосистема глобальной сети / А. Робачевский. – М.: Альпина Паблишер, 2017. – 224 с.

  83. Венедюхин, А. Домены. Все, что нужно знать о ключевом элементе интернета / А. Венедюхин. – М.: Эксмо, 2014. – 336 с

  84. Робачевский, А. Интернет изнутри. Экосистема глобальной сети / А. Робачевский. – М.: Альпина Паблишер, 2017. – 224 с.

  85. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  86. Эспозито, Д. Разработка современных веб-приложений: анализ предметных областей и технологий / Д. Эспозито. – М.: Вильямс И.Д., 2017. – 464 c.

  87. Дунаев В.В. Web-программирование для всех/В.В. Дунаев. – СПб.: Питер – Москва, 2012. – 985 c.

  88. Платформа для общения между пользователями интернета на одну тему или на несколько тем (зависит от специализации форума).

  89. Это система с помощью которой происходит генерация страниц, управление контентом, настройками и функционалом сайта.

  90. Кузнецов, М.В. PHP. Практика создания Web-сайтов / М.В. Кузнецов. – М.: БХВ-Петербург, 2015. – 870 c.

  91. Евсеев, Д. А. Web-дизайн в примерах и задачах / Д.А. Евсеев, В.В. Трофимов. - М.: КноРус, 2015. - 272 c.

  92. Дронов, В. А. JavaScript и AJAX в Web-дизайне / Владимир Дронов. – Москва: Высшая школа, 2016. – 736 c.

  93. Номейн, А. Выбор CMS для сайта / А. Номейн. – М.: Ridero, 2017. – 5 с.

  94. Робачевский, А. Интернет изнутри. Экосистема глобальной сети / А. Робачевский. – М.: Альпина Паблишер, 2017. – 224 с.

  95. Номейн, А. Выбор CMS для сайта / А. Номейн. – М.: Ridero, 2017. – 5 с.