Первая категория – платформы-конструкторы – это lowcode- и nocode-платформы, в которых либо вообще не требуется писать код (вся разработка происходит в графических дизайнерах), либо написание кода сводится к минимальному программированию на простых скриптовых языках, языках формул и/или собственных языках конфигурирования настроек. К таким платформам на российском рынке можно отнести ELMA, DocsVision, на международном – Odoo, TerraSoft, Mendix и другие.
Главным преимуществом платформ данной категории является высокая скорость разработки, обеспечивающаяся за счет модульного подхода и графического проектирования.
При этом существенным недостатком, из-за которого многие компании отказывается от разработки на базе такого инструментария, является то, что они хорошо подходят только для совсем уж типовых задач, не хватает гибкости при разработке. Небольшой пример: допустим, требуется создать карточку клиента с текстовыми полями «Наименование клиента» и «Организационно-правовая форма» (ООО, ПАО, ИП и другие). С такой типовой задачей разработчик на любой lowcode-платформе справится быстро и без особого труда. Но если усложнить задачу – допустим, требуется, чтобы значение, вводимое в поле «наименование», разбиралось по словам, и по каждому слову (а также по их сочетаниям) осуществлялся поиск в списке уже ранее созданных клиентов на предмет пересечения наименований (с целью защиты от дублирования клиента в базе), далее чтобы результат поиска в виде краткого списка с перечислением основных реквизитов найденных клиентов отображался рядом, и в зависимости от степени соответствия наименования (полное соответствие, частичное соответствие, вероятное соответствие) найденные клиенты подсвечивались различными цветами. Требование по цветовой раскраске, возможно, избыточно, но в остальном – это вполне реальная задача. И качественная система автоматизации (ERP, CRM) должна учитывать все нюансы предприятия, на котором она внедряется, – именно возможность гибкой модификации и адаптации к требованиям заказчика отличает успешную (успешно внедренную) систему.
Разработчики lowcode-платформ осознают проблему отсутствия достаточной гибкости в подходе «без программирования». Поэтому у многих подобных платформ есть возможность опуститься на уровень ниже (см. стрелочка А на рисунке) – то есть писать код на обычном языке: C#, Java, Python (см. блок 3 на рисунке). В реальной практике так чаще всего и происходит: в графических редакторах быстро «верстается» концептуальная функциональность, и т.к. штатные возможности платформы не позволяют сделать многие вещи графически и/или с помощью формул, то далее все программируется в обычных средах разработки – Visual Studio, Idea, NetBeans, Eclipse, Qt Creator. Однако в таком случае теряются главные преимущества платформы данной категории – скорость и простота разработки. Кроме того, будут требоваться очень квалифицированные программисты, которые должны не только отлично владеть классическим языком программирования, но и, самое главное, ориентироваться в системе классов внутри программного кода определенной платформы, а также понимать определенную бизнес-терминологию (например, «счет», «лид», «воронка продаж»). Другими словами, чтобы программисту освоить разработку на платформах данных категории придется пройти дополнительное непростое обучение.