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

Из-за пандемии многие цифровые процессы ускорились, в том числе набрала популярность тенденция к упрощению интерфейсов, которые позволяют сотрудникам без навыков профессиональной разработки разрабатывать приложения, пишет на портале ZDNet независимый аналитик Джо Маккендрик. Такие решения известны на рынке как Low-code/No-code. Примечательно, что они являются подспорьем не только для непрофессионалов, но и программистов, которые охотно задействуют их, чтобы ускорить свою работу. В то же время некоторые отраслевые наблюдатели отмечают, что в ближайшее время гражданские разработчики не заменят профессионалов.

Нет никаких сомнений в том, что новый толчок популяризации экосистемы Low-code/No-code придала пандемия, а вместе с этой активностью начало расти число доступных на рынке платформ. «Применение предварительно установленных программных компонентов и фреймворков для ускорения индивидуальной разработки не является чем-то новым. Быструю реакцию поставщиков платформ разработки на раннем этапе кризиса, вызванного Covid-19, можно рассматривать как сигнал для появления прескриптивных платформ Low-code», — утверждают в отчете «Prescriptive Low-Code: The New Quest To Marry the Best of Packaged And Custom Apps» аналитики Forrester Джон Братинцевич и Джон Раймер.

Акцент на прескриптивности (предписательном характере действий) не случаен, поскольку прескриптивные платформы — это не просто инструменты, которые предназначены для компоновки и настройки корпоративных приложений с помощью визуальных компонентов, «подобных кубикам Lego блоков с бизнес-функциональностью». «Они выделяют бизнес-функции в отдельные бизнес-компоненты, которые управляют обработкой счетов, бухгалтерскими книгами, расписаниями и графиками, адаптацией и другими бизнес-функциями», — пишут авторы отчета. Тем не менее, прогресс Low-code/No-code зависит от того, насколько далеко готовы зайти вендоры: «Большинство сторонников прескриптивного Low-code — это небольшие поставщики, от которых требуются серьезные обязательства перед клиентами — они должны обладать опытом как в сфере бизнеса, так и в сфере платформенной разработки».

Нужно понимать, что во многом «low-code» и «no-code» — это вечное обещание, которое повторяется каждые несколько лет. «Нам обещают, что будущее разработки превратится в „no-code“, но так ли это на самом деле, если количество разработчиков в сфере ИТ растет и, по прогнозам, будет расти?», — вопрошает CTO Capgemini Стив Джонс.

Он вспоминает, как в 1990-х определенные среды Windows выступали в качестве платформ «low-code», а позже за ними последовали платформы Java: «Я помню, как применял для визуального моделирования Swing GUI такой инструмент, как VisaJ, который позволял генерировать код Java без кодирования. После перехода к BPEL и BPMN поставщики говорили, что это не код, а метаданные, затем мы пришли к „мешапам“, которые позволяли быстро создавать приложения, управляемые данными, и объединять их вместе».

Чтобы определить дееспособность приложений Low-code или No-code Джонс предлагает ответить на один простой вопрос: «Задействуете ли вы в разработке if-оператор или его эквивалент?». Если да, то эти условия необходимо протестировать, добавляет он, отмечая, что среды Low-code и No-code следует называть средами «no-test» (без тестирования). «Люди быстро создают вещи, быстро развертывают их и затем сожалеют об этом. Факт, который не требует доказательств: каждое последующее поколение технологий ускоряет выход некачественных решений», — говорит он. По словам Джонса, в идеале эти среды нуждаются в методах автоматического управления ошибками, которые совершают пользователи.

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

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

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

Со своей стороны авторы отчета Forrester отмечают, что независимо от того, насколько прогрессивными являются решения с небольшим объемом кодирования, ИТ-специалистам все равно придется выполнять большой объем работы вручную. «Не думайте, что „без кода“ — значит „без работы“, — советуют они. — Поставщики прескриптивных платформ говорят, что бескодовая разработка позволяет ускорить выход и эволюцию решений, а также потенциально сокращает технический долг. Однако они не гарантируют, что в ходе реализации важных проектов бизнес-эксперты смогут обойтись без передовых методов разработки и реализации. Предметная дисциплина по-прежнему имеет значение».

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