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

А с приходом пандемии компании резко начали внедрять цифровые продукты для дистанционной работы как внутри, так и с клиентами. Стремительный рост спроса на разработку программного обеспечения взвинтил не только зарплаты и создал огромный дефицит разработчиков.

И что же делать компаниями, для которых обычный no-code не подходит и нужны настоящие приложения? На рынке есть идеально подходящее решение — AppMaster.io.

Что такое AppMaster.io

AppMaster.io это прежде всего облачная платформа, которая пишет код приложений вместо разработчиков. Платформа умеет создавать серверные приложения (бэкенд), веб- и мобильные приложения с помощью кодогенерации. Да, эта штука пишет исходный код!

Серверные приложения на максималках

AppMaster.io закрывает потребность в создании серверных приложения (бэкенда) за счет генерации исходного кода приложения на языке Go (это современный и очень популярный язык программирования от компании Google).

Платформа берет на себя все обязанности, которые раньше делали разработчики — пишет код, собирает и компилирует его, проводит тесты, настраивает базу данных и даже публикует серверное приложение в собственное облако или в AWS, Google Cloud и другие хранилища.

Чтобы собирать даже самые замысловатые серверные приложения, в AppMaster.io есть множество инструментов.

Базы данных

AppMaster.io работает с любой PostgreSQL-совместимой базой данных — PostgreSQL11+ (неожиданно😁), Amazon RDS, Google Cloud SQL и аналогами. Для создания таблиц, полей и связей используется визуальный редактор с Drag&Drop и автоматическими подсказками для выбора типов полей.

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

Когда количество таблиц вашей базы данных перевалит за второй десяток — визуальное представление в виде классической схемы позволит вам видеть, где у вас и какая таблица, какие связи есть.

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

Так выглядит дизайнер баз данных

Бизнес-логика

В AppMaster.io вся основная логика создается с помощью бизнес-процессов и соответствующего дизайнера бизнес-процессов. Каждый бизнес-процесс в платформе AppMaster.io — это своего рода функция, которая принимает на вход переменные и выдает обработанные данные.

Интерфейс дизайнера бизнес-процессов сделан в стиле блюпринтов с Drag&Drop-интерфейсом, визуализацией потока действий и связей переменных. Немного напоминает редактор в Unreal Engine по расположению переменных и некоторых блоков, но в целом очень удобен.

Конструктор бизнес-логики

Простота, наглядность и мощь редактора бизнес-процессов совсем не говорит о том, что при создании проектов не нужно включать голову: простую логику конечно можно сделать и как-нибудь накидав блоков (и она будет работать).

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

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

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

Вебхуки и эндпоинты

AppMaster.io позволяет создавать несколько типов API-эндпоинтов: обычные API для обращения к бэкенду от веб-интерфейса и сторонних систем, вебхуки для приема уведомлений от сторонних систем и даже вебсокеты (на момент выхода обзора они в закрытом бета тестировании).

Любой эндпоинт в AppMaster.io это обертка над бизнес-процессом и единственная ее задача — запустить ваш бизнес-процесс с нужными данными, полученными из веб-запроса. Еще в них есть множество настроек, подключаемые middleware и прочие полезные штуки, но они как правило нужны, если у вас нестандартная задача.

Запросы к сторонним системам по API

Создатели AppMaster.io интересно подошли к вопросу подключения создаваемых приложений к внешним системам — они просто сделали дизайнер внешних запросов. Видели Postman для тестирования запросов? Так вот это его реинкарнация внутри AppMaster.io, может быть, там пока не настолько широкий функционал, но уже достаточный, чтобы настраивать внешние запросы.

Чтобы создать запрос к API внешней системы, нужно просто ввести URL ее эндпоинта и автоматически заполнить формат запроса и ответа. Как только вы сохраните ваш внешний запрос… он появился в виде блока в редакторе бизнес-процессов! Перетаскивайте его на канвас — когда вам нужно, он отправит и примет данные. Смотря на такие штуки, ты понимаешь, что возможности если и не безграничны, то уже точно их хватит на реализацию почти любой идеи.

Модули

Модули в AppMaster.io заслуживают отдельного разговора. Модули позволяют очень быстро расширять приложение без необходимости что-либо делать самому вообще: каждый модуль может создавать таблицы в базе данных (а вы их еще и расширять можете!), создает нужные ему бизнес-процессы, добавляет компоненты в дизайнер веб-приложений, добавляет виджеты в дизайнер мобильных приложений и делает еще много всего.

В платформе есть более 40 различных модулей — от авторизации до работы с изображениями и криптографией (шифрованием). Более 100 модулей доступны в закрытой бете и наверняка скоро попадут в открытый доступ.

