Вызовет ли Low-Code безработицу и разруху среди разработчиков или это просто очередной хайп?

Пытаясь оценить угрозу Low-Code для инженеров-программистов, мы — группа предприимчивых разработчиков из Comsysto Reply — решили окунуться в платформу Low-Code OutSystems. Нужно ли нам шлифовать наши резюме, чтобы найти вторую опору, на которую можно будет опереться после того, как мы устарели как разработчики? Или стать экспертом по низкому коду — это путь?

Прыжок прямо в Low-Code

Мы начали с тренинга Jump Start, организованного OutSystems, который познакомил нас с их платформой и продемонстрировал, как она может ускорить создание веб-приложений с использованием полнофункциональной визуальной разработки. Во время сессии мы поэкспериментировали с их IDE под названием ServiceStudio. Мы были впечатлены, когда у нас за два часа было собрано работающее веб-приложение, включая внешний интерфейс, серверную часть и базу данных. Мы развернули его в облаке OutSystems за считанные секунды и сразу же смогли открыть его в мобильной версии на наших смартфонах.

Но все всегда кажется отличным, если следовать идеально подготовленному учебнику с решением прямо под рукой. Мы решили пойти немного дальше и оценить некоторые аспекты, которые, по нашему мнению, были критическими для продуктивного использования. На ум пришли три критически важные области: настройка пользовательского интерфейса, интеграция с внешними системами, а также аутентификация и авторизация на основе ролей. Но как начать?

Прежде чем мы смогли интегрировать данные из другого приложения, нам понадобилось программное обеспечение, которое могло бы хранить и отображать данные. При создании проекта с помощью OutSystems можно выбирать между установкой реактивного веб-приложения или приложения для телефона. Эти проекты поставляются с предварительно определенными модулями, такими как экраны входа или меню, но также можно использовать настраиваемые модули для создания программных элементов, которые можно легко использовать повторно. Чтобы быть быстрее, мы решили пойти на подготовленную установку.

Стиль это

Создавая с помощью OutSystems, вы получаете готовый современный дизайн пользовательского интерфейса с широким набором вариантов компоновки. Как мы поняли из нашего сеанса Jump Start, мы могли бы использовать существующий шаблон одним нажатием кнопки, который уже предоставляет контейнер галереи продуктов, хорошо подходящий для нашего варианта использования. Кроме того, используя предоставленные шаблоны, также можно создавать свои собственные шаблоны, способствующие повторному использованию элементов пользовательского интерфейса.

С помощью редактора тем вы можете выбрать собственную цветовую палитру или создать ее автоматически на основе предоставленного значка. Также можно настроить стиль шрифта, расстояние между элементами и их границы. Кроме того, CSS, используемый OutSystems, доступен и может быть изменен для внесения изменений во все приложение или текущий выбранный экран путем переопределения свойств в предоставленных листах.

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

Но особенно для приложений, ориентированных на клиента, настройка пользовательского интерфейса часто является критическим фактором. Хотя OutSystems предоставляет множество уже существующих компонентов и конструктивных особенностей, она по-прежнему считает, что возможности настройки — особенно для корпоративного дизайна — ограничены. С помощью редактора тем мы могли выбрать только три цвета для нашей палитры, а взаимодействие с таблицами стилей было не очень интуитивным. Кроме того, нам не хватало поддержки SVG, которая важна для четких изображений.

Меньше кода для большего количества данных

Чтобы оценить усилия по интеграции части программного обеспечения, созданного с помощью OutSystems, в существующую инфраструктуру, мы решили использовать общедоступный REST-API интернет-магазина.

Платформа обеспечивает стандартную интеграцию REST (рядом с интеграцией SOAP), которая позволяет нам легко использовать ресурс, предоставляя метод ресурса и его URL-адрес. При отправке только образца тела ответа JSON была автоматически сгенерирована структура данных, которая будет содержать ожидаемые данные. Затем мы создали действие с выходным параметром на клик мыши и присвоили ему структуру данных, и бац… мы потребляли продукты из REST-API, не написав ни строчки кода.

Хотя разработчики, любящие код, чувствовали себя неловко, мы были в восторге, увидев, что можем использовать конечную точку GET, возвращающую список продуктов всего за несколько кликов.

