Что такое 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-редакторы. Классический пример — конструктор бизнес-процессов.
Другой пример — конструктор интерфейсов.
Также это могут быть таблицы с данными для настройки логики работы корпоративного приложения. Например, 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 платформы может быть как монолитной, так и микросервисной. Второй вариант позволяет масштабировать высоконагруженные функции системы и повысить ее отказоустойчивость.
Количество пользователей Low-code систем может сильно отличаться в зависимости от продукта. Если речь идет о сотнях и тысячах, то платформы успешно с этим справляются. Для выдерживания нагрузок от миллионов пользователей потребуется тонкая оптимизация и привлечение DevОps-инженеров.
Основные компоненты и функциональность Low-code платформы
К инструментам Low-code разработки относятся:
- Конструктор бизнес-процессов,
- Конструктор интерфейсов,
- Конструктор отчетов,
- Конструктор API,
- Оргструктура и модель прав доступа,
- Сценарии,
- Конструктор модели данных.
Графический дизайнер интерфейсов, который также называют конструктором, позволяет настраивать внешний вид страниц и приложений с помощью Drag-and-Drop. Если в функциональность платформы заложена адаптивность, то страницы будут хорошо выглядеть и в мобильной, и в десктопной версии.
Еще одним инструментом 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 платформы — это программный продукт и среда разработки, где пользователи могут создавать и разворачивать программные приложения, не владея навыками программирования.
Узнайте больше о возможностях Low-code платформы ELMA365 на странице решения.
Поделиться:
Комментарии