LOW-CODE: зачем это бизнесу и разработчикам
Согласно исследованиям аналитического агентства Gartner, гиперавтоматизация - глобальная бизнес-тенденция.
Важным условием для выживания предприятий станет использование технологий, позволяющих быстро идентифицировать, анализировать и автоматизировать как можно больше процессов.
Одной из таких технологий является разработка low-code. Gartner прогнозирует, что к 2025 году 70% новых приложений, разработанных предприятиями, будут использовать технологии с low-code.
В исследованиях Expert Market Research рынок low-code разработки вырастет на 26,5% c 2022 по 2027 год.
Какие перспективы и насколько актуален low-code
Бизнесу сегодня важно получать готовый продукт в максимально короткие сроки.
Но разработка программного обеспечения ‒ долгий, дорогой и труднопредсказуемый процесс. И это ключевой момент в использовании low-code подхода.
Программисты в среднем тратят 60% своего рабочего времени на рутинную работу. Low-code подход уменьшает стоимость и время разработки, автоматизируя рутинные, но важные задачи. С low-code разработчик не пишет заново то, что уже написано, его время и ресурсы расходуются на выполнение более сложных и интересных задач.
Сложная логика требует профессионала, но простые задачи решаются силами бизнес-отдела. И здесь вообще возникает новый уровень взаимодействия в команде. Бизнес-аналитики, разработчики и бизнес-пользователи могут разрабатывать один и тот же проект с помощью одних и тех же инструментов на одной платформе.
Аналитики и тестировщики обладают представлением о создании и устройстве систем, но не могут сами писать и изменять код продукта из-за отсутствия специфических знаний. Тратится много времени на передачу знаний от аналитика разработчику, от разработчика тестировщику и в обратном направлении. Поскольку low-code - это визуальная среда написания кода, они могут создавать и изменять функционал продукта и сразу передавать его в тестирование.
Low-code позволяет быстро проверить гипотезу, работает или нет функционал, создать MVP.
Покажем на примере нашей собственной разработки - low-code среды ANIE.
В ANIE можно разработать приложения и сервисы любого размера и с любым функционалом:
- полноценный классический монолит с базой данных ‒ бэкенд для сайта или мобильного приложения;
- большую корпоративную систему на базе имеющихся монолитных решений;
- микросервисную архитектуру с шлюзами API (gateways);
- маленький утилитарный сервис только с бизнес-логикой и интерфейсом взаимодействия (API);
Среда ANIE предназначена для одновременной совместной работы. Гибкая система распределения ролей позволяет допускать в проект любое количество участников, не опасаясь, что они удалят или изменят функционал по ошибке. Так, внешним разработчикам можно предоставить доступ только к заказанным им функциям, техническим авторам ‒ к документации, а представителям заказчика ‒ к просмотру общей схемы проекта на канвасе и оценке прогресса разработки.
ANIE интегрируется с внешними системами управления проектами (Jira, Confluence, Gitlab и т.д.), что позволяет централизованно ставить задачи и контролировать сроки реализации.
Важный момент - скорость изменений при low-code подходе гораздо выше, чем при традиционной разработке.
Когда процесс вручную пишется с нуля, возникают баги. Тестирование и отладка - это такой повторяющийся цикличный момент.
И если при классической разработке на интеграцию стороннего API с тестированием и отладкой уйдет месяц, то в нашем случае это займет максимум 2, 3 дня. Так как платформе эти процессы уже реализованы. Ты подключаешь и забираешь эти данные, а дальше строишь логические взаимосвязи.
Для моделирования процессов в ANIE используется нотация BPMN (2.0).
Можно загрузить готовую диаграмму, либо в интерфейсе построить свою, далее на основании BPMN диаграммы происходит генерация кода. Когда код генерируемый, а не написанный вручную, он более стабильный, качественный и предсказуемый.
Про интеграцию
Для бизнес-решений важно, чтобы готовый продукт мог объединяться со сторонними интерфейсами. Когда бизнес растет, появляется необходимость интеграций многих систем, оптимизации исполнения и совместной работы приложений, написанных на разных языках программирования.
ANIE позволяет создавать корпоративные плагины для создания интеграций и генерации оптимизированного под задачи бизнеса кода на разных языках.
API платформы позволяют легко подключать разрозненные системы и интегрировать данные и логику из любого источника или сервиса.
Для интеграции разрозненных сервисов с собственными API и правилами наименования полей ANIE использует мэппинг данных. Он снижает нагрузку на программистов и обеспечивает интеграцию с любыми сторонними сервисами и базами без разработки инструментов для конвертирования полей во внутренний формат.
Дальнейшее усовершенствование проекта и открытый код
Часто возникают споры насчет ограниченности low-code платформ при дальнейшем развитии продукта.
На рынке есть платформы, предназначенные для решения стандартных задач бизнеса, так и среды для разработки сложных многофункциональных решений, например: Strapi, AirTable, Firebas, Creatio, Camunda и др.
Как правило, после разработки проект живет в рамках большой системы-коробки. И все изменения выполняются только в пределах платформы.
В нашем случае, в среде ANIE происходит автогенерация кода уже в конечный готовый самостоятельный продукт, при этом генерацию выбираешь из стек технологий: PHP, Go, Symfony, Python, Java.
У пользователя появляется выбор: развивать продукт дальше самостоятельно путем классической разработки или разрабатывать на нашей платформе с экономией по времени. Можно уйти в классику, а можно переиспользовать готовое приложение, изменив файл конфигурации, как я его называю, ДНК-проекта.
При необходимости, разрабочики могут дописать код в любой IDE.
Выводы
Таким образом, low-code - это не замена полноценной разработке, а закономерный ответ на массовую цифровизацию и гиперавтоматизацию. Инструменты low-code позволяют осуществить доставку конечного продукта в максимально короткие сроки и с наименьшими финансовыми затратами по сравнению с классической разработкой.
Время - архиважный ресурс как для IT-команд, так и для бизнеса.
C инструментами low code IТ-команды создают высококачественные приложения быстрее и в бОльших объемах. Разработчики избавляются от шаблонных и рутинных задач, работая над сложной логикой. Бизнес-аналитики, нетехническое руководство выполняют большинство задач самостоятельно без привлечения разработчиков и вносят свой вклад в проект. Снижается возможность ошибок в связях между блоками будущего приложения, так как low-code - это визуальная среда и всю структуру продукта можно увидеть на моменте конструкции.Сокращается период time to market, ускоряется внесение изменений в существующие процессы и разработка новых.
А бизнес быстро и с минимальными затратами получает готовый продукт с возможностью его постоянного улучшения для конечного пользователя.