Идеальный шторм, высокая неопределенность, черные лебеди — современный мир использует множество терминов и теорий для описания происходящего. Сегодня эти термины заполонили информационную повестку и, похоже, прочно вошли в обиход управленцев для описания «будней».
Ключевой особенностью этой новой «нормальности» стало осознание руководством компаний важности не только тотальной цифровизации, но и технологического суверенитета. Высокий уровень цифровизации обеспечивает гибкость бизнеса и высокую конкурентоспособность, в то время как технологический суверенитет гарантирует непрерывность процессов. В новой «нормальности» стратегии цифровой трансформации компаний обнажили факт высокой зависимости действующей ИТ-инфраструктуры от зарубежного софта.
Итак, что мы получили:
Колоссально возросший спрос на отечественные ИТ-решения в области бизнес-приложений. Даже по итогам 2021 года, даже в государственных компаниях доля российского софта была вдвое ниже нормативов (Источник)
Объективно профессиональные разработчики покидали и покидают страну. Параллельно рынок труда пополняется специалистами из разных профессиональных областей, которые переквалифицируются в разработчиков.
Если откроем интернет и сформируем запрос с описанием обоих ограничений, то очень скоро увидим рекламу очередной Low-Code или No-Code платформы: «Быстрая разработка без написания кода», «Просто соберите приложение, как конструктор Lego». Давайте разберемся, насколько Low Code технологии соответствуют современным потребностям рынка и как правильно выбрать технологическую базу для ваших цифровых инициатив.
Назад в будущее
Главная идея Low-Code платформ (или LCAP) — это ускорение разработки путем привлечения к производству программ «гражданских» разработчиков за счет «демократизации» инструментов создания программ.
«Гражданским» разработчиком называют специалиста, который не имеет профильного образования в области программирования, и разработка не является его основной работой. Но такой специалист обладает отличным знанием определенной бизнес-специфики и прошел специальное обучение в области Low-Code разработки. «Демократизация» разработки — это подход к созданию приложений, который заменяет традиционное программирование графическими представлениями — блок-схемами алгоритмов и визуальными конструкторами экранов. Производители Low-Code платформ обещают компаниям быстрое создание широкого спектра приложений и независимость от вендоров. Рекламные лозунги и презентации звучат очень убедительно. Low-Code технологии пользуются высоким вниманием заказчиков и инвесторов. К примеру, компания Siemens приобрела производителя платформы Mendix за $700 млн.
Однако идея создания приложений с помощью визуальных средств проектирования была на «хайпе» еще в 90-х. Так называемые технологии СASE средств разработки приложений остались только в статьях «Википедии». Технология оказалась не востребована даже тогда, когда сложность программных средств была значительно ниже. Очевидно, что средства «обертывания» сложных технологий в удобные для использования большему числу пользователей инструменты неизбежно приводят к сужению области применимости. И мы уверены, что «демократизация» разработки загоняет платформы разработки в узкие бизнес-ниши и не дает широкой применимости и тем более независимости от вендора. Именно на эти слабые места современной Low-Code концепции фокусировалась наша команда при разработке платформы для быстрой разработки Jmix. Мы ставили перед собой задачу создать технологию, которая обеспечит производительность разработки на уровне Low-Code платформ, но при этом сохранит гибкость традиционной разработки, за счет предоставления разработчиком высокопроизводительных инструментов. Давайте разберем, почему технологии профессиональной разработки сегодня становятся важнее.
Независимость от вендора или «коробка»?
Согласно данным консалтинговой компании Gartner, главный тренд в развитии Low Code платформ — это интеграция всех инструментов и сервисов, необходимых для разработки и функционирования современного ПО, на одной платформе.
В частности, LCAP содержат следующие модули: Application Development and Runtime, API Management, Integration, Event Processing, Database, AI/ML, Process Management.
Схема 1. Компоненты современной Low-Code платформы
Самое слабое место LCAP — зависимость от вендора, поскольку платформы поставляются с закрытой исполняемой средой. Некоторые производители предлагают писать дополнения на популярных языках разработки (JavaScript, Python, Go и т.д.). Другие даже позволяют выгрузить исходный код приложения на высокоуровневых языках разработки. Однако проблема в том, что этот код не будет работать нигде, кроме «родной» среды исполнения. Следовательно, он не имеет никакой ценности. Для наглядности можно представить, что вендор разрешил скопировать исходный код на съемный носитель, но этот носитель подходит только к одному компьютеру, который остался у вендора. Компания, которая разрабатывает ПО на основе Low Code платформ, не получает в результате никакого цифрового актива. Таким образом, LCAP в традиционном понимании практически не отличается от коробочного продукта: лицензионные платежи, «черный ящик» внутри, полная зависимость от технической поддержки производителя, заказчик не владеет приложением в полной мере.
Упрощение разработки или маргинальные технологии?
Ряд вендоров Low-Code платформ целенаправленно фокусируются на защите своих бизнес-интересов и фактически изолируют заказчиков и разработчиков внутри собственной «экосистемы». Самый популярный кейс — это разработка собственных скриптовых языков. Вендоры изобретают собственный синтаксис, среды разработки и интерпретаторы для описания бизнес-логики на собственных платформах. Графические блок-схемы для описания бизнес-логики приложения по существу являются частным случаем скриптового языка.
Схема 2. Пример описания бизнес-логики с помощью блок-схем
Это может выглядеть привлекательно для руководителей компании или бизнес-аналитиков, но разработчики обычно говорят: «Мне проще написать это в пяти строчках кода». Дело в том, что блок-схемы действительно упрощают только тривиальные операции. Это, например, создание модели данных, установка взаимосвязей между компонентами будущего решения, проектирование стандартных пользовательских экранов и настройка пользовательских ролей. Однако разработка программного обеспечения состоит не только из тривиальных операций. Бизнес-логика, пользовательские интерфейсы, масштабируемая архитектура, интеграции в соответствии с требованиями по быстродействию и безопасности — это всегда сложно.
Главная причина, по которой скриптовые языки не популярны среди разработчиков — это узкая сфера применения. Парадокс ситуации в том, что вендоры LCAP заявляют о желании сократить издержки бизнеса при создании конкретного ПО путем использования «упрощенного» скриптового языка разработки. Однако разработчики не хотят осваивать технологии, которые не будут востребованы рынком. К тому же профессионалы опасаются, что за время работы со скриптовыми языками потеряют профессиональную квалификацию. В результате компании обладатели Low-Code платформы не могут сформировать свою команду для реализации цифровых проектов и вынуждены работать с вендором. Чем больше внедрений Low Code платформы, тем больше спрос. В итоге дефицит разработчиков приводит к росту заработной платы. Такой эффект прямо сейчас можно наблюдать на примере динамики зарплат 1С разработчиков.
Таким образом, LCAP, которые задумывались для сокращения издержек, приводят к противоположному результату — маргинализации. Малые группы разработчиков, отсутствие широкого распространения технологии, нежелание новичков осваивать — все это приводит к неизбежной консервации комьюнити, росту технической отсталости и в конечном итоге забвению. Противоположность узкоспециализированных Low-Code платформ со скриптовыми языками — продукты, которые используют популярные и востребованные open source технологии. На мировом рынке постоянно происходит естественная селекция технологий. Разработчики обращают внимание на технические возможности, развитость экосистемы и размер сообщества. Популярные технологии со временем становятся еще популярнее, и, в конечном счете, это становится решающим фактором при выборе как для специалистов, так и для бизнеса.
Новое поколение технологий разработки
Наша команда профессионально занимается созданием технологий и инструментов для повышения продуктивности разработки ПО. В своей работе мы ориентируемся на потребности профессиональных разработчиков и стремимся избежать описанных проблем LCAP платформ.
В 2016 году мы выпустили на рынок платформу CUBA, которая быстро стала коммерчески успешной. Платформа позиционировалась как RAD фреймворк для современных веб-приложений на основе open source стека технологий. Исходный код платформы также был опубликован в open source, и это оказалось очень удачным решением. К 2020 году в комьюнити разработчиков насчитывалось свыше 25 000 человек. CUBA используется более чем в 170 странах мира. Основным способом продвижения стали интернет и «сарафанное радио». Успех технологии связан, в первую очередь, с удобством для пользователей — профессиональных разработчиков. Но технологии развиваются, и в 2020 году мы сфокусировались на разработке нового поколения CUBA Platform — Jmix. На рынке уже наблюдался расцвет Low-Code технологий, и мы не могли игнорировать это запрос.
Ключевые концепции платформы Jmix
По итогам исследования рынка Low-Code мы решили сфокусироваться на актуальных потребностях бизнеса и профессиональных разработчиков. При проектировании платформы Jmix команда ориентировалась на ряд ключевых концепций:
Максимально удобная для профессиональных разработчиков среда проектирования
Архитектура построена только на популярных в мире open source технологиях
Профессиональные инструменты разработки и развертывания для ускорения рутинных задач при создании бизнес-приложений
Каталог готовых бизнес-компонентов, который может быть использован разработчиком по желанию для конкретной задачи
Открытый исходный код платформы и открытый исходный код создаваемых приложений на популярном языке разработки Java
Создаваемые приложения разворачиваются в любом современном окружении внутри ИТ ландшафта клиента или в облачном окружении
Все, что создается с помощью платформы, принадлежит разработчику и формирует цифровой актив компании
Над созданием нового поколения платформы два года работала команда из 60 человек. В 2021 году вышел первый стабильный релиз Jmix. В том же году платформа вошла в реестр российского ПО вместе с предыдущим поколением, CUBA. В первом квартале 2022 года клиенты CUBA начали переносить свои приложения на новую платформу. Особенно заметный интерес к технологии проявляют органы власти и государственные корпорации. Сейчас можно смело говорить о том, что выбранные командой Jmix концепции позволяют повысить эффективность разработки и вместе с тем избежать проблем традиционных LCAP.
Мы верим, что ставка на профессиональных разработчиков и популярные open source технологии обеспечат заказчикам технологический суверенитет, помогут решить проблему дефицита разработчиков и сохранить темп реализации цифровых инициатив