Преимущество новейших инструментов разработки типа low-code/no-code состоит в том, что они позволяют заниматься программированием как сотрудникам бизнес-подразделений, обладающим минимальными навыками кодирования или вовсе не умеющим программировать, так и профессиональным разработчикам. Независимый аналитик Боб Тарзи рассказывает на портале ComputerWeekly о поставщиках платформ, их предложениях и нюансах выбора решений.

За последние несколько десятилетий компьютерные системы изменили общество, упрощая выполнение множества задач, но само программирование, которое предназначено для их настройки, так и не было автоматизировано. Конечно, программисты не набирают единицы и нули, то есть двоичный код, который составляет основу базовых компьютерных инструкций, — это делается при помощи абстрактных, или низкоуровневых языков программирования. Но как далеко может зайти эта абстракция или, говоря другими словами, как можно максимально упростить жизнь инженерам от разработки? На следующем, втором уровне, находятся языки ассемблера, которые тесно корреспондируют с бинарными инструкциями. Работать с ними программистам довольно непросто и они различаются для каждой компьютерной архитектуры. Далее идут языки, с которыми многие знакомы — Cobol, Basic, Java, C++ и т. д. Их принято называть языками третьего поколения (3GL), и они применяются для программирования большинства компьютеров.

Однако для того, чтобы понимать логику даже самого дружественного для человека 3GL, сотрудникам бизнес-подразделений нужно хотя бы частично обладать навыками профессиональной разработки. Бизнес на протяжении многих лет ощущал потребность в повышении производительности труда бизнес-сотрудников, рассчитывая на то, что они смогут создавать свои собственные программы с использованием инструментов быстрой разработки приложений (rapid application development, RAD). К последним относятся среды визуальной разработки, при работе с которыми кроме ввода основных выражений и текста требуются минимальные навыки кодирования. Эффект ускорения разработки достигается путем использования соответствующих технических средств и непрерывного, параллельного с ходом разработки, уточнения требований и оценки текущих результатов.

RAD создавали в конце 1980-х — начале 1990-х как альтернативу более ранним каскадной и итеративной моделям. Со временем RAD отнесли к четвертому поколению языков/инструментов программирования — 4GL. Несмотря на всплеск интереса к ним и их дальнейшие успехи, со временем большинство инструментов выродилось. Однако в последние годы идея «разработки с человеческим лицом» вновь стала актуальной, и ее последнюю итерацию принято называть low-code (с незначительным объемом кодирования) и no-code (без кодирования). Инструменты разработки low-code являются декларативными, то есть они позволяют визуально моделировать пользовательские интерфейсы, бизнес-логику, алгоритмы и обработку данных, из которых состоит типичное приложение, без необходимости описания направляющего кода.

Они могут генерировать в фоне тысячи строк кода, к которым при необходимости можно получить доступ и которые можно поменять. При этом стоит учесть, что чем больше объем модифицируемого кода, тем более технически сложной становится задача. Степень обращения к навыкам 3GL будет зависеть как от требований, так и от используемого продукта. Большинство поставщиков инструментов low-code утверждает, что их новое поколение продуктов в равной степени пригодно для создания приложений корпоративного класса как командами менеджеров и других сотрудников, которые не имеют навыков практической разработки, так и профессиональными разработчиками. Поставщики считают, что, в отличие от 4GL, low-code ждет успех, потому что современные бизнес-сотрудники в среднем более технически подкованы, чем это было 20-30 лет назад. Еще одной причиной их уверенности является то, что приложения в основном развертываются на собственных облачных платформах поставщиков инструментов, обеспечивая централизованный контроль производительности, доступности, масштабируемости, уровня обслуживания и безопасности.

Плюсы и минусы разработки low-code

Некоторые рыночные наблюдатели считают, что метод развертывания на мощностях платформенных провайдеров порождает один из главных недостатков разработки low-code — привязку к поставщику и как следствие невозможность портирования кода. Однако это скорее мнение недоброжелателей, поскольку поставщики платформ low-code поддерживают развертывание генерируемого кода в таких публичных облачных средах, как AWS, Microsoft Azure и Google Cloud. Тем не менее сгенерированный платформой 3GL-код может иметь структуру и формат, с которыми трудно работать даже профессиональным программистам.

Инструменты low-code содержат библиотеки, которые предоставляют готовые компоненты, например, для поддержки новейших технологий, таких как блокчейн и искусственный интеллект. Компоненты low-code могут предоставляться поставщиком платформы, третьими сторонами или сообществом пользователей, они могут быть как бесплатными, так и платными. Экосистема разработки включает интерфейсы прикладного программирования (API), которые обеспечивают внешнюю интеграцию, например, для вызова веб-служб. К слову, инструменты 4GL, как правило, не обладали поддержкой API, что могло стать причиной их провала. Инструменты low-code различаются в зависимости от поддержки сторонних функций, которые многие специалисты рассматривают как основу для создания любых типов приложений. К таким функциям относятся версионный контроль и поддержка DevOps.

