<<ш1кшетим~^©и©ма1>#щбш,2©2© / technical science
УДК: 004.415.25
Калюжный Е.Р., Ксендзовский И.Д., Зариковская Н.В.
Томский государственный университет систем управления и радиоэлектроники
DOI: 10.24411/2520-6990-2020-11965 ТЕХНОЛОГИИ РАЗРАБОТКИ СЕРВЕРНОЙ ЧАСТИ ПРИЛОЖЕНИЙ И СИСТЕМ
Kalyuzhny E.R., Ksendzovskiy I.D., Zarikovskaya N. V.
Tomsk State University of Control Systems and Radioelectronics TECHNOLOGY FOR SERVER SIDE DEVELOPMENT APPLICATIONS AND SYSTEMS Аннотация.
В статье рассмотрены основные технологии, использованные при разработке серверной части информационных систем. Рассмотрены наиболее часто используемые фреймворки при разработке веб систем, мобильных и десктоп приложений. Abstract.
The article reveals core technology, used in development server side of information system. Reviewed most used frameworks for developing web system, mobile and desktop applications.
Ключевые слова: веб-система, приложение, фреймворк, разработка, технологии, язык программирования.
Keywords: web-system, application, framework, development, technologies, programming language.
Как известно экономическая устойчивость современных предприятий напрямую зависит от их информационного обеспечения. Развитие информационных технологий и систем, обеспечивающих работу таких предприятий, идет стремительно. Информационные системы, как правило, направлены на обеспечение бесперебойной работы предприятий, повышение экономической стабильности и ав-
томатизации рутинных операций различных отделов предприятий. Данные системы реализованы в виде веб-систем, десктоп и мобильных приложений, при проектировании которых используются различные сервисы и технологии. Общим правилом при реализации информационных систем является использование клиент-серверной архитектуры, которая предполагает наличие клиентской (фронтенд) и серверной (бэкенд) частей.
Рисунок 1. Схема клиент-серверной архитектуры
Наиболее популярными языками программирования при разработке серверной части являются Python, JavaScript, Java, PHP, C#. Однако в чистом виде данные языки редко применяются. Все чаще разработка ведется при помощи специальных программных сред, называемых фреймворками.
Фреймворки содержат в себе некий каркас программы, который позволяет ускорить разра-
ботку систем путем переиспользования компонентов, входящих в состав фреймворка, а также добавления компонентов, характеризующих особенности конкретной системы. Ниже в таблице 1 приведены наиболее популярные языки и фреймворки, используемые при реализации серверной части систем.
TECHNICAL SCIENCE / <<Ш11ШЗДиМ"^©иГМ&1>>#Щ6Ш,2Ш§
Таблица 1
Популярные технологии разработки серверной части приложений
Язык программирования
Python JavaScript Java PHP С#
Flask Express Spring Laravel .NET
Django Node.js Apache Struts Yii UWP
Hibernate Zend
Swing
о л о н х е Т
Несмотря на существенные отличия веб-систем, мобильных и десктоп приложений, подходы к реализации серверной части практически ничем не отличаются. Существенное отличие наблюдается только в используемом стеке технологий для разработки десктоп приложений. Считаем нецелесообразным приводить детальное описание языков программирование, т.к. они являются широко известными и популярными в разработке, однако рассмотрим более подробно основные фреймворки, представленные в таблице 1. В отличие от языков программирования фреймворки ориентированы на тип систем, разрабатываемых с их помощью, в частности при разработке веб систем популярными фреймворками являются Django, Express, Apache Struts, Zend. Перейдем к более детальному рассмотрению соответствующих фреймворков.
Django - это бесплатный и открытый фреймворк языка Python, который позволяет разработчикам писать сложный код и приложения быстро. Django помогает разрабатывать качественные веб-системы. Фреймворк широко используется для быстрой разработки API и веб-систем. Это один из самых популярных фреймворков для разработки веб-систем.
Высокоуровневый фреймворк позволяет упростить и ускорить разработку, предоставляя различные мощные преимущества. Он включает в себя колоссальный ассортимент библиотек, увеличивает эффективность и уменьшать количество кода за счет повторного использования компонентов
Express - это минималистичный и гибкий веб-фреймворк для приложений Node.js, имеющий в своем распоряжении множество HTTP-методов и промежуточных обработчиков, позволяющих быстро и легко создать надежный API.
Apache Struts - это открытый фреймворк, работающий по MVC модели, который помогает создавать элегантные веб-системы на языке Java. Фреймворк предназначен для создания сложных систем и включает в себя множество плагинов для разработки сложной архитектуры.
Zend - фреймворк с открытой архитектурой, основанной на модели MVC и поддерживающий стандарты PHP-FIG. Фреймворк позволяет создавать системы с высокой степенью безопасности, используя функцию хеширования паролей bcrypt и AES для расшифровки.
При разработки серверной части для мобильных приложений популярными являются фрейм-ворки Flask, Laravel, Hibernate. Перейдем к более детальному рассмотрению данных фреймворков.
Flask - фреймворк языка Python, доступный по лицензии BSD. Основной целью Flask является создание мощной базы веб-приложения. Разработчики могут использовать фреймворк для любых
проектов, но он был разработан для открытых проектов. Flask используется большими компаниями, такими как LinkedIn и Pinterest. Flask это лучшее решение для маленьких и простых проектов. В Flask интегрированы unit-тесты для ускорения разработки.
Laravel - самый популярный фреймворк языка PHP, который предоставляет возможность разрабатывать комплексные решения с достаточной степенью безопасности и высокой скоростью. Фреймворк включает в себя мощные библиотеки для декодирования данных и огромное количество функционала.
Hibernate - фреймворк, который позволяет транслировать Java - объекты в таблицы базы данных и наоборот, используя свой язык запросов, называемый HQL.
При реализации серверной части для десктоп приложений популярными фреймворками являются .NET, UWP, Swing. Перейдем к более детальному рассмотрению перечисленных фреймворков.
.NET - фреймворк, который использует Microsoft Visual Studio и предоставляет разработчику различные возможности использования фреймвор-ков, реализованных на других языках программирования, таких как Python, C#, C++ и т.д. Это мощнейший инструмент для разработки программного обеспечения для десктопа.
UWP - Универсальная Платформа Windows, которая позволяет разрабатывать приложения для различных Windows платформ.
Swing - фреймворк языка Java, позволяющие разрабатывать кроссплатформенные десктоп приложения, а так же использовать средства разработки под Windows.
В процессе работы рассмотрены основные технологии и их особенности при реализации информационных систем.
Литература
1. Фреймворк - важный инструмент программиста [Электронный ресурс]. Режим доступа: https://fructcode.com/ru/blog/features-of-popular-frameworks-html-css-php-and-python-frameworks/, свободный (дата обращения 29.05.2020).
2. Технологии создания серверной части [Электронный ресурс]. Режим до-ступаhttps://studme.org/121257/informatika/tehnologi i_sozdaniya_servernoy_chasti, свободный (дата обращения 28.05.2020).
3. Лучшие фреймворки для разработки приложений для ПК [Электронный ресурс]. Режим доступа https ://senior.ua/articles/5 -luchshih-freymvorkov-dlya-razrabotki-prilozheniy-dlya-pk, свободный (дата обращения 26.05.2020).