Все мы в последнее время довольно много слышим о платформах low-code/no-code. Платформы без кода обещают сделать разработку программного обеспечения столь же простой, как использование Word’а или PowerPoint’а, чтобы обычный бизнес-пользователь смог продвигать проекты без дополнительных затрат (денег и времени) на команду инженеров. В отличие от платформ без кода, low-code по-прежнему требует определенных навыков программирования, однако обещает ускорить разработку программного обеспечения, позволяя разработчикам работать с предварительно написанными компонентами кода.
Согласно Gartner, к 2024 году 65% разработанных приложений будут относиться к low-code.
Еще в 2017 году я участвовал в сравнительном тестировании производительности традиционной разработки (с использованием Java) и проектом low-code/no-code, основанном на моделях. Результаты были впечатляющими: при использовании метода low-code/no-code производительность увеличивалась в 5-7 раз. Опрос, проведенный компанией No-Code Census в 2020 году, показал прирост производительности в 4,6 раза по сравнению с традиционным программированием.
Low-code/no-code: Фрагментация платформы
Область low-code/no-code довольна сложна и включает в себя многочисленные решения, платформы и субрынки. Например, существуют субрынки, ориентированные на крупные, средние и малые предприятия. Корпоративные платформы low-code/no-code обеспечивают высокую масштабируемость, производительность, безопасность и интеграцию с приложениями предприятия. Они, как правило, дороже остальных. Ниже представлен Магический Квадрант Gartner для корпоративных low-code платформ:
Gartner дает платформе low-code (LCAP) следующее определение: «Это платформа, которая поддерживает быструю разработку приложений, одноэтапную раскатку, выполнение и управление с использованием декларативных абстракций программирования высокого уровня, таких как языки программирования на основе моделей и метаданных.»
G2 предлагает аналогичный обзор для малого бизнеса. Рынок платформ для малого бизнеса и для корпораций не особо пересекается. Некоторые поставщики платформ для малого бизнеса не столь известны и популярны в больших корпорациях. Аналогично малые и средние предприятия обычно не склонны покупать корпоративные платформы, в первую очередь из-за их цены и сложности.
Неудивительно, что многие платформы low-code являются платформами управления бизнес-процессами. BPM уже давно поддерживает разработку на основе моделей (Model-driven Development), где нужно нарисовать диаграммы, объясняющие, как должно работать программное обеспечение, прежде чем его создавать. Эта схема похожа на процессный подход BPM, при котором для задания бизнес-процесса необходимо в правильном порядке расположить блоки, представляющие собой подпроцессы. (Самым популярным стандартом отображения процессов, поддерживаемым большинством BPM-платформ, является BPMN). Поэтому процессно-ориентированные решения достаточно популярны. Примерами low-code/no-code платформ для BPM являются Appian, Pega, Outsystems.
Но существуют и другие примеры под эгидой low-code/no-code:
Веб-платформы для использования предприятиями любого размера. Ведущими конкурентами являются WordPress, Wix, Squarespace и WebFlow.
Платформы управления базами данных, начиная от таких, как Mendix, и заканчивая такими, как Airtable. Существуют также low-code/no-code платформы баз данных NoSQL, например, KgBase, предназначенная для построения графов знаний.
Платформы с автоматизированной интеграцией, среди которых несколько новых и интересных, например, Zapier, Parabola и Integromat. С помощью них вы можете быстро разрабатывать мощные и сложные схемы интеграций. Вот пример рабочего процесса Parabola, в котором данные извлекаются из API, с ними выполняются некоторые действия, а затем данные отправляются в другой API. Процесс можно запускать по запросу, по расписанию или через вебхуки.
Разработка мобильных приложений. Большинство платформ low-code/no-code, таких как Bubble, предоставляют возможности адаптивного пользовательского интерфейса, другие предлагают встроенную поддержку ведущих мобильных OC (iOS и Android). Thunkable – пожалуй, лучший пример low-code/no-code платформы для разработки мобильных приложений.
Многие из этих платформ предоставляют огромные коллекции подключаемых модулей и шаблонов для определенных типов приложений.
Другие категории платформ нацелены на определенные области или ниши приложений:
E-commerce и онлайн-магазины: лидирующим примером здесь является Shopify.
Управление рабочим процессом: отличный пример – Monday.com.
Приложения ERP (планирование ресурсов предприятия): в качестве интересного примера (также указанного в MQ Gartner) можно привести Zoho. Еще одна важная и впечатляющая платформа для ERP и CRM – это Salesforce.
Блокчейн и Интернет вещей: Atra.
Искусственный интеллект: сейчас мы начинаем наблюдать появление таких инструментов, как C3 AI Ex Machina.
Челленджи low-code/no-code
Платформы low-code/no-code имеют множество преимуществ, но в то же время создают определенные трудности и требуют обучения для работы с ними. Многие передовые практики только появляются и относительно незрелы, и следовательно, растет ответственность при их использовании. Что касается традиционного программирования, здесь накоплен огромный опыт, существуют сильные сообщества, а передовые практики задокументированы. Во многих отношениях low code/no-code находится в зачаточном состоянии даже несмотря на то, что разработка на основе моделей существует уже давно (особенно платформы BPM).
Вот некоторые из наиболее серьезных проблем:
1. Необходимость изменения культуры: low-code/no-code требует изменения культуры организации, будь то корпорация или стартап. Изменить культуру для избавления от лишних процессов непросто, это требует схожего видения и одобрения руководства, а также выделения бюджета и полномочий для центра компетенций по цифровой трансформации low-code/no-code.
2. Время и усилия на изучение платформ: low-code/no-code увеличивает скорость и производительность, но инструменты и платформы нетривиальны, и для развития необходимого уровня владения ими требуется время. Это один из наиболее неправильно понимаемых аспектов low-code/no-code. Сложные программные конструкции, такие как вложенные циклы, не так уж и просты на любой платформе.
3. Необходимость использования нескольких платформ: одни платформы имеют более полную функциональность, другие нет. Unqork и Bubble, например, предназначены для любого сценария использования и поэтому предлагают множество вариантов интеграции с корпоративными системами. Кроме того, они могут взять много полезного из других компонентов, специализирующихся в определенных областях; например, Bubble вместе, скажем, с Parabola или плагином Zapier можно использовать для автоматической интеграции. С возможностями управления данными и интеграциями в Parabola или Zapier работать легче, чем с нативными от Bubble. Существуют и другие плагины или технологические компоненты, дополняющие платформы low-code/no-code: посмотрите, например, список технологических партнеров Unqork или полный список плагинов для Bubble.
4. Недостаточность ресурсов и поддержки сообщества: в мире существуют миллионы, или даже десятки миллионов разработчиков обычных языков программирования, множество онлайн-курсов, а также книги и материалы, доступные для таких языков, как Java или C#, есть множество сообществ и ресурсов для аутсорсинга. Совсем иначе дела обстоят для low-code/no-code, особенно для более новых платформ.
5. Сбивающее с толку ценообразование: корпоративные low-code/no-code платформы, как правило, неоправданно дороги. Платформы для среднего и малого рынка менее затратны, но, как правило, менее масштабируемы. А использование нескольких платформ для создания комплексного решения еще больше усложняет вопросы ценообразования.
Это лишь некоторые из основных проблем. Они ясно дают понять, что low-code/no-code не панацея. Тем не менее, такой подход остается серьезной тенденцией для разработки инновационных решений как для действующих предприятий, так и для стартапов.
Нам же следует ожидать, что по мере того, как эта область будет продолжать развиваться, мы будем узнавать о новых трудностях и неудачных проектах. Но преимущества, особенно в ускорении темпов развития и производительности, обязательно победят.
Готовы ли вы к переходу на low-code/no-code?
Примечание переводчика: что касается нашей компании, она предоставляет как low-code/no-code продукт – омниканальный облачный контакт-центр Voximplant Kit с широкими возможностями автоматизации обслуживания клиентов, так и serverless-платформу Voximplant для традиционной разработки с набором API для создания голосовых, видео- и текстовых коммуникаций.
Fen1kz
Вангую следующее — такие платформы умерят дизайнерские и фишечные аппетиты менеджмента, стандартизируя UX, в результате окажется что если не требовать от разработчиков всякой фигни — обычные программиные решения и библиотеки так же справятся неплохо. И от распространения этих платформ будет падать средняя стоимость разработки вообще, что будет замедлять их распространение.
По моему 5+ летнему опыту две трети усилий по разработке тратятся на не особо нужные хотелки. "хотим тут чтобы футер менял цвет". "хотим чтобы можно было выбирать фото и видео одной кнопкой". "хотим кнопку удаления сущности вот в этом подменю вот этой подсущности" — и все, архитектура не выдерживает, код пачкается, и т.д.
А когда менеджеры привыкнут, что что-то нельзя и есть стандартные UX решения — то и просто разработка подешевеет, а стало быть такие платформы станут менее актуальными.
Albedo039
Вот это вот все что вы описываете позволяет проектам с свистелками/перделками/уникальным UX уничтожать на рынке типовые проекты сотнями.
Более того, при современной плотности рынка свистелки/пердели это единственная способность завоевать какую либо долю рынка или попросту не загнуться.
Вангую, что типовые решения как были фуфлом так им и останутся.
А разработка будет дорожать, так как нужно конкурировать с конкурентами конкурентно.
Win08
Даже интересно узнать хотя бы про пару примеров. Что-то ничего найти не могу. А вот когда за свистелками/перделками ничего найти не получается… то 99% стартапов и загибаются.
Albedo039
В статье рассматривается противопоставление шаблонного проекта и уникальной разработки. Пример: любая CRM допиленная под клиента против уникального хорошо написанного проекта для тех же целей. Чем больше проект, тем больше ограничений будет вносить архитектура и шаблоны конкретной платформы.
В вашем примере сопоставляются 99% стартапов со свистелками против 1% существующих стартапов с реализованными свистелками и кучей клиентов.
Если вы против этого 1% попробуете выкатить шаблонное приложение, то его никто не заметит совсем.
Win08
Получается наоборот. Сотни и тысячи сидят на типовом решении, а 10% допиливают, иногда сильно, под себя… и умирают (((
С чего Вы решили, что допиливание свистелок и перделок было/стало причиной появления кучи клиентов?
MockBeard
а потом поверх слоя noCode появится слой-обертка, только с разноцветными кнопками и мигающими свистоперделками
mrbald
VBA?
DenisTrunin
В целом да. Т.е. вся идея low code — это не то, что что-то делается проще, а то что убирается возможность «выстрелить себе в ногу», когда люди отступают от стандартных практик.
Также одно из преимуществ — это уменьшение цепочки между конечным пользователем и разработчиком. Т.е. в классическом подходе пользователь может хотеть чтобы «футер менял цвет», а до разработчика это требование может дойти совершенно другим. А в лоу код пользователь это может поменять сам(ну или попросить напрямую разработчика)