В данной работе речь пойдет о создании каркаса backend части java[10] приложения на основе Spring Boot[9] малым количеством временных затрат. Каждый разработчик за время своей карьеры создаёт не один проект с нуля. Приведение нового проекта в рабочее состояние влечет за собой рутинную, повторяющуюся из раза в раз однотипную работу. Например, студент-программист за время обучения в университете создаёт не менее 30 проектов и тратит около 30 минут на первоначальную настройку нового проекта. Ручная настройка приложения с нуля может быть полезна, если человек делает это впервые. Но, в дальнейшем, время на создание и приведение проекта в рабочее состояние можно сократить.
Поэтому, необходимо реализовать систему, которая сократит временные затраты на создание каркаса нового приложения, не утратит возможность гибкой конфигурации и даст возможность разработчикам не переписывать код, который в большинстве случаев одинаков. Было решено создать веб -приложение, которое позволит конфигурировать, создавать каркас backend сервиса на основе Spring boot, добавит возможность прописывать модель базы данных и подключаться к ней, а также позволит изменять уже существующие проекты, что является целью дипломной работы. Backend часть будет реализована на java, используя фреймворк Spring boot. За основу frontend приложения был выбран Angular 6 [2].
Для того, чтобы достичь цели, было поставлено несколько задач:
• Анализ существующих решений для создания каркасов серверной части приложений, выявление их преимуществ и недостатков;
• Анализ существующих решений для изменения существующих проектов
• Сбор информации по имеющимся инструментам, необходимым для реализации приложения, выбор наиболее подходящих инструментов;
• Изучение Angular 6, необходимого для разработки frontend части приложения;
• Тестирование получившегося веб-приложения
• Анализ результатов, полученных в ходе выполнения работы.
Объектом исследования в рамках данной дипломной работы является
процесс разработки Java приложений на основе фреймворка Spring[l 1]. А предметом исследования является автоматизация создания каркаса приложения.
Результаты данной выпускной квалификационной работы будут опубликованы в сети интернет, доступ к использованию будет открыт для всех пользователей сети .
В результате выполнения выпускной квалификационной работы был разработан сервис, позволяющий программисту сэкономить время на создании нового проекта. Гибкая, но, в то же время, простая система настроек, позволяет программисту быстро описать проект и скачать его в виде архива.
Генерация приложения с 10 сущностями занимает менее пяти секунд, также сгенерированный проект спроектирован таким образом, что разработчик без труда сможет дополнять этот проект, что очень важно.
Сам же проект является opensource решением, и будет распространяться бесплатно. Данная особенность дает перспективы на улучшение проекта со стороны community и заинтересованных пользователей. Ближайшие же планы на развитие проекта включают в себя:
1. Улучшение дизайна клиентского приложения.
2. Добавление возможности изменения сущностей уже существующего
проекта, не удаляя код, написанный в них до этого.
3. Добавление поддержки языка программирования Kotlin
Также были изучены и выбраны инструменты разработки данного проекта, например, JavaPoet - библиотека для генерации файлов с расширением .java и аналоги проекта, такие, как Spring Initializr и Restlet Studio.