Потратив свою карьеру на написание программного обеспечения и часто серьёзно борясь с дизайном, с момента присоединения к команде Adalo несколько месяцев назад я был просто поражен тем, как легко создавать и подключать пользовательские интерфейсы с помощью конструктора приложений Adalo. Adalo — это конструктор приложений без кода для веб-приложений на основе базы данных и нативных приложений iOS и Android — одна версия на всех трёх платформах, опубликованная в Apple App Store и Google Play. Откровенно говоря, я всегда думал, что конструкторы приложений без кода ограничены созданием довольно простых приложений в стиле CRUD (создание, получение, обновление, удаление) и панелей управления.
Поскольку Рождество быстро приближается, и я являюсь тем типом человека, который любит автоматизировать вещи без какой-либо конкретной причины, несколько дней назад я начал интересоваться, было ли бы возможно создать приложение Adalo, которое может управлять огнями рождественской ёлки моей семьи. Они уже подключены к интеллектуальной розетке и устройству Alexa на нашей кухне, поэтому их можно включать и выключать с помощью команды «Alexa, включи рождественскую ёлку», но знаете, что лучше, чем одна интеграция домашней автоматизации? Две. Далее следует краткое изложение моего стремления создать и запустить мобильное приложение для управления освещением рождественской ёлки с помощью Adalo, липкой ленты и плохого суждения.
Приложение будет доступно в течение нескольких дней, начиная с понедельника, 16 декабря, и может периодически быть в автономном режиме из-за того, что я не дома (боюсь пожара), мои жена угрожает мне удушить за то, что я сделал это общественным достоянием, или очевидные технические проблемы, которые могут возникнуть. Проверьте это на сайте https://xmas.wjgilmore.com.
Представление приложения
Приложение творчески называется Adalo XMAS Tree App. Оно состоит из некоторого оформления, двух кнопок для переключения рождественских огней и трансляции YouTube в прямом эфире, чтобы вы могли смотреть действие в режиме реального времени. Но эти кнопки, о, эти кнопки практически неотразимы. Вы просто не можете удержаться от их нажатия и от желания увидеть, как эта ёлка либо загорится в ответ, либо представить, как моя жена стонет после того, как видит её снова потухшей.
Вчера вечером мы смотрели американский сериал Apple Silo (сезон 2, смотрите, это потрясающе), и я оказался в смертельной борьбе с каким-то неизвестным цифровым злоумышленником. Я думаю, я знаю, кто это был (Allison, не думай, что я не знаю, что это была ты!), но в любом случае террористка ёлки щёлкала её выключателем. А я включал его обратно. Через несколько мгновений гринч возвращался, и огни снова гасли. И я снова доблестно дал отпор, осветив гостиную ещё раз. Говорят, что герои рождаются не, а куются в мишуре, и я живое тому доказательство.
Спорю, ты слюнишь при мысли о нажатии этих кнопок. Ну вперёд. Иди на https://xmas.wjgilmore.com и попробуй их. ПРЕДУПРЕЖДЕНИЕ: Я понятия не имею, как долго это будет доступно, прежде чем мой интернет-провайдер, ошибка программирования или, откровенно говоря, моя жена отключит его.

