Программирование является сложным занятием, требующим достаточно длительного времени и усилий для овладения им с профессиональной точки зрения. В последние годы появились технологии, которые обещают сделать программирование намного проще. Некоторые из этих платформ позволяют разрабатывать приложения с минимальным объемом кода, другие позволяют делать то же самое без необходимости написания кода вообще [1].
No-code и low-code – это сравнительно новые методы разработки, которые позволяют людям разрабатывать собственные приложения или процессы. Как следует из названий, основная идея заключается в том, что это должно быть возможно для людей с небольшим опытом программирования или вообще без него, и что для разработки требуется лишь малая часть обычного времени.
Некоторые считают, что за ними будущее программирования, другие утверждают, что эти платформы могут быть полезны, только если речь идет о разработке некоторых базовых однообразных приложений, но они ограничены, когда речь идет о написании сложных программ, и из-за этого традиционный способ написания программного обеспечения не может быть заменен, по крайней мере, в ближайшее время [1].
Программирование посредством no-code – это способ написания программного обеспечения без фактического написания кода. Это позволяет людям без опыта программирования возможность разрабатывать приложения, которые традиционно разрабатывались путем написания кода. Это достигается с помощью визуального программирования, где пользователям предоставляется графический пользовательский интерфейс, позволяющий им перетаскивать компоненты для манипулирования кодом [2].
Таким образом, No-code обещает, что разработка программного обеспечения в будущем станет проще и быстрее. Если технически заинтересованные сотрудники смогут самостоятельно оцифровывать процессы без знания программирования, это приведет к сокращению сроков разработки и снизит нагрузку на ИТ-отдел. В будущем роль ИТ-отдела значительно изменится благодаря No-Code, поскольку ему не придется так много беспокоиться о закупке и сопровождении программного обеспечения, а вместо этого он сможет взять на себя контролирующую и стратегическую роль.
В то время как No-Code подразумевает отсутствие необходимости в знаниях программирования, Low-Code позволяет вам частично программировать собственные компоненты, чтобы получить дополнительные строительные блоки для вашего собственного решения.
Оба подхода имеют свои преимущества и недостатки, при том, что и преследуют одну и ту же цель – ускорить и облегчить разработку программного обеспечения.
Можно привести следующие их отличительные особенности:
- No-Code стремится быть доступным для всех. Low-Code, с другой стороны, в первую очередь ориентирован на разработчиков и людей с базовыми знаниями языка программирования.
- No-Code работает в основном с drag-and-drop и веб-формами для поддержки пользователя в создании дизайна и программной логики. Low-Code также может использовать рукописный код или пользовательские функции.
- No-Code определяет большие части конструкции для упрощения работы. С одной стороны, это ограничивает, но с другой - позволяет быстро освоиться. Low-code обеспечивает большую гибкость при проектировании пользовательского интерфейса. В некоторых случаях вы можете добавлять новые элементы или редактировать элементы с помощью собственного кода. Однако совершенно их разделить невозможно, поскольку различные решения предлагают инструменты как из области low-code, так и no-code.
В целом, даже можно сказать, что платформы no-code – это специализированный тип платформ low-code, в которых необходимые визуальные компоненты выполняют отраслевые функции, определенное направление бизнеса или поддерживают корпоративный бренд конкретной компании.
Платформы low-code, однако, могут потребовать помощи собственных разработчиков для внесения небольших изменений в код бэкенда, чтобы новое приложение соответствовало другим бизнес-программам [3].
Инструменты low-code также нацелены на то, чтобы решить проблему нехватки разработчиков, привлекая людей с нетехническим образованием, которые могут иметь небольшой опыт в программировании.
Low-code описывает использование различных визуальных, гибких и основанных на правилах инструментов разработки и предварительно настроенных элементов для ускорения процесса разработки приложений и прототипирования. Многие аспекты разработки системы могут быть приведены в действие посредством low-code для устранения избыточности и затрат.
Благодаря инструментам low-code разработчики больше не должны индивидуально кодировать каждый пользовательский интерфейс, рабочий процесс или процедуру нового приложения. Системы могут быть построены с меньшим риском написания кода, и самые опытные разработчики могут сосредоточиться на более сложных задачах [4].
Рассматривая популярность платформ low-code и no-code, можно привести следующие примеры их использования на практике.
Salesforce имеет долгую историю внедрения платформ, ориентированных исключительно на нетехнических бизнес-пользователей, и её решения low-code и no-code не являются исключением. Платформа Salesforce теперь включает в себя ряд инструментов компании, предназначенных для помощи в разработке бизнес-приложений, включая Salesforce Lightning, Force.com, и облачная платформа приложений Salesforce. Мобильный издатель компании позволяет разработчикам публиковать приложения в магазинах приложений Apple и Google [5].
OutSystems рассматривает растущий спрос на непрерывную разработку, предлагая решение, в котором используется искусственный интеллект, чтобы помочь разработчикам создавать приложения с помощью визуальной среды разработки, основанной на моделях. Доступ пользователей основан на персоне, что позволяет разрабатывать на уровне комфорта пользователей, начиная от профессиональных и заканчивая начинающими разработчиками. Сервисы платформы, улучшенные с помощью искусственного интеллекта, обеспечивают автоматизацию для улучшения жизненного цикла приложений. Платформа использует шаблоны, а также настраиваемые приложения [5].
Microsoft Power Apps - основная платформа разработки low-code и no-code от компании Microsoft, предназначена для того, чтобы помочь пользователям создавать мобильные и веб-приложения. Это решение тесно интегрировано с рядом продуктов Microsoft, построенных на Common Data Service, которая подключается к бизнес-данным, хранящимся либо в базовой платформе данных (Microsoft Dataverse), либо в различных сетевых и локальных источниках данных (SharePoint, Microsoft 365, Dynamics 365, SQL Server) [5].
Платформы low-code и no-code имеют много преимуществ, к основным из которых можно отнести:
- Экономия средств;
- Быстрое создание и развертывание приложений;
- Может быть реализована программистами-непрофессионалами или технически заинтересованными людьми;
- Межкомандное сотрудничество;
- Простая интеграция с другими платформами через API;
- Фокус на решении проблем, меньше на дизайне и поверхностях.
Вместе с тем эти платформы имеют и недостатки. При традиционном программировании существует огромный опыт и надежные сообщества. Во многих отношениях платформы low-code/no-code находятся в зачаточном состоянии, хоть разработка, управляемая моделями, и существует уже давно, особенно с платформами по управлению бизнес-процессами [6].
Следует отметить такие основные проблемы для low-code и no-code:
- Изменение культуры организации: платформы low-code и no-code требуют изменения культуры организации, будь то крупное предприятие или стартап, а это требует видения и одобрения со стороны руководства [7].
- Изучение платформ требует времени и усилий: no-code и low-code повышают скорость и производительность, но это нелегко. Эти платформы не являются тривиальными, и развитие определенного уровня знаний требует времени. Сложные конструкции программирования, такие как вложенные циклы, не являются простыми на любой платформе [7].
- Ресурсы и поддержка сообщества ограничены: многие платформы являются относительно незрелыми. Существуют миллионы разработчиков – иногда десятки миллионов – для обычных языков программирования. Многие курсы, книги и материалы легко доступны для таких языков, как Java или C#. Совершенно другой сценарий для платформ low-code и no-code – особенно для более поздних платформ [7].
- Ценообразование может сбивать с толку: корпоративные платформы low-code и no-code, как правило, неоправданно дороги. Платформы среднего и малого рынка менее затратные, но, как правило, менее масштабируемые. Привлечение нескольких платформ для комплексного решения еще больше усложняет вопросы ценообразования [7].
Заключение
Платформы без кода предлагают захватывающие возможности для предприятий и команд любого размера. Правильно выбранная платформа дает вашей команде возможность быстро и легко разрабатывать собственные бизнес-процессы. Они помогают повысить инновационность и снизить нагрузку на ваш ИТ-отдел. Можно выделить четыре важные характеристики, которым должна соответствовать платформа no-code:
- No-Code – это визуальный метод разработки на основе моделей для моделей данных, бизнес-логики или пользовательских интерфейсов. Так, если в классических языках программирования, например, вы в равной степени начинаете с нуля, то в No-Code вам не нужно об этом думать.
- No-Code фокусируется на возможности повторного использования благодаря использованию готовых шаблонов, виджетов, плагинов и компонентов. Они доступны в виде строительных блоков и могут быть использованы напрямую.
- No-Code охватывает весь жизненный цикл разработки программного обеспечения. То есть, от разработки и развертывания до последующего расширения приложения.
- Последней особенностью является автоматическое предоставление и управление приложением через облако или непосредственно в виде локальной системы. Вместо того чтобы создавать новый сервер для каждого приложения, приложения работают непосредственно на соответствующей платформе.
Платформы, в основе которых лежит концепция low-code, объединяют ИТ и бизнес, обеспечивая быструю разработку и внедрение изменений. Они содержат инструменты визуального моделирования, значительно упрощающие разработку приложений и сокращающие объем кода, необходимого для их создания.
Конечно, low-code и no-code не заменят традиционную разработку приложений, но делают этот процесс проще и доступнее для нетехнических людей. Разработчики всегда будут востребованы, но с платформами low-code и no-code любой, у кого есть хорошая идея, сможет выполнить ее самостоятельно. Эти платформы изменят разработку приложений в более широкой схеме, позволив процессу работать более эффективно. Не стоит недооценивать такие основные преимущества данных платформ, как снижение времени на цикл разработки, легкость модификации, прозрачность, наглядность, низкая итоговая стоимость.