Научная статья на тему 'ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ'

ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
832
92
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ / ТЕХНОЛОГИЯ / РАЗРАБОТКА / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ФРЕЙМВОРК

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Макеева О. В., Красников С. А., Туманова М. Б., Чернов Е. А.

На современном этапе развития средств программирования в области веб-разработки количество вебфреймворков (ВФК) резко возросло. Все они обладают определенным рядом преимуществ и недостатков, а поэтому актуальным является вопрос выбора правильного и подходящего фреймворка или их набора для каждого конкретного проекта, ведь от правильного выбора зависит качество, время реализации и надежность каждого разрабатываемого программного продукта. Вообще говоря, веб-фреймворки однозначно изменили и улучшили своим появлением возможности программирования и стали неотъемлемой частью процесса разработки. Существует большое количество информации, касающейся ВФК, но часто эта информация содержит только определения и сложные термины, которые не дают никакого представления о данные средства. Именно поэтому вопрос обоснования вариативного выбора фреймворков и их влияние на качество программного обеспечения является актуальной задачей на современном этапе развития программирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Макеева О. В., Красников С. А., Туманова М. Б., Чернов Е. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE APPLICATION DEVELOPMENT TECHNOLOGIES

At the present stage of development of programming tools in the field of web development, the number of web frameworks (VFC) has increased dramatically. All of them have a certain number of advantages and disadvantages, and therefore the question of choosing the right and appropriate framework or a set of them for each specific project is relevant, because the quality, implementation time and reliability of each software product under development depends on the right choice. Generally speaking, web frameworks have definitely changed and improved programming capabilities with their appearance and have become an integral part of the development process. There is a large amount of information related to VFC, but often this information contains only definitions and complex terms that do not give any idea about these funds. That is why the issue of substantiating the variable choice of frameworks and their impact on the quality of software is an urgent task at the present stage of programming development.

Текст научной работы на тему «ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ»

Технологии разработки программных приложений

сч сч о сч

fO

о ш m

X

<

m О X X

Макеева Оксана Валерьевна,

к.т.н. доцент кафедры «Дизайн», АНО ВО «Московский региональный социально-экономический институт» (МРСЭИ), makeeva-oks@yandex.ru

Красников Степан Альбертович,

д.т.н., доцент, профессор кафедры «Математического обеспечения и стандартизации информационных технологий», ФГБОУ ВО «МИРЭА - Российский технологический университет», skrasnikov@gmail.com

Туманова Марина Борисовна,

к.п.н., доцент, доцент кафедры «Математического обеспечения и стандартизации информационных технологий», ФГБОУ ВО «МИРЭА - Российский технологический университет», tumanova-marina@yandex.ru

Чернов Евгений Александрович,

к.т.н., доцент кафедры «Математического обеспечения и стандартизации информационных технологий», ФГБОУ ВО «МИРЭА - Российский технологический университет», evgenii.chernov@mail.ru

На современном этапе развития средств программирования в области веб-разработки количество вебфреймворков (ВФК) резко возросло. Все они обладают определенным рядом преимуществ и недостатков, а поэтому актуальным является вопрос выбора правильного и подходящего фреймворка или их набора для каждого конкретного проекта, ведь от правильного выбора зависит качество, время реализации и надежность каждого разрабатываемого программного продукта. Вообще говоря, веб-фреймворки однозначно изменили и улучшили своим появлением возможности программирования и стали неотъемлемой частью процесса разработки. Существует большое количество информации, касающейся ВФК, но часто эта информация содержит только определения и сложные термины, которые не дают никакого представления о данные средства. Именно поэтому вопрос обоснования вариативного выбора фреймворков и их влияние на качество программного обеспечения является актуальной задачей на современном этапе развития программирования.

Ключевые слова: Веб, технология, разработка, программное обеспечение, фреймворк.

Методологической основой данного исследования являются труды таких исследователей как Jacek Schae, Майерт О. Д., Масляк Т. А., Колесникова Т. А. и многие другие. Некоторыми общими аспектами использования фреймворков занимались Та-тур Ю. Л., Билоконная К. В. использование CSS-фреймворков в своих работах описывают Масляк Т. А., Колесникова Т. А. В целом. 29 Вместе с тем, в настоящее время, выполняется большое количество разнообразных исследований, посвященных применению тех или иных ВФК и их целесообразности по разработке определенного программного продукта. Однако, нужно отметить, что проблема вариативности выбора веб-фреймворков при создании программных продуктов занимает незначительное место в отечественных и зарубежных работах [6].

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

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

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

