ГлавнаяНовостиБлог компанииLow-code и no-code: создаем системы без программистов

Low-code и no-code: создаем системы без программистов

Low-code и no-code

Low-code и no-code – способы (и даже направления) разработки программного обеспечения, между которыми очень много общего. Настолько, что эти понятия часто смешиваются. Суть этих способов программирования вполне точно описана самими терминами: они подразумевают минимальное использование кода при создании программ или даже вообще его полное отсутствие. А это подразумевает, что для разработки ПО с использованием этих подходов услуги профессиональных программистов нужны в минимальных объемах, или от них вообще можно отказаться.

Учитывая, что стоимость труда программиста высока, звучит весьма привлекательно, правда? Давайте разберемся в том, что такое low-code и no-code, когда их стоит применять, и в каких случаях такие подходы задачи решить не смогут.

Три подхода к программированию

Развитие технологии всегда идет по пути упрощения. То же самое происходит и в программировании: когда-то работать за компьютером могли только избранные небожители, имеющие специальные знания. Тем более это касалось разработки ПО. Потом, по мере появления пользовательских интерфейсов, компьютер стал доступен всем. Чуть позже по тому же пути пошла и разработка – и в начале 2000-х годов появились первые образцы ПО, созданные с минимальным использованием труда программистов-профессионалов.

Дело не только в экономике. Еще одним стимулом для развития low-code/no-code стало вечное противоречие между разработчиками ПО и пользователями. Их цели не совпадают: одним требуется инструмент для решения бизнес-задач, другим – разработать код системы, и очень часто пожелания пользователей реализуются с трудом. Не случайно в состав рабочей группы, осуществляющей проект по разработке и внедрению какой-либо системы, сегодня включаются и сами разработчики, и бизнес-пользователи. Это необходимо для того, чтобы обеспечить баланс их интересов.

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

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

Таким образом, в сфере разработки ПО сегодня существуют три подхода. Первый, классический, подразумевает использование труда профессиональных программистов – pro-code. Второй, противоположный, предполагает полный отказ от написания кода вручную и использование инструментов визуального программирования – no-code. Золотой серединой становится low-code, при котором сочетаются оба этих подхода. И каждый из них имеет право на жизнь.

Как работают low-code и no-code

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

С помощью таких «кирпичиков» можно создать множество решений. Самое очевидное – интернет-сайты (миллионы сайтов построены на специальных платформах no-code, таких как Tilda, WordPress, Wix и т.п.). Применяют no-code и для создания простейших типовых программных решений. С помощью такого подхода владелец небольшой компании может, к примеру, запустить собственную CRM, систему постановки задач, наладить обмен данными между сервисами, которые он использует. В любом случае, решения, созданные на no-code, будут несложными, нацелены на решение одной, в большинстве случаев типовой бизнес-задачи, ограничены в возможности кастомизации и дальнейшего развития.

Достоинства low-code – малое время, которое необходимо для реализации проекта и наличие только минимальных навыков, на уровне понимания логики работы реализации системы.

Low-code – тоже конструктор, но возможности его гораздо шире, потому что код, пусть даже в минимальных объемах, позволяет точно подгонять «детали» друг к другу. Основные детали будущей системы здесь тоже формируются в визуальном редакторе, но, благодаря коду, появляется возможность интегрировать систему со сторонними сервисами. Поэтому при помощи low-code можно создавать уже более сложные системы, даже с кастомизацией, интегрировать их с другими сервисами и приложениями при помощи API. Например, low-code позволит создать достаточно сложную CRM или учетную систему (для склада, отдела кадров), решение для автоматизации отдельных задач.

Конечно, программирование в low-code потребует от разработчика хотя бы начальных знаний в области кодирования. Нужно иметь представление о Python или Lava, понимать логику управления базами данных, разбираться с тем, как формируются SQL-запросы (ведь предстоит работать с базами данных). К тому же и время, которое потребуется на реализацию проекта, будет большим, нежели чем при использовании no-code. Но и использовать low-code можно для разработки серьезной системы, а не простейшего сервиса.

Программист больше не нужен?

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

К слову, и сами программисты достаточно широко используют low-code и no-code. Эти подходы применяются, например, при разработке MVP (Minimum Viable Product, минимально жизнеспособный продукт) – предварительной версии разрабатываемого решения. Дело в том, что цель создания MVP – протестировать гипотезу, только примерно показать, как будет работать сложная система. Случается, что на стадии MVP работа над проектом и заканчивается, — и тогда оказывается, что тратить на эту «предварительную версию» время просто не имела смысла. Low-code/no-code позволяет в таких случаях сэкономить ресурсы, которые нужны для другой работы.

LCDP и NCDP

А это что еще за аббревиатуры? Ничего страшного, но, прежде чем работать с low-code/no-code, предстоит познакомиться и с необходимыми для этого инструментами. Называются они LCDP (low-code development platform) и NCDP (no-code development platform). Это и есть те самые визуальные конструкторы, которые используются «сборщиками» систем.

LCDP и NCDP – платформы low-code и no-code. Они могут реализовываться в составе отдельных систем, которые допускают возможность доработки бизнес-пользователями. Существуют LCDP/NCDP-сервисы, которые часто используются для создания веб-сайтов. Есть и отдельные решения класса LCDP и NCDP.

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

Один из самых часто встречающихся примеров такой платформы – Bitrix 24, AMO и другие подобные им сервисы. Эти платформы обеспечивают базовую функциональность бизнес-решений (CRM, учетные системы, средства постановки задач и т.п.) и дают пользователям простые инструменты для того, чтобы из готовых блоков сформировать свои собственные бизнес-решения с минимальными объемами программирования или вообще без них.

Платформы low-code и no-code могут выпускаться и в качестве отдельных решений. Часто они нацелены на решение задач в конкретной области: автоматизации бизнес-процессов, производства, логистики, создании новых сервисов, интеграции различных систем, разработке пользовательских интерфейсов. Более того, таких систем – десятки. На российском рынке представлены, к примеру, такие как GreenData (корпоративные системы), Digital Q (финансовая сфера), SimpleOne (автоматизация бизнес-процессов). Найти подходящее решение, в зависимости от своих потребностей) сможет любая компания.

Когда не стоит полагаться на low-code/no-code

Low-code/no-code имеют много достоинств, но и не лишены ограничений. И их нужно принимать во внимание, используя LCDP/NCDP.

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

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

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

Разработка low-code и no-code – прекрасная возможность быстро и малозатратно модернизировать используемые ИТ-инструменты или даже создать новые. Эти подходы к программированию имеют массу достоинств, но, как всегда, их использование требует осторожности и сдержанности.

ИСТОРИЯ КОМПАНИИ
ХОТИТЕ БОЛЬШЕ УЗНАТЬ О CENTICORE GROUP?
Подробнее
Попробовать снова
Попробовать снова
Попробовать снова
Хорошо
Хорошо