Low-code и no-code: когда целесообразно использовать новые технологии?

Логотип компании
Low-code и no-code: когда целесообразно использовать новые технологии?
Набирают популярность новые подходы к разработке корпоративных приложений, главный смысл которых в том, чтобы минимизировать количество программирования (количество кода) и расширить количество участников, вовлеченных в создание продукта.
Традиционно разработка – это узкое место в создании приложений: программистов не хватает, и любые идеи, которые генерируются в бизнесе, попадают в это узкое бутылочное горлышко. Идея low-code и no-code решений – как раз выпрямить это горлышко, облегчить процесс, чтобы больше решений доходило до реализации.

Между low-code и no-code есть различия, хотя подходы их и схожи. В no-code программирования нет вовсе, вся настройка выполняется исключительно при помощи визуальных конструкторов и диалогов. В случае low-code используются как функции no-code, так и программирование одновременно. Это чисто функциональная разница, но в плане применимости систем различий гораздо больше. Рассмотрим их в этой статье.

No-code решения

No-code — революционная тенденция последних лет. Создано огромное количество решений, которые без программирования позволяют создавать различные решения, не имея каких-либо технических навыков. Это относится не только к корпоративной разработке: например, те же сайты сейчас уже мало кто пишет с нуля, проще использовать продукты вроде Tilda, которые позволяют быстро накликать решение — и не только его функциональную часть, но и дизайн. Есть продукты, которые позволяют собирать без единой строчки кода интернет-магазины, создать интернет-рассылку, собирать чат-ботов и тому подобное — с этим справляется человек, который поставил бизнес-задачу и может не вовлекать или почти не вовлекать серьезных технических специалистов.

Здесь я в первую очередь говорю о решениях, которые закрывают нишу бизнес-приложений и служат для решения задач в сегменте enterprise.

Первая группа продуктов позволяет создавать бизнес-приложения целиком. Например, это Bubble и его аналоги. Такие продукты позволяют без программирования полноценно создать бизнес-приложение на всех уровнях — спроектировать и визуал интерфейса готового приложения, и базу данных. Есть простые движки, которые позволяют управлять workflow — строить бизнес-процессы в упрощенном формате последовательности шагов. Одновременно благодаря богатой библиотеке плагинов можно интегрировать в решение все, что угодно — библиотека здорово разрастается, и можно создавать бизнес-приложения без программирования. Естественно, уйдет много времени на освоение самого продукта, но программировать не придется. Разработчик утверждает, что можно создавать такие сложные решения и системы как, например, онлайн-сервис по продаже билетов или аналоги Facebook или Instagram.

Другая группа популярных продуктов решает задачу интеграций. Это больное место при любой разработке, потому что мало сделать продукт — важно его встроить в информационное пространство. Существует семейство продуктов, которые позволяют интегрировать все, что угодно: ваши системы со всевозможными сервисами, социальными сетями, файлообменниками, продуктами Office и Google и тому подобное. Это делается в визуальном формате — в виде диаграммы выстраивается связь приложений, способы передачи данных и тому подобное. И подобных примеров множество. Наиболее популярные из них - Integromat (Make) и Zappier.

 

Сейчас каждый день появляются новые приложения, закрывающие самые разные задачи: управление приложениями, интеграции, работа с данными, построение сайтов и даже создание более сложных продуктов — умных чат-ботов, решений с искусственным интеллектом и тех, которые работают с big data и machine learning.

Плюсы no-code решений

У такого подхода много преимуществ:

  • намного выше скорость разработки по сравнению с классической разработкой;

  • низкий порог входа — можно очень быстро начать создавать решение самостоятельно;

  • простая интеграция;

  • решение работает в различных средах и стоит недорого по сравнению с традиционными инструментами корпоративной автоматизации (есть даже бесплатные тарифы).

Все это делает продукты класса no-code отличным решением для тестирования гипотез и для прототипов стартапов, позволяя с нуля создать некий абстрактный вариант реализации полноценного бизнеса — когда ничего нет, но продукт будет работать.

Минусы no-code решений

Продукты класса no-code стремятся сделать максимально простыми и снизить порог входа. За счет этого все они ограничены функционально, и ничего с этим сделать нельзя, потому что нельзя программировать, нельзя расширить возможность продукта, часто нельзя подключать сторонние модули и решения — только то, что разрешает разработчик.

Решения слишком просты