Кстати, при использовании таких модулей как криптография раскрывается одно из самых весовым преимуществ платформы AppMaster.io и ее сгенерированных приложений — как и любое Go приложение, оно поддерживает аппаратное ускорение шифрования! А это дает до x10 прирост скорости операций шифрования, хэширования и цифровой подписи.

Примеры модулей AppMaster.io

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

Веб-приложения

В AppMaster.io веб-приложения создаются с помощью фреймворка Vue 2, и по большей части они ограничены админками и пользовательскими кабинетами. В отличие от большинства no-code платформ, все элементы интерфейса строятся на основе ваших данных (если быть точным — эндпоинтов).

Так, например, чтобы добавить таблицу в ваше приложение при перетягивании ее на холст, вас попросят выбрать эндпоинт, и как только вы выберете — таблицу автоматически настроят для вас.

Иногда рвёт шаблон, когда вы хотите добавить поле в форму и не понимаете, как это сделать — а поле-то добавить нужно в ваш эндпоинт/бизнес-процесс/таблицу данных.

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

В целом, набор доступных компонентов стандартный для no-code платформ, но есть интересное отличие в виде системы триггеров и действий. Создатели платформы к каждому компоненту добавили набор триггеров, которые срабатывают при взаимодействии пользователя с компонентом. Для кнопок onClick, onShow, для форм onSubmit и т. п.

В связке с действиями это дает возможность сделать интерфейс веб-приложения интерактивным: направлять пользователя на нужную страницу, менять состояния компонентов, делать запросы на сервер и др.

Возможность создавать веб-сайты обещают добавить в 2022 году.

Мобильные приложения

Стоит оговориться сразу, что функционал создания мобильных приложений в AppMaster.io находится в раннем доступе и активно допиливается разработчиками. На чем же делает приложения AppMaster.io? ReactNative, PhoneGap, Cordova, Flutter? Не угадали. У AppMaster.io свой фреймворк поверх SwiftUI (iOS Swift) и JetPack (Android, Kotlin).

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

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

Доставка экранов и логики в режиме реального времени позволяем вам для уже опубликованного в App Store и Play Market приложения менять дизайн и работу элементов хоть 300 раз в день без необходимости выпускать новые версии приложения. Достаточно внести изменения в дизайнере мобильных приложений и повторно опубликовать бэкенд приложения — пользователи мобильных приложений увидят изменения практически мгновенно.

В дизайнере мобильных приложения уже знакомая нам по дизайнеру веб-приложения концепция триггеров и действий. Подключаемые модули добавляют виджеты и действия с приложением, а внутри приложений используется flexbox-позиционирование элементов в отличие от абсолютного в других no-code платформах.

Для каких проектов подойдет AppMaster.io

Если вы создаете приложения для корпоративных заказчиков, то AppMaster.io ваш лучший выбор: отличная производительность серверных приложений с возможностью компиляции под Windows, Linux и MacOS бьет, наверное, любую другую no-code-платформу, автоматическая генерация документации API, поддержка работы в кластерах типа Kubernetes и Docker Swarm, встроенный health-monitor, логгер Zap и работа с СУБД PostgreSQL дают отличные возможности для создания в развития приложений.

Встроенный в приложения монитор нагрузки

Ну а вишенка на торте — возможность забрать исходный код и вести разработку уже вне платформы снижает риски любого проекта многократно. А еще если вы работаете с компаниями в СНГ или с государственными агентствами — возможность публикации бэкенда в облака и локально к заказчику многого стоят и могут стать решающим фактором при выборе no-code-платформы.

Пример исходного кода приложения на языке Go

С другой стороны, если вы делаете веб-сайт или простенькое приложение без сложной логики и надежд на высокую нагрузку, AppMaster.io для вас не подойдет — в первую очередь потому, что есть множество более простых инструментов, в которых вам разобраться будет проще.

Вместо заключения

Если вы активно следите за развитием no-code в мире, то наверняка вам попадалось множество аналитических отчетов и прогнозов о том, что в ближайшее десятилетие более половины всех приложений будут разрабатываться с помощью no-code-платформ. Для обычных пет-проектов уже сейчас доступно огромное количество инструментов — Tilda, Bubble, Webflow, AppSmith, Directual и другие.

Очевидно, что компании не будут строить свои решения на no-code, работающем на Airtable или «Google Таблицах», а производительности виртуальных приложений едва ли хватит для работы под значительной нагрузкой. Для экспансии no-code в корпоративный рынок лучшим кандидатом является кодогенерация с привычными инструментами — компилируемым кодом и СУБД корпоративного уровня, и AppMaster.io одна из первых платформ, которая соответствует этим требованиям.

Чтобы стать профессиональным зерокодером, освоить Bubble, Webflow, Adalo и другие инструменты, возьми абонемент на все курсы университета ZEROCODER. Получи знания, которые помогут зарабатывать сотни тысяч рублей.