Все больше поставщиков средств разработки предлагают платформы Low Code, позволяющие создавать приложения без профессиональных познаний в программировании. Некоторые даже обозначают такие продукты термином No Code, заявляя, что они вообще не требуют написания кода.
Демонстрации подобных платформ выглядят эффектно: парой щелчков мыши запускается целый стек ПО, еще несколько щелчков, и он интегрирован с офисной службой каталогов — все сотрудники могут входить в систему и приступать к работе. Еще щелчки, и система начинает выдавать электронные таблицы отчетов.
И все же, прежде чем соблазниться заманчивой перспективой компоновать приложения перетаскиванием элементов, стоит учесть ряд потенциальных недостатков систем Low Code, одним из главных среди которых является опасность чрезмерного доверия средствам автоматизации. Привыкнув доверять машинам, люди могут перестать думать самостоятельно: если алгоритм советует что-то, рекомендацию принимают, не задумываясь. Однако подобное легкомыслие не раз приводило к печальным последствиям. Например, в 2016 году из-за масштабного сбоя компьютерных систем авиакомпании British Airways в аэропортах по всему миру выстроились огромные очереди на регистрацию, было задержано множество вылетов — все из-за того, что резервный план на случай отказа компьютеров предусмотрен не был.
Еще одним недостатком решений Low Code может быть их ориентированность на большинство: если у вашего бизнеса есть какие-то особенности, чтобы их учесть, возможностей пользовательской настройки платформы с минимальным кодированием сможет оказаться недостаточно. Связанная проблема — перегруженность возможностями ради универсальности и чрезмерно сложные механизмы автоматической адаптации производительности к различным условиям работы сети. Последнее маркетологи преподносят в качестве преимущества, но во многих случаях код, написанный вручную человеком, который знает особенности ИТ-инфраструктуры своей организации, будет работать эффективнее.
Малокодовые платформы, позволяющие неспециалистам создавать системы на основе алгоритмов искусственного интеллекта, например, для прогнозирования спроса или анализа корпоративных документов, могут оказаться «предвзятыми»: модели ИИ, создаваемые автоматизированными средствами, не защищены от систематических ошибок, которые будет трудно обнаружить и устранить.
В некоторых случаях облегчение разработки, которое обещают системы Low Code, сомнительное. Придирчивые заказчики могут изматывать разработчика просьбами подвинуть кнопку в пользовательском интерфейсе на пару пикселов или добавить насыщенности красному фону. Допустим, в последнем случае платформа Low Code заменяет вызов библиотечной функции на диалоговое окно, в котором нужно ввести значения красной, зеленой и синей составляющих нужного фонового цвета. Однако это будет ничуть не быстрее, чем написать строчку кода на Java или C++.
В заключение — о скрытых затратах: если «волшебная» система компоновки приложений дала сбой, то чтобы разобраться в причинах, может понадобиться квалифицированный программист. Могут быть нестандартные задачи, на решение которых платформа не была рассчитана; возможны ошибки и отказы, вызванные чрезмерной нагрузкой на систему, — во всех подобных случаях решение найдет лишь профессионал, умеющий писать реальный код.