Чтобы получить готовое приложение, удобное для использования бизнесом, нужно собирать его из множества разных систем — иногда может использоваться 5-6 продуктов различных разработчиков. Это, во-первых, делает процесс сложнее, а во-вторых, сложно найти исполнителей, которые знают все эти системы. К тому же итоговое решение получится хрупким и велик шанс, что отдельные компоненты системы будут выходить из строя.

Сложная интеграция нестандартных решений

Если в вашем информационном пространстве используется какая-нибудь специфическая система электронного документооборота и она не поддерживается вендором, то интегрироваться с ней вы не сможете.

Нет кастомизации

Так как продукты ориентированы на массового пользователя, вам придется мириться с тем, что предоставляет разработчик. Переделать это на свой вкус возможности нет, это не в интересах вендора.

Низкая производительность

Как правило, такие продукты не работают на enterprise-мощностях, потому что у них очень жесткие ограничения по производительности. А слабая политика безопасности делает эти решения невозможными для использования на реальных мощностях в серьезных компаниях, потому что никакой отдел безопасности это не пропустит. Например, если есть доступ по API — он обычно сразу ко всему. Данные нельзя хранить у себя, они хранятся исключительно в облаках. Есть проблема с шифрованием данных — очень большие ограничения на объемы операций и производительность. Часто такие решения в целом работают довольно медленно.

Если говорить об использовании продуктов на территории России, то использование популярных no-code инструментов не выдерживает никакой критики с позиции безопасности - все данные будут храниться и передаваться на ресурсах за пределами страны. Возможности безопасно хранить решения на своих мощностях не предоставляются.

Low-code решения

В любое low-code решение так или иначе входит no-code. Low-code — это удобство создания продукта конструктором плюс возможность расширить функциональность за счет программирования. Такие продукты более сложные, более комплексные, у них кратно более высокая цена, но они позволяют в одном продукте реализовать автоматизацию вообще всего, что есть.

Пример такого продукта — low-code системы типа Elma365, представленные на глобальном рынке в достаточном количестве. Как это выглядит? Бизнес-процессы, как и в no-code решениях, создаются при помощи кубиков, мы их складываем в диаграмму и получаем готовое решение. Точно так же моделируется экранная форма, когда решение создается из готовых блоков, ничего не нужно верстать, можно настроить произвольную динамику и сделать формы отзывчивыми к поведению пользователей. Но как только мы упираемся в функциональность конструкторов — мы открываем редактор, дописываем код и получаем готовое решение, которое в дальнейшем можно использовать многократно, как готовый кубик.

Разработчики low-code систем представляют одновременно две среды: бизнес-служба может в свободном гибком Agile-формате создавать промышленные продукты при помощи встроенного в low-code no-code решения и отправлять запросы на изменения в классическую разработку, где будет создаваться функциональность, которой не хватает в продукте.

При помощи low-code мы всегда можем расширить функциональные возможности кода. Как правило, итоговые решения имеют архитектурную целостность и ориентированы на корпоративное использование — для больших компаний предусмотрено много функций, которых нет в no-code продуктах.

В целом low-code продукт ориентирован на простую интеграцию. Да, он имеет более высокий порог входа, чем no-code решения, но изначально предполагает использование в корпоративной среде. Два дополнительных следствия этого — ориентированность на высокую и очень высокую нагрузку и хороший уровень защищенности. Low-code решения очень производительны и отлично находят общий язык с отделом безопасности, потому что в противном случае работа в enterprise-клиентах была бы невозможна.

Резюме

За счет того, что продукты no-code и low-code снижают порог входа, мы можем:

  • создавать решения самостоятельно;

  • раньше отсеивать неудачные идеи;

  • вносить правки в задачу на ранних этапах, чтобы не создавать неудобные, некрасивые, неприменимые решения.

В итоге мы можем тестировать больше идей и доводить до конца больше инструментов. Это приводит и к повышению динамики разработки, повышению скорости, простоте переиспользования и развития этих продуктов — в целом это можно назвать демократизацией разработки.

При этом no-code решения хорошо подходят для тестирования гипотез, проверки идей, но их полноценное использование в корпоративной среде затруднено за счет множества ограничений, которые сама технология и разработчик на нее накладывают.

В случае low-code мы имеем все эти преимущества плюс возможность использовать решение как работающий инструмент, а не просто как инструмент прототипирования.

Опубликовано 29.08.2023

Похожие статьи