Платформы Low-сode полны обещаний, но как они работают в реальном мире? Различные аспекты методологии разработки с минимальным кодированием обсуждают опрошенные порталом InformationWeek эксперты.
До недавнего времени только программисты обладали властью писать код, который управлял различными аспектами нашей профессиональной и личной жизни. То, что они создавали, остальные учились использовать, чтобы функционировать во все более цифровом мире. Но вскоре ПО съело весь мир, и иерархии программирования пришлось придумывать новый план, чтобы прокормить его. Платформы Low-code были быстро разложены по блюдам и поданы на стол. Теперь вопрос заключается в том, является ли Low-code сытной и полезной едой или нездоровой пищей.
«Low-code может быть похож на фастфуд: быстро и в яркой упаковке, но вредно для вас, вашего сообщества и вашей экосистемы», — предупреждает Шон О’Брайен, преподаватель Йельской школы права и Оксфордской программы кибербезопасности.
Но Low-code может быть вкусным, особенно когда целью является скорость и маневренность по дешевке. А они всегда являются целью.
Ответ на вопрос, хорош ли Low-code для вашей компании, — «зависит от ситуации». И эта зависимость в первую очередь определяется тем, кто его использует.
«Если Low-code рассматривается как сугубо ИТ-инструмент и исключает применение бизнес-пользователями — так же, как и ручное кодирование, — вы серьезно рискуете создать новый технический долг, но на этот раз с картинками», — говорит Рейчел Бреннан, вице-президент по маркетингу продуктов Bizagi.
Однако, когда платформы Low-code используются в равной степени как гражданскими, так и профессиональными разработчиками, вопрос переходит в плоскость «как» это используется, а не «кем».
Но сначала важно отметить различия между платформами Low-code для профессиональных и гражданских разработчиков. Low-code для широких масс обычно означает визуальные инструменты и простые фреймворки, которые маскируют сложные кодовые операции, лежащие в основе. Как правило, эти инструменты реально использовать только для довольно простых приложений.
«Инструменты Low-code для профессиональных разработчиков также предлагают инструментарий, фреймворки и возможности перетаскивания, но помимо этого включают возможность кодирования, когда требуется кастомизировать приложение — например, для разработки API, интеграции приложения с другими системами или настройки фронтенд-интерфейсов», — объясняет Мигель Вальдес Фаура, генеральный директор и соучредитель Bonitasoft.
Что хорошо в Low-code
Организации получают явные преимущества от использования платформ Low-code, которые «ускоряют разработку приложений по сравнению с традиционными методами ручного кодирования, предоставляя фреймворк и многократно используемые компоненты. Ускоряя разработку приложений, компании могут быстрее выходить на рынок и оттачивать свои конкурентные преимущества», — говорит Айзек Гулд, менеджер по исследованиям Nucleus Research.
Среди других преимуществ он называет:
— уменьшение трения между ИТ-специалистами и бизнес-пользователями благодаря возможности совместной работы с помощью инструментов. Например, бизнес-пользователи могут разрабатывать рабочие процессы и структуру приложения, в то время как разработчики управляют более сложными аспектами цикла DevOps, такими как интеграция и устранение неполадок;
— сокращение расходов на оплату услуг собственных и сторонних разработчиков. Это достигается за счет использования платформ Low-code для разработки приложений, которые могут устранить пробелы в функциональности или даже полностью заменить корпоративные решения. Например, инвестиционная компания, открывающая офис в новом регионе, столкнется с новыми нормативными требованиями. Вместо того чтобы развертывать новую ERP-систему, способную управлять региональными требованиями, что может занять от нескольких месяцев до года, компания разрабатывает и внедряет механизм отслеживания соответствия за несколько недель.
Low-code также снижает входной барьер для армии гражданских разработчиков, работающих внутри или вне вашей компании.
«Простое приложение, созданное гражданским разработчиком, может быть превращено ИТ-специалистом в общекорпоративное решение для массового внедрения. Такое приложение было создано тем, кто ближе всего к проблемам, которые приложение стремится решить, что способствует его широкому использованию», — говорит Динеш Варадхараджан, директор по продуктам Kissflow.
Кроме того, Low-code хорош тем, что помогает постоянно пополнять кадровый резерв.
«Дети начинают пользоваться компьютерами уже в три года, а школьники начальных классов уже работают в средах Low-code», — говорит Майкл Хунгер, старший директор по пользовательским инновациям Neo4j.
По его словам, Low-code — это благо для привлечения людей к обучению в области STEM (Science, Technology, Engineering, Mathematics) , поскольку он «стимулирует их к пониманию более технических тем и доказывает, что обычные люди способны обучаться сложным навыкам».
Еще одно место, где Low-code может быть полезен, — это самореализация людей, желающих сделать что-то свое и по-своему.
«Разработка Low-code — это термин, который относится к использованию хорошо разработанных инструментов для упрощенного и эффективного создания цифровых продуктов. В качестве примера можно привести Wix, Squarespace, WordPress и подобные платформы, которые позволяют быстро развертывать современные веб-сайты с минимальными затратами или вообще без кодирования», — говорит Майкл Файнберг, технический директор компании Hadean.
По его словам, эта стратегия оказалась весьма эффективной для малого бизнеса, «а также для тех, кто испытывает технологические потребности в сайте-брошюре». Но она также может быть использована в электронной коммерции и аналитике, и оба этих направления «могут быть так же легко включены под зонтик Low-code».
Что плохо в Low-сode
Хотя плюсы манят, эта технология, как и все остальные, имеет послевкусие. Другими словами, после радости всегда остается «но».
«Можно спорить о том, является ли подход Low-code удачным или нет, но можно с уверенностью сказать, что когда вы выбираете этот вариант, вы упрощаете общие сложности, связанные с разработкой, заключая контракты на части технологического стека. В этом случае вы просто надеетесь, что выбранный вами инструмент соответствует вашим потребностям сегодня и в будущем, — говорит Стив Сьюэлл, генеральный директор Builder.io. — К сожалению, такая система не работает в условиях роста и масштабирования организации. Предприятия постоянно убирают и заменяют части своего стека, чтобы быть такими же динамичными, как их растущий бизнес. С инструментами Low-code вам придется перелопачивать все, что вы уже создали в рамках выбранной платформы разработки, что далеко от идеала».
Это не единственное, что может испортить ситуацию.
«Ваша платформа Low-code может вступить в противоречие с существующей кодовой базой. Когда мы создавали свой визуальный конструктор страниц, мы знали, что потеряем потенциальных клиентов, если наш продукт не будет интегрирован с React, Vue, ванильным JavaScript и всеми другими фреймворками/языками веб-разработки, и это было для нас главным приоритетом», — говорит Ян Чжан, генеральный директор Plasmic.
По его словам, даже если ваша платформа работает, вы все равно можете столкнуться с тем, что вам придется обращаться к разработчикам с просьбами быстро исправить ситуацию, найти обходные пути или оказать техническую поддержку. Хотя все эти проблемы должны были быть устранены на уровне платформы.
Более того, все может оказаться еще хуже.
«Самое неприятное в платформах Low-code — это ошибки, — говорит Марк Ферраду, вице-президент по стратегии grid.ai. — По определению, вы получаете обертку вокруг кода, и вы надеетесь, что она отображает ошибки в удобном для человека виде. Однако это не всегда так, и, кроме того, трудно охватить все крайние случаи. Поэтому вы можете получить ошибки, которые не сможете понять. И вы можете застрять и не знать, почему».
По его словам, хуже всего, когда сообщения об ошибках не поступают, и конечный пользователь чувствует на себе всю тяжесть их последствий.
Но Low-code может стать еще более уродливым, если использовать проприетарные языки сценариев и не иметь контроля версий (это зависит от платформы, конечно).
«Платформы Low-code иногда предлагают собственные языки, которые вы можете использовать, чтобы выйти за рамки функциональности drag-and-drop. И вашей команде приходится учить совершенно новый язык, причем такой, который подходит только для этой конкретной платформы. Это сводит с ума», — говорит Чжан.
По его словам, лучше иметь платформу, которая позволяет вам кодировать на широко распространенном языке, а не на том, который компания создала самостоятельно. По крайней мере, тогда вам не придется обучать кого-то, чтобы добиться результата.
Скептики сходятся в том, что не существует волшебного короткого пути к созданию хорошего кода.
«С точки зрения разработчика, мы обычно избегаем „магических“ решений — мы не можем полностью увидеть или понять, как они работают, и поэтому не имеем полного контроля над ними. Это делает код менее гибким, что, как правило, является главным недостатком», — говорит Стефан Торп, главный инженер компании Cherre.
Общая картина
Как и у всего остального, у платформ Low-code есть поклонники и противники. Ключевым моментом в определении того, подойдут ли эти платформы для вашей компании, является тщательное определение результата, к которому вы стремитесь, и на основе этого выбор используемых инструментов.
«Платформы Low-code могут обеспечить некоторые краткосрочные преимущества, возможно, для нетехнических специалистов для создания решений из-за нехватки разработчиков. И, возможно, они могут быть достаточны для решения некоторых внутренних задач. Но когда приходит время создавать внешние приложения для обеспечения конкурентного преимущества, эти платформы в основном не помогают», — говорит Эрик Гфессер, директор и главный архитектор Deloitte Global.
По его словам, компаниям, как минимум, необходимо осознать, во что они могут ввязаться при выборе такой платформы, чтобы иметь возможность активно планировать на долгосрочную перспективу. «Как выясняется, большинство приложений просто имеют более длительный срок службы, чем предполагалось изначально», — отмечает Гфессер.