Что такое Low-code

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

Работать с ним могут сотрудники, не обладающие навыками программирования, при этом обладающие экспертизой в бизнес-областях, например, в продажах, закупках или финансах. 

low code что это?

Корпоративная Low-code разработка позволяет объединить бизнес-заказчиков, пользователей и ИТ-специалистов для решения общей задачи, которая заключается не только в автоматизации конкретной области, но и в постоянном улучшении инструмента и его улучшения. 

Краткое содержание

Low-code и No-code

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

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

Существуют англоязычные аббревиатуры, которые обозначают платформы для Low-code и No-code разработки: LCDP (low-code development platform) и NCDP (no-code development platform). Эти понятия появились в начале 2000-х годов, с тех пор инструменты активно развивались и находили применение в разных продуктах, например, Bubble и Microsoft Power Apps.

No-code — это метод и среда для создания программных продуктов без использования кода. Иногда его еще называют Zero-code. Основная идея состоит в том, что для работы не требуются навыки программирования. Например, пользователь выбирает подходящие блоки, загружает текст и изображения, выбирает внешний вид кнопок и форм и получает сайт-визитку.

Low-code и No-code противопоставляют традиционной разработке, когда программный продукт создается с помощью кода. Преимущество Low-code состоит в объединении двух методов, и визуальных инструментов, и программирования.

Что такое Low-code платформа?

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

Какие приложения можно разрабатывать с помощью Low-code платформ? Практически любые, однако обычно у каждого продукта есть своя специализация и сильные стороны.

Например, Low-code платформа ELMA365 относится к корпоративным системам и специализируется на автоматизации бизнес-процессов компании. Она позволяет как создавать собственные приложения, так и пользоваться готовыми, например из магазина готовых решений ELMA365 Store. На базе платформы разработаны продукты ECM, CRM, Service Desk, при этом все они имеют возможность кастомизации.

Введение в технологии Low-code и их роль в современной разработке

Low-code на стыке визуального и традиционного программирования

Low-code опирается на методы визуального программирования. В этом смысле им противопоставлены текстовые языки программирования.

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

Традиционная разработка ведется на текстовых языках программирования (Python, Java, Go), данные вводятся с клавиатуры и код можно хранить в виде текстового файла. Визуальные языки разработки (Blockly, SFC, HiAsm) представляют собой другой подход. Например, в них активно используется drag-and-drop, (перетаскивание элементов), различные меню выбора, значки на элементах.

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

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

Инструменты Low-code разработки

К инструментам Low-code разработки относятся различные конструкторы, редакторы блок-схем, WYSIWYG-редакторы. Классический пример — конструктор бизнес-процессов.

Low-code конструктор бизнес-процессов

Другой пример  — конструктор интерфейсов.

Low-сode конструктор интерфейсов

Также это могут быть таблицы с данными для настройки логики работы корпоративного приложения. Например, WYSIWYG-редактор для создания пользовательских форм или редактор схемы бизнес-процесса. WYSIWYG означает «Что видишь то и получишь» — What You See Is What You Get.

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

Взаимодействие платформы и инструментов Low-code разработки осуществляется через API и SDK.

  • SDK (software development kit) — набор средств для разработки под определенную платформу, включает фреймворки и средства отладки.
  • API (application programming interface) —  программный интерфейс приложения, правила взаимодействия для обмена данными между программами. Открытый API дает возможность делать интеграции со сторонними сервисами.

На стороне платформы остается:

  • работа с базами данных,
  • работа с файлами,
  • исполнение сценариев,
  • авторизация,
  • работа с кэшем.

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

Архитектура Low-code платформы может быть как монолитной, так и микросервисной. Второй вариант позволяет масштабировать высоконагруженные функции системы и повысить ее отказоустойчивость.

Микросервисная архитектура ELMA365

Количество пользователей Low-code систем может сильно отличаться в зависимости от продукта. Если речь идет о сотнях и тысячах, то платформы успешно с этим справляются. Для выдерживания нагрузок от миллионов пользователей потребуется тонкая оптимизация и привлечение DevОps-инженеров.