Однако за тот короткий период времени, который у нас был, у нас возникли некоторые проблемы с выяснением того, как взаимодействовать с другим API, требующим аутентификации. Например, мы не знали, как установить переменную среды в среде IDE. Но мы считаем, что эта, а также многие другие сложные конструкции осуществимы путем интеграции высокого кода с помощью Integration Studio от OutSystems. Другой альтернативой может быть использование плагина от Forge, который является репозиторием сообщества OutSystems для компонентов с открытым исходным кодом.

Сделать это доступным

Поскольку веб-приложения, такие как интернет-магазины или административные панели, всегда требуют от своих пользователей аутентификации для предоставления им различных уровней доступа, мы решили проверить, что предлагает OutSystems с точки зрения управления пользователями. Здесь OutSystems предоставляет интерфейс администрирования для управления всеми конечными пользователями для каждой учетной записи облачной среды. Пользователи могут быть назначены определенному приложению, встроенному в инфраструктуру OutSystems. Но если предпочтение отдается существующему поставщику удостоверений (например, Azure AD), можно просто настроить внешнего поставщика проверки подлинности в LifeTime, приложении для управления жизненным циклом, а также для управления ИТ-пользователями.

Мы решили создать простого тестового пользователя в предоставленном инструменте управления пользователями и назначить его нашему приложению. Теперь было легко войти в систему с нашим тестовым пользователем, поскольку экран входа в систему с необходимой логикой предоставляется из коробки. Но наш тестовый пользователь был не просто обычным пользователем приложения, мы решили, что он должен иметь особую роль и видеть особые функции в нашем приложении. Как мы могли бы сделать это без написания кода?

Итак, мы добавили новую роль пользователя через ServiceStudio. Нам нужно было только дать ему имя, и мы уже получили несколько удобных функций для проверки, предоставления или отзыва роли. Роль пользователя мгновенно стала доступна в инструменте управления пользователями, и мы смогли назначить ее нашему специальному тестовому пользователю. Теперь блокировка или разблокировка экрана для определенного пользователя была просто установкой флажка для каждой роли пользователя. Кроме того, мы могли бы даже показывать или скрывать отдельные элементы на экране, применяя элемент if с условием проверки авторизации.

Однако, знакомясь с платформой и ее IDE, мы заметили некоторую неудовлетворенность при поиске в документации и в Интернете пошаговых инструкций по настройке управления пользователями. Поскольку мы считали, что это типичный вариант использования и имеет решающее значение для большинства программных систем, мы ожидали, что это будет подробно объяснено.

Угроза или счастье для разработчика?

Подводя итог: да, как разработчику, работающему полный рабочий день, перспектива работы с IDE, собирающей приложение только путем щелчка, перетаскивания и опускания элементов пользовательского интерфейса, не очень привлекательна. Но, если смотреть на это с точки зрения бизнеса, он определенно подходит для PoC, MVP и проектов с ограниченным бюджетом. Без больших финансовых вложений вы можете представить клиенту стильное мобильное или веб-приложение всего за несколько кликов. И все мы знаем, что каким бы сложным и элегантным ни был ваш код, больше всего впечатляет чистый и четкий дизайн.

Как показала наша первая попытка создания интернет-магазина, он также имеет некоторую ценность для интеграции в платформу электронной коммерции. Мы бы даже рассматривали его как вариант использования с упором на доступ, отображение и манипулирование данными, например простые ERP-системы в государственном секторе, где финансовый бюджет на разработку современных приложений обычно очень ограничен.

Наше любопытство определенно разожжено, и мы готовы продолжить тестирование OutSystems. На данный момент мы не рассматриваем его как угрозу, вместо этого он может быть вспомогательным инструментом для быстрых PoC, маркетинговых предложений и простых приложений для наших клиентов, но кто знает, что нас ждет в будущем? … И отшлифовать это резюме никогда не бывает плохой идеей.

Вы хотите узнать, какие еще инструменты мы в Comsysto Reply применяем и какие услуги предлагаем? Посетите наш сайт: https://www.comsystoreply.de/services

Этот блог-пост опубликован Comsysto Reply GmbH