Рекламируя свои платформы, поставщики заявляют об ускоренном тестировании приложений, меньшем количестве ошибок в коде и более высоком уровне безопасности по сравнению с 4GL. За счет этих преимуществ предприятия могут существенно снизить себестоимость разработки. В то же время большинство инструментов low-code платные, тогда многие компиляторы 3GL открыты и для них есть множество бесплатных Open Source-библиотек. Поставщики также упирают на экономические выгоды от применения своих платформ, утверждая, что они уменьшают необходимость привлечения высокооплачиваемых программистов и доступ к разработке сотрудникам с минимальным опытом программирования, которые к тому же получают больше контроля над созданием софта. Несмотря на хвалебные оды low-code, реальность может выглядеть по-другому — очень часто эти инструменты лишь ненамного повышают продуктивность программистов.

Изобилие поставщиков

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

Одним из наиболее известных поставщиков является Microsoft, которая недавно объединила несколько своих продуктов для создания инструмента low-code PowerApps. Он тесно связан с облачной платформой Microsoft Azure.

Oracle обладает двумя инструментами: Application Express (Apex), который связан с СУБД Oracle Database, и облачной службой Visual Builder (VBCS), с помощью которой код приложения можно развертывать как в облаке, так и онпремис. Также существует Java-приложение Oracle APEX Listener, которое может быть развёрнуто на J2EE-серверах приложений для обеспечения функций веб-сервера для APEX-приложений с возможностями кэширования на стороне веб-сервера, конфигурирования через веб-интерфейс, дополнительными функциями мониторинга и обеспечения безопасности.

В 2014 г. Salesforce выпустила на базе нескольких своих решений конструктор приложений Lightning. Подписчики могут размещать разработанные на его базе приложения на платформе Force.com в специальном каталоге AppExchange и предлагать свои разработки другим заказчикам, в том числе на коммерческой основе. Для разработки пользователями используется Java-подобный язык Apex и средство проектирования Visualforce с выходным форматом на основе XML.

Компания Quick Base принадлежит к числу ветеранов рынка — она появилась в 1999 г. С тех пор предлагаемая ею платформа low-code стала полностью облачной, работает в виде резидентной СУБД (in-memory database).

Pegasystems — еще одна компания в сфере low-code, истоки которой берут начало в 1980-х — предлагает платформу Pega Infinity, написанную на базе решения для управления бизнес-процессами (BPM), и библиотеку App Studio, включающую компоненты для сложных задач, таких как автоматизация процессов.

Zoho Creator был запущен в 2006 г. Zoho утверждает, что на ее платформе работает более 5 млн. приложений. Отчасти это связано с ориентацией на малый бизнес, но есть и корпоративные пользователи. Для работы Creator применяется собственный язык сценариев под названием Deluge.

Платформа low-code производства OutSystems поддерживает разработку мобильных приложений, программ для носимых устройств, Интернета вещей (IoT) и веб-приложений. Она работает на базе C# и .Net. Сборка может осуществляться на частных или публичных облачных платформах с локальной поддержкой. Клиентами платформы выступают профессиональные разработчики, реже — бизнес-пользователи.

К числу новых нишевых поставщиков можно отнести платформу Betty Blocks, которая была выпущена в 2012 г. Приложения на ее базе собираются из «блоков», которые включают основные функции. Около 90% клиентов осуществляют сборку и развертывание в облаке поставщика, но также поддерживаются Microsoft Azure и локальный хостинг. Для написания расширений разработчики могут применять язык программирования Elixir.

Платформа no-code для проектирования и развертывания приложений Skuid появилась в 2013 г. Она предназначена для подключения пользователей к разнородным источникам данных для сборки приложений под заказ. Skuid поддерживает партнерские отношения с SAP и Google.

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

Mendix — разработчик платформы типа low-code, которая позволяет ускорить и упростить создание приложений промышленного Интернета вещей (IIoT). В 2018 г. она была куплена Siemens и интегрирована с IoT Siemens MindSphere. Платформа нацелена на развертывание приложений как локально, так и на ряде облачных платформ. Mendix поддерживает партнерские отношения с IBM и SAP.

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

Заключительные замечания

Многие опытные программисты начали работать с 4GL еще в 1980-х. Первым поставщиком среды четвертого поколения была компания VAX Rally, за спиной которой стоял техногигант Digital Equipment (DEC). Все, что сегодня напоминает о ней — единственная запись из Музея истории компьютеров, выдаваемая поисковиком Google. Нынешние поставщики рассчитывают, что современные инструменты low-code/no-code завоюют плацдарм, утраченный 4GL. Некоторым это наверняка удастся, но не всем — рынок слишком тесен.

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