Скафолдинг - это еще одна технология, заключающаяся в автоматическом генерировании типовых частей программы или структуры проекта. Это позволяет существенно увеличить скорость разработки и стандартизирует кодовую базу [10].

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

Сопоставление URL - это функция фреймвор-ков, способствующая упрощению доступа к страницам веб-сайта, индексации и поисковым движкам, создавая привлекательное название [1].

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

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

Все эти функции являются частью платформы, которая способствует разработке эффективного веб-сайта. Вот лишь некоторые примеры площадок, разработанных с помощью этого фреймворка: Netflix, Freelancer.com, GoodFIlms и проч. [4]

Фреймворк RubyonRails создан языком программирования Ruby. Одним из его преимуществ считается коренное упрощение и ускорение разработки веб-приложений за счет повторного использования кода. Такой подход позволяет добавлять некоторые дополнительные функции. Среди популярных веб-сайтов, написанных на Ruby on Rails, можно выделить Basecamp, Ask.fm, GitHub, 500рх и проч. Но, основным преимуществом этого фреймворка следует считать быструю разработку с меньшим количеством написанного кода и ошибок. К другим его преимуществам целесообразно отнести гибкость, заключающуюся в возможности широкого круга применения (например, от управления проектами до строительства), скорость, заключающуюся в способности сокращения времени разработки веб-приложений примерно на 30-40%, и возможность внесения изменений в код. Именно поэтому фреймворк RoR идеально подходит для долговременных проектов.

Фреймворк YII является платформой с открытым исходным кодом, встроенной в PHP5. Благодаря понятному дизайну и удобному интерфейсу, этот фреймворк обеспечивает чрезвычайно простую и быструю вебразработку. Он оптимизирован по производительности, что позволяет его использование для любых проектов. Кроме того, данная платформа

удерживает инструменты, которые обладают способностью отладки и тестирования приложения. Интересной особенностью платформы следует считать возможность включения классов и объектов, только при необходимости, что ускоряет загрузку приложений. Данные функции способствуют созданию высокопроизводительной структуры, что способствует разработке эффективных веб-сайтов (например, ТАСС, Craftcms, Hum Hub и проч.).

Фреймворк Meteor JS разработан на платформе Node.js позволяет создавать различные real-time вебдатки. Одна из основных особенностей Meteor JS3 - надлежащая основа для создания простых сайтов личного пользования.

Meteor JS это изоморфный JavaScript веб-фреймворк с открытым исходным кодом, способствующий быстрой загрузке страниц. Кроме того, благодаря интегрированному стеку JavaScript, который простирается от базы данных конечного пользователя до экрана, существует возможность выполнения в 10 строках кода то, что, обычно, растягивается на 1000 строк [7].

Одна из особенностей данного фреймворка заключается в возможности использования одного кода при разработке под операционные системы iOS, web, Android или desktop. Также существует возможность использования различных популярных фреймворков и инструментов для создания функций.

Фреймворк^ на платформе Node.js покрывает целый ряд важных функций плагинами, поэтому целесообразным считается использование для быстрой разработки веб-приложения и прикладного программного интерфейса (API). Также данный фреймворк пригоден к использованию для создания мобильных приложений [2].

По сути, Express.js состоит из Angular и базы данных MongoDB. Это означает, что для разработки вебсайтов достаточно знание таких языков как: HTML, CSS и JavaScript22 . А используя модули npm, открывается возможность расширения функционала приложений. Также Express.js идеален для создания простых веб-сервисов.

Zend - это opensource фреймворк, разработанный на языке PHP. Он ориентирован на разработку современных, надежных и безопасных веб-сервисов. При этом применяются различные профессиональные пакеты PHP, которые делают разработку веб-сайтов высочайшего класса значительно проще и быстрее. Кроме того, ВФК использует архитектуру MVC, отделяющую базу данных и бизнес-логику от представительского уровня. Это способствует получению более понятного и чистого кода. Веб-фреймворк Zend базируется на концепциях объектноориентированного программирования, что открывает возможность расширения различных компонент фреймворка. Также следует отметить маршрутизацию, которая выполняет свою работу безупречно, и функции кэша [3].

