Главный технолог Boomi Майк Кирси рассказывает на портале Information Age о преимуществах и недостатках технологии Low-code.
По оценкам различных аналитических компаний, в прошлом году в мире насчитывалось от 19 до 24 млн. инженеров-программистов. Ожидается, что в ближайшие несколько лет эти цифры будут расти, но несмотря на это в мире по-прежнему ощущается нехватка опытных специалистов. Это отражает неумолимо растущую потребность в ПО, независимо от того, поставляется ли оно локально или через мультиоблако, как частное, так и публичное. Цифровые технологии продолжают вытеснять «аналоговое» управление бизнес-процессами, зачастую они становятся доминирующими. Однако зависимость от ПО и разработчиков создает проблемы для бизнеса. И если более широкие аспекты бизнеса могут решаться с помощью основных пакетов приложений, то практически у каждой компании имеются уникальные функции, для выполнения которых требуется специальный софт.
Например, компании может потребоваться обновить пользовательский интерфейс унаследованного приложения. Проблема заключается в том, что независимо от того, заключает ли она контракт на выполнение этой работы с поставщиком или задействует собственного программиста, кастомизация требует больших затрат времени и средств. В этом случае предприятиям не удается сэкономить на масштабе, когда применяются популярные корпоративные пакеты ПО, и в итоге небольшим ИТ-командам в экстренном режиме приходится решать критически важные задачи.
Устранение пробелов в разработке
Чтобы помочь их разрешить, ИТ-поставщики все чаще предлагают платформы типа Low-code или No-code. Их названия намекают на то, что для их настройки требуются приложить минимальные усилия, при этом пользователи работают в визуальных интерфейсах и им не нужно набирать код. У этих платформ имеется масса преимуществ. Вместо того, чтобы каждый раз начинать проект с нуля, ИТ-команды могут продолжить работу с середины и вносить необходимые изменения. В результате время разработки сокращается — в некоторых случаях с месяцев до недель. И чем раньше будет выпущено приложение или обновление ПО, тем скорее компании и их клиенты получат выгоду.
Еще один плюс для разработчиков — некоторые проекты можно полностью исключить из их списка дел. Наличие качественной платформы Low-code позволяет делегировать ее настройку коллегам, которые не обладают навыками разработки. Чтобы вносить изменения, необходимые их работодателю, так называемые «гражданские разработчики» со скудными техническими познаниями могут использовать предварительно подготовленные блоки кода. Они также могут вносить изменения в ПО и даже развертывать микроприложения, не отвлекая ИТ-команды от более важных дел.
Как и многие другие средства автоматизации, платформы Low-code высвобождают время разработчиков, чтобы те меньше отвлекались на несущественные обращения от своих коллег и могли сосредоточиться на более значимых для них проектах, к примеру, на цифровой трансформации. Помимо этого Low-code открывает индустрию ПО более широкой аудитории людей, желающих проявить себя творчески, но не обладающих достаточными выдержкой, опытом, пониманием структуры программирования и математическими навыками, необходимыми для профессионального разработчика.
Плюсы и минусы Low-code
Применение более обширной базы кода, которая включает код, генерируемый платформами Low-code, несет определенную выгоду для профессионалов. Задействуя такие платформы, предприятие может передавать определенные элементы, включая безопасность, на аутсорсинг поставщикам платформ. В новом коде наверняка будут не выявленные вовремя уязвимости, потому что он писался в спешке, в то время как пользовательские элементы, построенные на базе Low-code, опираются на обновления поставщиков и исправления сообщества.
Нужно заметить, что применение таких платформ грозит клиентам привязкой к одному поставщику, о чем им обязательно необходимо знать. Тем не менее, на рынке существует много доступных по подписке платформ, которые могут работать с другим программным и аппаратным обеспечением.
Помимо расширенной совместимости, профессиональным разработчикам требуется, чтобы платформы Low-code позволяли добавлять дополнительные функции в любое приложение. Например, бывают ситуации, когда пользовательскому приложению, которое создано гражданскими разработчиками, недостаточно функционала типа drag and drope. В этом случае разработчикам следует собрать данные из бэкэнд-приложений в единое рабочее приложение, сопоставленное с бизнес-процессами.
Чтобы платформа Low-code могла работать с расширениями, ей потребуется набор средств разработки (SDK), который совместим с программными средами, в первую очередь с Java, или такими языками программирования, как C#. Она также должна сочетаться с DevOps, то есть поддерживать Agile-практику быстрой итерации новых версий с минимальной зависимостью от кода.
Разработчики также не должны допускать, чтобы гражданские пользователи непреднамеренно накапливали технический долг, с которым им придется разбираться. Платформы Low-code рассчитаны на коллективную работу, что повышает риски, и поэтому вопрос интеграции для них — один из важнейших.
Они отлично подходят для разработки, но, как правило, предлагают слишком хрупкий интерфейс интеграции. По мере того, как растет сложность ИТ-системы, что обусловлено, например, приемом на работу новых сотрудников или ростом базы клиентов, также растет и количество интеграций для обслуживания бизнес-процессов. Многие организации пытаются решить эту проблему, попросив своих разработчиков написать коннекторы, но это ошибочное решение. В результате из-за трудоемкой, жестко запрограммированной, двухточечной интеграции, необходимой для соединения разрозненных систем, теряется весь смысл быстрой разработки приложений.
Low-code пользуется растущим спросом
Популярность платформ Low-code/No-code для создания ПО, адаптированного к потребностям бизнеса, продолжает расти. Gartner прогнозирует, что к 2024 г. с их помощью будет создаваться две трети корпоративных приложений. Преимущества такого подхода очевидны: разработка стала более доступной, дешевой и простой. При этом, чтобы предприятие получало выгоду, ему требуется обеспечить совместимость новых решений с имеющейся архитектурой.