Секция «Программные средства и информационные технологии»
УДК 004.4
ВЫБОР АРХИТЕКТУРЫ ДЛЯ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЯ
ИНТЕРНЕТА-МАГАЗИНА
И. Д. Торжевский*, А. П. Барковская
Научный руководитель - А. Г. Зотин
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
*E-mail: iliya.torzhevskiy@mail.ru
В работе рассматриваются распространённые архитектуры для разработки веб-приложений. Проведён сравнительный анализ архитектур. Сделан выбор, наиболее подходящий архитектуры для разработки веб-приложения интернета магазина.
Ключевые слова: веб-сайт, веб-приложение, архитектура, разработка.
CHOOSING AN ARCHITECTURE FOR THE DEVELOPMENT OF AN ONLINE STORE WEB APPLICATION
I. D. Torzhevskiy*, A. P. Barkovskaya Scientific supervisor - A. G. Zotin
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt., Krasnoyarsk, 660037, Russian Federation *E-mail: iliya.torzhevskiy@mail.ru
The paper discusses common architectures for developing web applications. A comparative analysis of these architectures is carried out. A choice has been made, the most suitable architecture for the development of an online store web application.
Keywords: website, web application, architecture, development.
На сегодняшний день интернет играет большую роль в жизнедеятельности человека. С помощью веб-сайтов и веб-приложений люди получают необходимую и своевременную информацию для решения своих задач. Также большим спросом пользуются интернет-магазины, через которые проходит огромное количество покупок товаров.
Веб-приложением называют, такое приложение, одна часть которого представляется в браузере для взаимодействия с пользователем, а другая находится на веб-сервере и обрабатывает поступающие запросы [1].
Несмотря на то, что и веб-сайт, и веб-приложение используются с помощью браузера, между ними существуют существенные различия.
Веб-сайт представляет собой совокупность веб-страниц, в большинстве случаев информационного характера. На нём может содержаться текстовой, графический, аудио или видео контент. Веб-сайт - это готовая HTML-страница доступная для просмотра пользователю и имеющая ограниченную возможность взаимодействия. Чаще всего можно пользоваться только поиском или подписаться на новости. Веб-сайт компании является типичным примером веб-сайта.
Прежде чем создавать веб-приложение, необходимо руководствоваться архитектурой, выбранной разработчиками. Правильно определённая архитектура веб-приложений сделает
Актуальные проблемы авиации и космонавтики - 2022. Том 2
процесс разработки более эффективным и простым. Веб-приложение с хорошо продуманной архитектурой легче масштабировать, изменять, тестировать и отлаживать.
Рассмотрим часто встречающиеся архитектуры (Server-side HTML, JS generation widgets, сервис-ориентированные одностраничные веб-приложения) для веб-разработки.
Наиболее распространенной архитектурой сегодня является Server-side HTML. Она заключается в том, что сервер генерирует HTML-контент и отправляет его клиенту в виде полноценной HTML-страницы. Иногда эту архитектуру называют "Web 1.0", потому что она появилась первой и в настоящее время доминирует в Интернете [2].
В архитектуре JS generation widgets страница, отображаемая в браузере, состоит из виджетов (функционально независимых блоков). Данные в этих виджетах загружаются с помощью AJAX-запроса с сервера: либо полноценный фрагмент HTML; либо в виде JSON и уже с использованием шаблонов JavaScript преобразуются в содержимое страницы. Возможность загружать HTML-блоки избавляет от необходимости использовать клиентские фреймворки JavaScript-MV, и в этом случае можно сделать что-то более простое, например, jQuery [3].
Главное преимущество этой архитектуры заключается в том, что с сервера поступают только данные для обновления той части страницы, которую клиент запрашивает для обновления. Ещё одним преимуществом является то, что виджеты функциональны разделены. Так при изменении одного конкретного виджета не повлияет на работоспособность других.
В архитектуре одностраничных Service-oriented single-page Web apps с сервера загружается HTML-страница, представляющая собой контейнер для кода JavaScript, который со ссылкой на конкретную веб-службу получает только бизнес-данные от нее. Из которого, в свою очередь, приложение JavaScript генерирует HTML-содержимое страницы. Фактически, архитектура такого типа представляет собой эволюцию архитектуры JS generation widgets и доведение ее до полного уровня независимого, довольно сложного приложения JavaScript путем переноса части функциональности на клиентскую сторону. Как правило, архитектура JS generation widgets не может похвастаться очень большим количеством взаимосвязанных структурированных функций.
В табл. 1 приведено сравнение выше описанных архитектур, где оценка произведена в диапазоне от 0 (не поддерживается или невозможно реализовать в данной архитектуре) до 5 (архитектура полностью поддерживает данный критерий).
Таблица 1
Сравнение архитектур Веб-приложений_
Точка зрения Критерий Server-side HTML JS generation widgets Service-oriented single-page Web apps
Пользователь Юзабилити 1 3 5
Оффлайн 2 1 5
Разработчик Скорость разработки 5 3 2
Тестируемость 4 1 3
Безопасность 4 4 0
Заказчик Производительность 3 4 5
SEO 5 2 1
Так для пользователя интернет-магазина будет наиболее важным аспект юзабилити, чтобы легче и быстрее находить нужный товар и оформлять заказ. Разработчик в свою очередь будет заинтересован в архитектуре имеющую повышенную скорость разработки. Для заказчика (владельца интернет-магазина) важна производительность веб-приложения и обеспечение безопасности.
Секция «Про граммные средства и информацио иные техно ло гии»
Таким образом, для разработки веб-приложения интернета-магазина самой оптимальной архитектурой будет JS generation widgets. Поскольку ключевыми критериями хорошей работы интернета-магазина будет безопасность, производительность и юзабилити, хоть и проигрывая в скорости разработки и тестируемости другим архитектурам.
Библиографические ссылки
1. Веб-приложения: виды, архитектура и принципы работы [Электронный ресурс]. URL: https://highload.today/veb-prilozheniya/ (дата обращения: 30.03.2022)
2. Серверный или клиентский рендеринг на вебе: что лучше использовать у себя в проекте и почему [Электронный ресурс]. URL: https://tproger.ru/translations/rendering-on-the-web/ (дата обращения: 30.03.2022).
3. Server-side HTML vs. JS Widgets vs. Single-Page Web Apps [Электронный ресурс]. URL:http://blog.pamelafox.org (дата обращения:30.03.2022).
© Торжевский И. Д., Барковская А. П., 2022