х

X

о го А с.

X

го m

о

2 О

м м

сч сч о сч

о ш Ш X

<

m о х

X

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

1) возможности фреймворка должны четко соответствовать задачам проекта. Лишний функционал не нужен, но при этом никогда не должно возникать ограничений при доработке проекта;

2) фреймворк должен способствовать уменьшению часурозробки сайта;

3) для удобства использования фреймворка другим разработчиком он должен быть распространенным;

4) безопасность фреймворка - один из важнейших его показателей.

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

Вообще, при выборе наиболее эффективного ВФК целесообразно проанализировать задачи, четко его формализовать, выбрать «топ-5» подходящих вариантов, написать на них небольшое приложение и выбрать лучший.

Также, существует потребность оценки степени соответствия функционала, из перечня претендентов, требованиям проекта, а также продолжительность применения готового функционала. При этом, обязательно нужно обратить внимание на возможность обратной совместимости, если фреймворк меняется до версии API. При отсутствии данной возможности такой ВФК использовать не целесообразно.

Как по мнению авторов, избрание из известного набора ВФК считается несложной задачей потому, что при проектировании сразу видна потребность в тех или иных технологиях. Далее встает задача увеличения известных фреймворков, поэтому, в данном случае, стоит, в первую очередь, изучить фреймворки, которые охватывают различные технологии и наиболее отличаются друг от друга. Например, любой классический MVC фреймворк и ВФК другой инфраструктуры [8].

Также, следует отметить, что выбор ВФК, как любого инструмента, зависит от сроков проекта. Если проект кратковременный, то нужно выбирать, например, из группы Bootstrap, или что-то новое и

параллельно его изучать. Если проект долговременный, то лучше формировать отдельную библиотеку структур [9].

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

Развитие фреймворков зависит от потребностей рынка и возможностей браузеров и пользовательских девайсов. Дальнейшее совершенствование фреймворков, напрямую зависит от развития и появления новых платформ, как, например, разработка технологии Canvas, WebGL Node.js-обу-словила появление ВФК по работе с ними.

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

Выбор подходящего фреймворка является одной из основных основ, определяющей качество будущего сайта. Каждую из технологий, которые приведены в данной статье можно считать исчерпывающим во всех отношениях потому, что их используют, как в практике преобразования в графический интерфейс (frontend), так и для разработки варианта архитектуры программного обеспечения (backend). Поэтому, следует выбирать платформу в соответствии с удобствами относительно языков программирования.

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

Литература

1. Голубь, И. С. Компонентный подход в разработке веб приложений / И. С. Голубь // Постулат. -2020. - № 1(51). - С. 89.

2. Елисеева, Е. С. Применение JAVASCRIPT-фреймворков при разработке интерактивных образовательных веб-приложений / Е. С. Елисеева, А. Д. Хаханова, А. А. Учанева // Современное образование: традиции и инновации. - 2020. - № 2. - С. 240-243.

3. Магомадов, В. С. Основные принципы разработки прогрессивного веб-приложения / В. С. Магомадов // Тенденции развития науки и образования. - 2020. - № 62-4. - С. 81-83. - DOI 10.18411/lj-06-2020-85.

4. Маннанов, А. А. Разработка MVC паттерна для повышения эффективности разработки веб-приложений / А. А. Маннанов // Информационные технологии. Проблемы и решения. - 2019. - № 4(9). - С. 123-129.

5. Панченко, Н. В. Особенности разработки веб-приложений и мобильных приложений / Н. В. Панченко // Тенденции развития науки и образования. - 2019. - № 57-2. - С. 24-26. - DOI 10.18411/lj-12-2019-25.

6. Понизов, А. В. Разработка веб-приложения для обработки ГНСС-данных с использованием микросервисной архитектуры / А. В. Понизов, М. А. Серов, Т. А. Галаган // Вестник Амурского государственного университета. Серия: Естественные и экономические науки. - 2020. - № 89. - С. 27-31. -DOI 10.22250/jasu.7.

7. Преимущества использования фреймворка Yii2 для разработки веб приложений / И. И. Тимер-галиев, Т. А. Бикулов, А. Д. Давлетшин, И. Г. Саз-гетдинов // Вести научных достижений. - 2020. - № 7. - С. 10-13. - DOI 10.36616/2618-7612-2020-7-1013.