Основные компоненты и функциональность Low-code платформы

К инструментам Low-code разработки относятся:

  • Конструктор бизнес-процессов,
  • Конструктор интерфейсов,
  • Конструктор отчетов,
  • Конструктор API,
  • Оргструктура и модель прав доступа,
  • Сценарии,
  • Конструктор модели данных.

Графический дизайнер интерфейсов, который также называют конструктором, позволяет настраивать внешний вид страниц и приложений с помощью Drag-and-Drop. Если в функциональность платформы заложена адаптивность, то страницы будут хорошо выглядеть и в мобильной, и в десктопной версии.

Конструктор интерфейсов в ELMA365

Еще одним инструментом Low-code разработки является конструктор бизнес-правил.

Конструктор бизнес-правил

Сценарии и интеграции используются во встроенной среде разработки. Пользователь может создавать и сохранять функции, применяя их при настройке приложений. Настройка интеграции с другими системами осуществляется через API.

Библиотеки стандартных виджетов упрощают работу с платформой, позволяют дорабатывать готовые компоненты и многократно их использовать. Это может быть полезно при работе с интерфейсами, отчетами и визуализацией данных.

Примеры использования Low-code

На базе платформы создаются решения, которые позволяют автоматизировать разные аспекты работы компании. Приведем примеры приложений, которые можно создать с использованием Low-code инструментов.

Low-code решение: автоматизация охраны труда на предприятии.

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

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

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

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

Low-code решение: управление закупками

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

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

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

Преимущества Low-code разработки

Low-code можно считать новым поколением разработки ИТ-решений. Технологии движутся в сторону упрощения их использования и ускорения. Low-code позволяет значительно сократить цикл разработки и упростить поддержку и обслуживание программных продуктов.

Low-code vs традиционная разработка: быстрее и проще

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

За счет сокращения цикла реализации проекта — от бизнес-задачи до готового решения снижаются сроки, бюджет и риски.  В частности сокращается время на написание технического задания, подготовка которого может занимать до 40% времени проекта.

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

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

Low-Code платформа гибко встраивается в ИТ-ландшафт компании и при желании может стать единым интерфейсом для работы с разными системами. Обычно такие системы имеют открытый API и большие возможности для интеграций.

Снижение затрат на поддержку

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

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

Low-code решение развивается вместе с бизнесом 

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

Рассмотрим на примере. Компания ищет программный продукт под конкретную задачу — например, автоматизировать процесс работы с клиентами и перейти с электронных таблиц на CRM. Создается проектная команда из сотрудников, которая формулирует задачу, описывает процесс и ролевую модель. Настраивается воронка продаж, переходы между стадиями, справочники. Решение тестируется отделом продаж и запускается в работу. Через месяц приходит понимание, что воронку надо перестроить, подтянуть данные по выручке, а продавцов разделить на две группы. Также появилась потребность — выводить отчетность в форме интерактивного дашборда.

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

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

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

Такой процесс развития программного продукта можно назвать фреймворком Low-code, которые последние 10-15 лет оттачивали на практике лидеры рынка Low-code платформ. Подробнее об организации таких проектов рассказывает в видео Алексей Трефилов.

Выводы — кому и зачем подойдет Low-code

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

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

Особенность Low-code платформ — визуализация алгоритмов в виде схем, понятных разным сотрудникам, в то время, как код могут читать немногие. Это позволяет собственникам, руководителям подразделений, аналитикам, проектировщикам и разработчикам общаться на одном языке. Low-code продукт может стать цифровым активом, который развивается вместе с бизнесом. 

FAQ о Low-code и No-Code

Что такое Low-code?

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

Что такое Low-code платформа?

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

Что такое No-code решения?

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

Что такое платформы No-code? 

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

 

Рецензент: Андрей Чепакин

Поделиться:

Комментарии

Написать комментарий
0/400