Что такое lightcode

Или почему таких преимуществ нет у других платформ

Разработка и внедрение ERP-, CRM-систем и любых других систем для управления предприятием – трудоемкий и дорогой процесс. Для того чтобы упростить данную задачу, компании-разработчики прибегают к помощи специального инструментария – платформам для разработки ПО. Одной из них является платформа Workflow Technology. Рассмотрим, в чем заключается ее принципиальные отличия и преимущества по сравнению с аналогами, а также ответим на вопрос, что такое lightcode.

Платформы для автоматизации бизнес-процессов можно условно поделить на 2 категории:

  1. Платформы-конструкторы (см. блок 1 на рисунке).

  2. Платформы-программаторы (см. блок 2 на рисунке).

Подробно о том, что такое платформы-конструкторы, их достоинства и недостатки

Первая категория – платформы-конструкторы – это lowcode- и nocode-платформы, в которых либо вообще не требуется писать код (вся разработка происходит в графических дизайнерах), либо написание кода сводится к минимальному программированию на простых скриптовых языках, языках формул и/или собственных языках конфигурирования настроек. К таким платформам на российском рынке можно отнести ELMA, DocsVision, на международном – Odoo, TerraSoft, Mendix и другие.

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

При этом существенным недостатком, из-за которого многие компании отказывается от разработки на базе такого инструментария, является то, что они хорошо подходят только для совсем уж типовых задач, не хватает гибкости при разработке. Небольшой пример: допустим, требуется создать карточку клиента с текстовыми полями «Наименование клиента» и «Организационно-правовая форма» (ООО, ПАО, ИП и другие). С такой типовой задачей разработчик на любой lowcode-платформе справится быстро и без особого труда. Но если усложнить задачу – допустим, требуется, чтобы значение, вводимое в поле «наименование», разбиралось по словам, и по каждому слову (а также по их сочетаниям) осуществлялся поиск в списке уже ранее созданных клиентов на предмет пересечения наименований (с целью защиты от дублирования клиента в базе), далее чтобы результат поиска в виде краткого списка с перечислением основных реквизитов найденных клиентов отображался рядом, и в зависимости от степени соответствия наименования (полное соответствие, частичное соответствие, вероятное соответствие) найденные клиенты подсвечивались различными цветами. Требование по цветовой раскраске, возможно, избыточно, но в остальном – это вполне реальная задача. И качественная система автоматизации (ERP, CRM) должна учитывать все нюансы предприятия, на котором она внедряется, – именно возможность гибкой модификации и адаптации к требованиям заказчика отличает успешную (успешно внедренную) систему.

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

Подробно о том, что такое платформы-программаторы, их достоинства и недостатки

Вторая категория – с условным названием платформы-программаторы – изначально позиционируют себя как инструменты для гибкого программирования и работают на уровне, близком классическому программирование. Самые известные примеры – это 1С на российском рынке и SAP на мировом.

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

Однако, несмотря на ускорение за счет возможностей графического проектирования, главный недостаток платформ данной категории – это медленная и дорогая разработка. Медленная – потому что языки, на которых ведется программирование (языки 1С и ABAP – соответственно в платформах 1С и SAP), в целом, подобны классическим языкам общего назначения (C#, Java, Python), а на их базе разработка небыстрая. Дорогая – потому что указанные языки требуют очень долгого обучения и имеют очень высокий порог входа. Другими словами, требования к квалификации таких разработчиков еще выше, чем у платформ первой категории. К примеру, программист на 1С, чтобы считаться хорошим, должен быть не просто хорошим программистом, но программистом, который ориентируются в терминах бизнес-логики платформы (то есть понимает, что делать в коде с такими словами как «счет», «акт», «проводка», «документ», «регистр» и прочее), и также должен быть хорошим бухгалтером, и немного управленцем.

Подробно о том, какие проблемы возникают при использовании lowcode-платформ и платформ-программаторов при разработке нетиповых проектов

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

  1. Низкая скорость разработки/доработки в виду необходимости написания большого количество кода «с нуля» на обычных языках программирования.

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

  3. Сложность поиска специалистов для разработки ПО для автоматизации в виду сверхвысоких требований к их квалификации.

  4. Затраты времени на обучение специалистов – обычно от нескольких месяцев до нескольких лет.

Программная платформа Workflow Technology (см. блок 4 на рисунке) является синтезом платформ 1-ой и 2-ой категорий и объединяет их главные достоинства – производительность и гибкость.

Почему так?

С помощью платформы WT, среды разработки и XML-языка (подробнее – см. раздел «Основы платформы»), с одной стороны, можно быстро вести разработку, а с другой – реализовать любое заказное ПО для автоматизации бизнеса.

Если сравнивать платформу WT с платформами-конструкторами, то по скорости разработки WT незначительно уступает lowcode- платформам, но при этом значительно превосходит их в гибкости.

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

Почему lightcode?

Потому что это среднее между lowcode-разработкой и classic code-разработкой. И потому, что, с одной стороны, платформа WT предлагает разработчику создавать код – «code», то есть гибко создавать функциональное ПО с помощью языка программирования, но при этом сам язык для обучения и использования очень простой и легкий – «light».

Last updated