8. Самородских, И. Л. Использование стандарта WSGI при разработке веб-приложений на Python / И. Л. Самородских // StudNet. - 2020. - Т. 3. - № 5. - С. 348-357.

9. Учанева, А. А. Применение CSS-фреймвор-ков при разработке образовательных веб-приложений / А. А. Учанева, Е. С. Елисеева, А. Д. Хаханова // Современное образование: традиции и инновации. - 2020. - № 2. - С. 237-240.

10.Хаханова, А. Д. Использование шаблониза-торов при разработке образовательных веб-приложений на платформе электронного обучения MOODLE / А. Д. Хаханова, Е. С. Елисеева, А. А. Учанева // Современное образование: традиции и инновации. - 2020. - № 2. - С. 156-158.

Software application development technologies Makeeva O.V., Krasnikov S.A., Tumanova M.B., Chernov E.A.

MIREA - Russian Technological University, ANO VO "Moscow Regional Socio-Economic Institute (MRSEI) JEL classification: C10, C50, C60, C61, C80, C87, C90

At the present stage of development of programming tools in the field of web development, the number of web frameworks (VFC) has increased dramatically. All of them have a certain number of advantages and disadvantages, and therefore the question of choosing the right and appropriate framework or a set of them for each specific project is relevant, because the quality, implementation time and reliability of each software product under development depends on the right choice. Generally speaking, web frameworks have definitely changed and improved programming capabilities with their appearance and have become an integral part of the development process. There is a large amount of information related to VFC, but often this information contains only definitions and complex terms that do not give any idea about these funds. That is why the issue of substantiating the variable choice of frameworks and their impact on the quality of software is an urgent task at the present stage of programming development. Keywords: Web, technology, development, software, framework. References

1. Golub, I. S. Component approach in web application development / I. S.

Golub // Postulate. - 2020. - No. 1 (51). - S. 89.

2. Eliseeva, E. S., Khakhanova A. D., Uchaneva A. A. The use of JAVAS-

CRIPT frameworks in the development of interactive educational web applications // Modern education: traditions and innovations. - 2020. - No. 2. - P. 240-243.

3. Magomadov, V. S. Basic principles for the development of a progressive

web application / V. S. Magomadov // Trends in the development of science and education. - 2020. - No. 62-4. - S. 81-83. - DOI 10.18411/lj-06-2020-85.

4. Mannanov, A. A. Development of an MVC pattern to improve the efficiency

of web application development / A. A. Mannanov // Information technologies. Problems and solutions. - 2019. - No. 4(9). - S. 123-129.

5. Panchenko, N. V. Features of the development of web applications and

mobile applications / N. V. Panchenko // Trends in the development of science and education. - 2019. - No. 57-2. - S. 24-26. - DOI 10.18411/lj-12-2019-25.

6. Ponizov, A. V. Development of a web application for processing GNSS data

using microservice architecture / A. V. Ponizov, M. A. Serov, T. A. Galagan // Bulletin of the Amur State University. Series: Natural and economic sciences. - 2020. - No. 89. - S. 27-31. - DOI 10.22250/jasu.7.

7. Timergaliev I. I., Bikulov T. A., Davletshin A. D., Sazgetdinov I. G. Benefits

of using the Yii2 framework for developing web applications // Vesti nauchnykh sozdaniya. - 2020. - No. 7. - P. 10-13. - DOI 10.36616/26187612-2020-7-10-13.

8. Samorodskikh, I. L. Using the WSGI standard in developing web applica-

tions in Python / I. L. Samorodskikh // StudNet. - 2020. - T. 3. - No. 5. -S. 348-357.

9. Uchaneva, A. A. The use of CSS frameworks in the development of edu-

cational web applications / A. A. Uchaneva, E. S. Eliseeva, A. D. Kha-khanova // Modern education: traditions and innovations. - 2020. - No. 2. - P. 237-240.

10. Khakhanova, A. D. The use of templates in the development of educational web applications on the MOODLE e-learning platform / A. D. Kha-khanova, E. S. Eliseeva, A. A. Uchaneva // Modern education: traditions and innovations. - 2020. - No. 2. - P. 156-158.

X X

о

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

го А с.

X

го m

о

2 О

м м

i Надоели баннеры? Вы всегда можете отключить рекламу.