Почему Adalo подходит для приложений умного дома
Создание приложения управления Интернетом вещей может звучать сложно, но визуальный конструктор Adalo делает это на удивление простым. Платформа выполняет тяжёлую работу — компиляция нативных приложений, интеграции API и управление базой данных — в то время как вы сосредотачиваетесь на забавной части, например на проектировании кнопок, которые управляют рождественской ёлкой. Благодаря более чем 3 миллионами созданных приложений на платформе существует проверенный послужной список проектов, начиная от простых утилит и заканчивая сложными бизнес-приложениями.
То, что делает Adalo особенно подходящей для проектов такого типа, — это комбинация простой интеграции API и возможность публикации непосредственно в магазины приложений. Вы не создаёте веб-обёртку, которая работает медленно на мобильном устройстве — вы создаёте истинное нативное приложение, которое мгновенно реагирует, когда кто-то со всего мира решает поиграться с вашим праздничным украшением.
Общение с интеллектуальной розеткой
Потому что в 2026 году мы не можем потрудиться согнуться, чтобы подключить и отключить гирлянду, я использовал интеллектуальную розетку TP-Link KP115 для управления огнями через Alexa. Это довольно простой процесс, но, насколько мне известно, нет официального способа взаимодействия с розеткой вне Alexa и ужасного приложения производителя. GitHub спешит на помощь! Как и ожидалось, добрый программист провёл обратное проектирование протокола связи розетки и объединил его в удобный пакет Python под названием python-kasa. Чтобы установить python-kasa, запустите:
pip install python-kasa
После установки вы можете начать опрашивать вашу локальную сеть поддерживаемых устройств, используя discover команду:
kasa discover
Итак, вы не только можете легко определить назначенный IP-адрес каждого устройства, но также можете определить, включено ли оно, как долго оно находилось во включённом или выключённом состоянии и сколько энергии оно потребило как за текущий месяц, так и с момента последней перезагрузки. Довольно круто!
Как только вы узнаете IP-адрес устройства, легко включить и выключить его:
kasa --host 192.168.1.100 on kasa --host 192.168.1.100 off
Создание API
Моей конечной целью было управление этой розеткой через мобильное приложение Adalo, которое теоретически можно было бы получить из любой точки мира, включая Северный полюс. Это означает открытие интернет-соединения из моей домашней сети для внешнего мира. Дайте мне ясно: существуют правильные способы сделать это, и существуют неправильные способы. Способ, который я собираюсь вам показать, очень, очень неправильный, и мой поставщик услуг домашнего интернета, вероятно, отключит наше соединение за это.
На мой взгляд, самая простая версия этого API требует три конечных точки: статус, включение и выключение. Конечная точка статуса сообщает нам, включена розетка или выключена, в то время как конечные точки включения и выключения говорят сами за себя. Я использовал Flask для создания API и обнаружил, что его очень легко использовать. Чтобы создать конечную точку, вы просто определяете URI маршрута, а затем метод, который сразу же следует, выполняется при запросе этой конечной точки.
Верите ли вы или нет, но этого достаточно, чтобы создать функционирующий Flask API:
from flask import Flask app = Flask(__name__)@app.route('/status')
Сохраните этот файл как status.py или как-нибудь ещё, а затем запустите сервер Flask вот так:
flask —app status run
Поскольку маршруты Flask по умолчанию являются запросами GET, вы можете просто открыть браузер и перейти на http://127.0.0.1:5000/status чтобы протестировать это. При условии, что нет ошибок синтаксиса, вы должны увидеть строку hello отображённую в браузере.
В случае моего проекта мне нужно было, чтобы конечные точки API выполняли команды python-kasa, поэтому я использовал модуль subprocess в Python для запуска команд оболочки. Для целей этого проекта я могу позволить себе играть немного свободнее, однако если вы когда-нибудь попытаетесь что-то подобное и вам нужно передать параметры в команду оболочки то это критически важно чтобы вы проверили данные перед этим. Вот полный сценарий Flask, используемый для этого проекта:
from flask import Flask import subprocessapp = Flask(__name__)
@app.route('/status')
@app.route('/on')
@app.route('/off')
Общение с внешним миром
Вы, вероятно, заметили, что Flask API работает на localhost, что означает, что он недоступен для внешнего мира. Чтобы сделать этот API доступным в других местах, я использую сервис под названием ngrok. ngrok существует столько, сколько я себя помню, и в двух словах он обнаружит локальный сервер разработки в Интернете (среди многого другого). Используя ngrok, мы можем обнаружить порт 5000 моего локального сервера на поддомене ngrok.app так же легко, как запустить эту команду:
ngrok http 5000
Теперь я могу перейти к моей конечной точке ngrok из любой сети, и она будет перенаправлять запросы туда и обратно в мой API!
Проксирование запросов через DreamFactory
По соображениям безопасности и гибкости я затем направил конечную точку ngrok через DreamFactory. DreamFactory известна как обертка базы данных, способная быстро предоставить REST API корпоративного уровня, однако она может выполнять множество других интересных функций, таких как расширение возможностей существующих API. Я использовал соединитель скриптованного сервиса DreamFactory, потому что подумал, что было бы забавно в конечном итоге интегрировать другие возможности в приложение, такие как текущая температура на Северном полюсе. Это невероятно легко сделать с помощью DreamFactory, потому что я могу просто добавить новые конечные точки в мой скриптованный сервис.
Соединитель скриптованных сервисов DreamFactory поддерживает языки PHP, Python и NodeJS, и поскольку я лучше всего знаком с API платформы на основе PHP, я выбрал этот язык:
$api = $platform[‘api’]; $get = $api->get; $post = $api->post;$api->get('/status', function() {https://your-ngrok-url.ngrok.app/status');
$api->get('/on', function() {https://your-ngrok-url.ngrok.app/on');
$api->get('/off', function() {https://your-ngrok-url.ngrok.app/off');
$api->get('/temperature', function() {
Просто в целях иллюстрации я расширил то, что предоставляется через API Flask, добавив /temperature конечную точку, которая при запросе вернет «Freezing».
После сохранения этих изменений я добавил управление доступом на основе ролей к API DreamFactory и затем создал ключ API. На конечные точки API DreamFactory теперь можно получить доступ только путем предоставления ключа API, который передается через безопасный заголовок HTTP.
Интеграция API и приложения Adalo
Одной из моих любимых функций конструктора Adalo является то, насколько легко привязывать события к действиям пользователя. Например, при нажатии на кнопку «Включить елку» необходимо выполнить вызов API к /on конечной точке. Это достигается так же легко, как добавление «действия» к кнопке и указание того, какой тип события должен произойти, чтобы это действие выполнилось. Кроме того, вы можете определить несколько действий, как показано на этом снимке экрана (из самого приложения):

Вызов API отправляется на упомянутую выше конечную точку DreamFactory. Опять же, вызов защищен путем передачи ключа API через заголовок HTTP. Определение этого вызова осуществляется через простой веб-мастер, один из этапов которого показан на следующем снимке экрана:

Этот визуальный подход к интеграции API делает платформу Adalo очень доступной. Вы не пишете запросы fetch и не отлаживаете ошибки CORS — вы проходите через мастер, который обрабатывает техническую сложность. Улучшения скорости на 3-4x с момента переоборудования инфраструктуры Adalo 3.0 означают, что эти вызовы API выполняются быстро, сохраняя приложение отзывчивым даже при управлении оборудованием на противоположном конце света.
Подсчет частоты переключения света
Я подумал, что было бы забавно отслеживать количество раз, когда пользователи включали и выключали свет. Я мог бы сделать это в локальном API Flask, используя SQLite, но подумал, что имеет смысл хранить этот счет ближе к приложению, поэтому вместо этого использовал функцию Collections в Adalo.
Я создал одну коллекцию под названием counts состоящую из четырех полей: ID (обычный автоинкрементный первичный ключ), name (который хранит строки on и off) и обычные временные метки. Здесь применяются обычные предостережения, я мог бы, вероятно, установить это немного более эффективно, но мы просто продвигаемся вперед по проекту. Вот пример нескольких записей, хранящихся в таблице:

Стоит отметить одно: платные планы Adalo теперь включают неограниченные записи базы данных, что означает, что мне не нужно беспокоиться о том, что этот глупый рождественский проект достигнет какие-либо ограничения хранилища. Независимо от того, отслеживаете ли вы несколько сотен переключений света или масштабируете до миллионов взаимодействий пользователей, платформа обрабатывает это без дополнительных платежей или ограничений на количество записей.
Создание диаграмм результатов
Мой друг Ник из DreamFactory предложил создать диаграмму, изображающую частоту переключений. Я не хотел писать какой-либо пользовательский код для реализации этого, однако экспортировать данные из коллекции Adalo тривиально просто, поэтому я это сделал и загрузил их вместе с примером диаграммы в ChatGPT:

Да, я всегда вежлив при разговоре с ИИ в эти дни. Я со своей стороны приветствую и ценю наших робо-повелителей. Однако мне не понравилось, как получилась диаграмма, поэтому после нескольких попыток я попросил создать круговую диаграмму:

Настройка трансляции YouTube
Настройка трансляции YouTube была действительно простой; я использовал компонент YouTube из маркетплейса Adalo, вставил URL прямой трансляции, и это просто сработало. Плюс я могу смотреть статус прямой трансляции, используя этот забавный интерфейс YouTube Studio:

Экосистема компонентов маркетплейса — это одна из тех функций, которая экономит часы времени разработки. Вместо того чтобы разбираться с API встраивания YouTube и обрабатывать адаптивный размер на разных устройствах, вы просто перетягиваете и настраиваете. Компонент обрабатывает остальное, и поскольку Adalo компилируется в собственный код, воспроизведение видео работает плавно как на iOS, так и на Android.
Создание значка приложения
У меня нет никаких навыков дизайна, поэтому я просто полагался на DALL-E для создания значка. Я использовал подсказку «Please create a 1024 x 1024 px icon for a mobile app used to Control Christmas tree lights». DALL-E проигнорировал размеры и создал два варианта, найденные на снимке экрана:

В целях экономии времени я выбрал самый первый значок, который она создала, загрузил его на мой Mac и затем использовал малоизвестную функцию macOS по удалению фона для удаления градиента фона:

Ada, конструктор искусственного интеллекта Adalo, позволяет вам описать то, что вы хотите, и генерирует ваше приложение. Magic Start создает полные основы приложения из описания, а Magic Add добавляет функции на естественном языке.
Эта комбинация генерируемых ИИ активов и визуального конструктора Adalo представляет современный подход к разработке приложений. Вам не нужно быть дизайнером или разработчиком, чтобы создать что-то функциональное и забавное. Функции конструктора AI платформы пойдут еще дальше — в начале 2026 года обещают создание приложений на основе подсказок, где вы можете описать, что вы хотите, и платформа автоматически создаст экраны, логику и структуры баз данных через функции, такие как Волшебное начало и Волшебное добавление.
Публикация и производительность
Один аспект этого проекта, заслуживающий упоминания, — это то, как безупречно Adalo обрабатывает путь от идеи к опубликованному приложению. Платформа публикует непосредственно в Apple App Store и Google Play Store из единой кодовой базы. Это действительно самая сложная часть запуска приложения — работа с сертификатами, профилями подготовки и рекомендациями магазина — и Adalo справляется с этим автоматически.
Производительность приложения была стабильной на протяжении всего этого эксперимента. После полного пересмотра инфраструктуры Adalo 3.0 в конце 2025 года платформа работает в 3-4 раза быстрее чем раньше с модульной инфраструктурой, которая масштабируется в соответствии с потребностями вашего приложения. Для глупого рождественского проекта это может показаться избыточным, но это означает, что нажатия кнопок регистрируются мгновенно, а прямая трансляция загружается без задержек, даже когда несколько человек одновременно борются за свет елки.
Ценообразование Adalo также делает проекты вроде этого доступными. Начиная с $36/месяц с неограниченным использованием и без ограничений записей, вы можете экспериментировать свободно, не беспокоясь о неожиданных счетах. Сравните это с альтернативами, такими как Bubble (начиная с $69/месяц с использованием рабочих единиц на основе использования и ограничениями записей) или Glide (который вообще не поддерживает публикацию в App Store), и предложение стоимости становится ясным.
Заключение
Это был очень забавный проект, который рассмешил моих детей и соседей и бесконечно раздражал мою жену. Иногда лучшие проекты — это те, которые не имеют никакой реальной цели, кроме как посмешить. Надеюсь, к тому времени, когда вы прочитаете это, мой дом не сгорит.
Возможно, в следующей статье я задокументирую некоторые другие забавные вещи, которые всплыли во время разработки, например инструктор Treehouse Laura Coronel написал автоматический скрипт для взаимодействия с пользовательским интерфейсом и переключения светов елки 100 раз в минуту. Тот факт, что инфраструктура Adalo справилась с таким быстрым взаимодействием без каких-либо проблем, говорит о надежности платформы — даже для проектов, которые существуют исключительно для того, чтобы раздражать вашего супруга во время праздников.
Часто задаваемые вопросы
Почему выбрать Adalo вместо других решений для создания приложений?
Adalo — это конструктор приложений на основе ИИ, который создает настоящие нативные приложения iOS и Android из единой кодовой базы. В отличие от веб-обертрок, он компилируется в нативный код и публикуется непосредственно в Apple App Store и Google Play Store — автоматически справляясь с самой сложной частью запуска приложения. С неограниченными записями базы данных в платных планах и без платежей на основе использования, вы можете создавать и масштабировать без неожиданных расходов.
Какой самый быстрый способ создать и опубликовать приложение в App Store?
Интерфейс с перетаскиванием Adalo и помощь ИИ при построении позволяют перейти от идеи к опубликованному приложению за дни, а не месяцы. Платформа обрабатывает сложный процесс отправки в App Store — сертификаты, профили подготовки и рекомендации магазина — чтобы вы могли сосредоточиться на функциях вашего приложения вместо борьбы с требованиями Apple.
Могу ли я легко интегрировать внешние API и устройства умного дома с Adalo?
Да, Adalo упрощает привязку вызовов API к действиям пользователя, таким как нажатие кнопки, с помощью простого веб-мастера. Вы можете подключаться к таким сервисам, как DreamFactory, пользовательские API Flask или любая конечная точка REST с защищенными заголовками HTTP — без написания кода.
Как добавить действия кнопки и взаимодействие с пользователем в Adalo?
Добавлять действия кнопки невероятно легко — вы просто добавляете «действие» к любой кнопке и указываете, какое событие его запускает. Вы можете определить несколько действий на кнопку, например одновременно вызвать API и обновить запись в базе данных. Это делает создание интерактивных приложений с функциональностью в реальном мире простым даже без опыта кодирования.
Могу ли я хранить и отслеживать данные в моем приложении Adalo?
Да, Adalo включает встроенную функцию Collections, которая позволяет создавать таблицы базы данных для хранения и отслеживания данных. Вы можете легко настроить коллекции с пользовательскими полями, временными метками и отношениями, а затем экспортировать данные в любой момент. Платные планы включают неограниченные записи базы данных, поэтому вы никогда не столкнетесь с ограничениями хранилища.
Как вставить видео YouTube или прямые трансляции в мое приложение Adalo?
Adalo предлагает компоненты маркетплейса, включая компонент YouTube, который делает встраивание видео невероятно простым. Вы просто добавляете компонент маркетплейса YouTube на свой экран, вставляете URL вашего видео или прямой трансляции, и это работает сразу — не требуется пользовательского кодирования.
Нужны ли мне навыки дизайна для создания профессионального приложения с помощью Adalo?
Нет, вам не нужны навыки дизайна для создания красивого приложения. Платформа включает возможности темизации и предварительно построенные компоненты, которые помогают создавать отполированные интерфейсы. Вы также можете использовать инструменты ИИ, такие как DALL-E, для создания пользовательских значков и графики приложений.
Сколько стоит создание приложения управления Интернетом вещей с помощью Adalo?
Платные планы Adalo начинаются с $36/месяц с неограниченным использованием и без ограничений записей. Это включает возможность публикации в Apple App Store и Google Play Store. Сравните это с альтернативами, такими как Bubble ($69/месяц с платежами на основе использования) или FlutterFlow ($70/месяц за пользователя плюс отдельные расходы на базу данных).
Может ли Adalo обрабатывать высокий трафик и быстрые взаимодействия пользователей?
Да, с момента полного пересмотра инфраструктуры Adalo 3.0 в конце 2025 года платформа работает в 3-4 раза быстрее с модульной инфраструктурой, которая масштабируется для обслуживания приложений с миллионами активных пользователей в месяц. Архитектура поддерживает производительность даже при быстром взаимодействии.
Какие функции ИИ предлагает Adalo для создания приложений?
Adalo в настоящее время предлагает Magic Start (генерирует полные основания приложения из описаний) и Magic Add (добавляет функции из запросов на естественном языке). Функция ИИ Builder, которая выйдет в начале 2026 года, позволит создавать и редактировать приложения полностью на основе подсказок на протяжении всего процесса разработки.
Быстро создавайте приложение с помощью одного из наших готовых шаблонов приложений
Начните создавать без кода