Рост потребности в удаленной работе привел к росту популярности инструментов разработки типа Low-code, и ничто не говорит о том, что он пойдет на спад. Защитник интересов разработчиков ServiceNow Эрл Дьюк рассказывает на портале The New Stack об их плюсах и минусах для профессиональных инженеров.

Предприятия, вынужденные в кратчайшие сроки перейти на удаленную работу, очень скоро обнаружили, что с помощью инструментов Low-code можно быстро и доступно оцифровать простые и ручные процессы. Но все оказалось не так просто. В то время как бизнес-пользователи ликовали по поводу их расширения их применения, в стенах ИТ-отделов росло неудовольствие инженеров, или «профессиональных кодеров». Почему?

Беспокойство

Low-code  это слишком просто. Для инженеров полного стека, которые могут сделать из единиц и нулей что угодно, графический интерфейс — это клетка для птиц, которая мешает им взмыть в небо.

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

Недостаточная масштабируемость. Опытные разработчики тратят годы, чтобы научиться создавать масштабируемые приложения, но можно ли в этом плане довериться платформам Low-code ? Масштабирование действительно может отлично работать в демонстрационной версии приложения, описывающей двухшаговый процесс, который принесет пользу десяти пользователям, но что если его одновременно будут использовать десять тысяч пользователей? Это частые вопросы на демонстрациях Low-code.

Актуальность проблемы

Это обоснованные опасения и реальные проблемы. Но они актуальны только из-за отсутствия процесса. Разработка приложений с помощью Low-code — это не серебряная пуля, которая положит конец проектированию полного стека и традиционным ИТ, но она может стать новым полезным инструментом для массового применения. Прежде чем использовать платформу приложений Low-code, вы должны разобраться с ее ограничениями и оптимальными сценариями применения. Отрицать их полезность только потому, что они слишком просты или не могут делать все, значит открыто признать, что вы не читали документацию.

Инструменты Low-code позволяют в сжатые сроки развернуть БД с формой сбора данных, которая автоматически отправляет запросы на утверждение и задания, тогда как инженеру полного стека потребовалось бы делать это с нуля. Можно ли добавить к этой БД больше функций, если делать это с нуля? Безусловно. Но все же именно предприятию решать, какое решение следует использовать, учитывая уровень усилий, доступные ресурсы и сроки.

Преимущества Low-code для профессиональных кодеров

Ускоренная разработка. В традиционной разработке приложений есть строительные блоки, с которыми имеют дело все кодеры. К ним в том числе относятся БД (списки и формы с SQL-запросами) и внешние интерфейсы (веб-сайты, системы отчетов и уведомлений). Если платформа Low-code для разработки приложений позволяет создавать их так, как вы хотите, или даже если она делает только 90%, но в девять раз быстрее, а последние 10% вы делаете вручную, то тогда строительные блоки больше не являются вашей проблемой. Теперь вы можете сосредоточиться на более интересных, специализированных, инновационных проектах.

Больше делегирования. Популярность так называемой гражданской разработки не случайно коррелирует с ростом популярности Low-code. Когда я работал в Калифорнийском университете, у моей команды часто накапливались запросы на новые приложения и функции, которые, если бы мы сказали всем «да», заняли бы месяцы или годы, без учета текущих операций по обслуживанию. Хотя это помогло нам продемонстрировать, что мы нуждаемся в дополнительных ресурсах, клиенты начали жаловаться на нашу медлительность. Платформа Low-code позволила нам обучать людей, не являющихся разработчиками, самим создавать приложения и функции. Чем больше мы занимались обучением, делились лучшими примерами применения и т. д., тем легче нам было работать над всем остальным.

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