Руслан Рахметов, Security Vision
В этой статье мы расскажем про подход к разработке программного обеспечения, которые позволяют создавать приложения с минимальным использованием кода. Его называют low-code или no-code, однако сами термины отличаются друг от друга степенью простоты: в первом случае может быть необходимо программировать отдельные элементы классическим методом (например, добавить скрипт на выбранном языке программирования для выполнения действия по нажатию кнопки), а для no-code – все можно сделать в простом интерфейсе без единой строки кода.
Процесс такого создания программ похож на сборку детского конструктора LEGO, когда из целого набора отдельных деталей можно собрать дом, космический корабль или огромное дерево. Только при создании программ вместо деталей конструктора используются другие сущности:
- карточки и таблицы;
- кнопки и другие средства управления;
- логические алгоритмы, например, в виде блок-схем;
- основные и контекстные меню;
- видео, значки и иконки;
и др. графические инструменты, например, для построения графиков и схем.
Рисунок 1.1 - карточки и таблицы
Рисунок 1.2 - логические алгоритмы, например, в виде блок-схем
При помощи выбранного метода любой человек, даже без опыта программирования, может создавать приложения путем перетаскивания элементов, готовых шаблонов и разных инструментов. В таком случае разработка приложений происходит в разы быстрее, чем с помощью традиционных методов программирования, а при изменении потребностей можно намного легче вносить изменения в продукт.
Методами low-code и no-code можно создавать как простейшие приложения (например, калькулятор), так и более сложные (например, SOAR – системы автоматизированного реагирования на инциденты ИБ, дизайнерские элементы или мобильные приложения). Создаваемые таким способом интернет-магазины, приложения для сотрудников, страницы сайтов и сервисы более доступны для малого бизнеса и стартапов, но могут применяться и в крупнейших организациях для создания целых экосистем продуктов, связанных друг с другом едиными интерфейсом, моделью данных и способами передачи информации.
Также инструменты no-code используются для ускоренного прототипирования, когда перед разработкой приложения классическим способом необходимо быстро создать продукт для демонстрации внешнего вида и базового функционала. В таком случае применение разработки без кода напоминает черновик или нарисованную на салфетке схему сложного инженерного оборудования перед созданием набора полных и детальных чертежей.
На рынке существует множество подобных сервисов для различных сфер деятельности, например, сайтов, мобильных приложений, бизнес-процессов, обучения и игр:
- Webflow для создание высококачественных сайтов;
- Adalo и AppMaster для мобильных приложений;
- Glide для мобильных приложений на основе Google Таблиц ;
- Zapier для автоматизации задач между различными приложениями;
- Airtable для баз данных и управление рабочими процессами;
- Integromat и Workato для интеграции приложений и автоматизация задач;
- Kissflow для автоматизация рабочих процессов и управления задачами;
- Nintex для автоматизации бизнес-процессов и создания приложений;
- Figma и Sketch для дизайна интерфейсов, создания прототипов сайтов и приложений;
- Adobe XD и Bubble для прототипов и веб-приложений;
- UXPin для дизайн-систем и пользовательских интерфейсов;
- Proto.io для интерактивных прототипов и дизайн-систем;
- Kahoot! для создания интерактивных викторин и игр;
- Genially и Mentimeter для интерактивных презентаций и опросов;
- ThingLink и Pear Deck для интерактивных изображений и видео, например, уроков;
- Classcraft для игрового пространства для обучения.
А также Backendless, Shoutable и др. сервисы для прикладных задач разработки, или SV платформа для создания продуктов в области автоматизации информационной безопасности и IT.
Представьте себе сложную систему, которую можно собрать из готовых частей так, чтобы она была прочной и устойчивой, удобной в использовании и адаптации, поскольку её можно полностью кастомизировать под себя, и полностью управляемой – если она используется для создания сложных экосистем продуктов. Большинство таких сервисов представляют собой онлайн-инструменты, но есть и решения, которые можно установить внутри вашей компании и управлять независимо от внешних факторов.
В целом, low-code/no-code – это мощные инструменты, которые могут открыть мир разработки ПО для широкого круга людей, а также позволяют делать по-настоящему индивидуальные продукты. Сфера применения low-code/no-code платформ постоянно расширяется и приносит пользу в различных сферах экономики:
- Финансы: создание кредитных заявок, анализ данных, управление инвестициями;
- Здравоохранение: запись на приём к врачу, управление историями болезни, телемедицина;
- Образование: создание онлайн-курсов, тестирование, управление учебными заведениями;
- Маркетинг: проведение email-рассылок, создание лендингов и автоматизация маркетинговых кампаний;
- Недвижимость: поиск недвижимости, управление сделками, реклама объектов;
- Юриспруденция: подготовка документов, управление делами, юридические консультации;
- Производство: управление цепочками поставок, контроль качества, планирование производства;
- Государственный сектор: подача заявок на получение услуг, оформление документов, взаимодействие с гражданами;
- Информационная безопасность и ИТ: интеграция различных решений в общие экосистемы, формирование оповещений и автоматизированных отчётов, управление заявками;
Это лишь несколько примеров, платформы на самом деле можно использовать практически в любой сфере (см. аналитику Хабр , Forrester и Gartner ), где требуются автоматизация задач или создание программного обеспечения, а сам подход позволит:
1) сократить время (за счёт простоты) и затраты (за счёт более простых требований к разработчикам и скорости самой разработки);
2) повысить производительность труда и оптимизировать команду;
3) улучшить качество при создании надёжных и безопасных приложений.
Чтобы выбрать платформу под ваши задачи, можете пройти задать себе три простых группы вопросов:
Определите свои цели и задачи.
- Что вы хотите создать с помощью платформы?
- Какие прикладные функции нужно выполнить?
Оцените свой бюджет.
- Сколько вы готовы потратить на платформу?
- Необходим ли вам единый интерфейс для подобной разработки или вы готовы применять несколько сервисов для разных задач?
Определите уровень технических навыков.
- Вам нужна платформа с простым интерфейсом или вы готовы к более сложным функциям?
- Владеют ли специалисты разными языками программирования?
- Применяете ли вы какие-то скрипты уже сейчас, чтобы перенести их в будущий продукт?
А также почитайте отзывы и попробуйте несколько платформ: многие платформы предлагают бесплатные пробные периоды, так что вы можете протестировать несколько вариантов, прежде чем принимать решение.