Конструктор приложений без программирования
Конструктор приложений собирает готовое приложение из подготовленных экранов и настроек вместо программирования. Разница между конструкторами — в том, что получается на выходе: одни упаковывают сайт в оболочку, другие собирают мобильные экраны и подписанный файл для магазина.
Что вообще делает конструктор
Любой конструктор избавляет от трёх вещей: написания кода, настройки среды разработки и ручной подготовки файла для магазина. Вместо этого он предлагает набор готовых частей — экраны, списки, формы, навигацию — и способ их настроить. Ценность конструктора определяется не количеством кнопок в редакторе, а тем, насколько похоже на настоящее приложение выглядит результат и можно ли с ним пойти в магазин.
В Zorava настройка идёт не перетаскиванием блоков, а описанием: вы говорите, что нужно, агент собирает экраны и данные. Дальше правки вносятся сообщениями — это тот же способ работы, что и с сайтами сервиса.
Сайт в рамке и настоящее приложение
Самый распространённый способ сделать приложение дёшево — завернуть готовый сайт в оболочку. Формально это приложение, но человек видит разницу мгновенно: web-меню вместо нижней навигации, мелкие кнопки, страница, которая прыгает при вводе текста, и белый экран, когда пропадает сеть. Магазины к таким приложениям тоже относятся строго — «просто сайт в контейнере» может не пройти проверку.
Поэтому в Zorava для приложений сделан отдельный мобильный набор экранов, а не переиспользован сайтовый. У телефона свои правила: цель нажатия не меньше подушечки пальца, вырез сверху и полоса жестов снизу, поля ввода такого размера, чтобы система не увеличивала экран при фокусе. Данные приложение берёт из коллекции проекта и умеет показывать загрузку, ошибку и пустой список — то, чего у «сайта в рамке» обычно нет.
Что внутри и почему это безопасно
Приложение получает доступ к возможностям телефона из закрытого списка: состояние сети, открытие внешних приложений, локальное хранилище, проверка доступности адресов. Список закрыт намеренно — из него выводятся разрешения приложения и раздел о безопасности данных в магазине, так что заявленное и фактическое совпадают. Одновременно оболочка не пускает внутрь чужой код: внешние скрипты, шрифты и виджеты блокируются, даже если прописать их в проекте.
Это ограничение, и мы его не скрываем: встроить в приложение сторонний виджет не получится. Взамен вы получаете приложение, в котором чужой скрипт не может дотянуться до телефона пользователя.
Для чего конструктор не подходит
Игры, тяжёлая графика, работа с оборудованием, сложная обработка видео и собственные алгоритмы — это разработка, а не сборка. Конструктор хорош там, где сценарий типовой: каталог с поиском, услуги с заявкой, справочник под рукой у сотрудников. И ещё одно: сейчас собираются приложения только под Android, для Google Play и RuStore.
Частые вопросы
Чем это отличается от сборки сайта в приложение?
Тем, что собираются мобильные экраны с навигацией и состояниями, а не страница сайта в контейнере. Содержимое приложение получает данными, а не подгружает веб-страницу целиком.
Можно ли выложить получившееся приложение в магазин?
Да, файл подписан и готов для Google Play и RuStore. Аккаунт разработчика оформляется на вас, первую загрузку делает человек.
Останется ли приложение рабочим без интернета?
Экраны и оболочка открываются, показывается понятное состояние вместо белого листа, часть данных берётся из локального хранилища. Полноценная офлайн-работа зависит от сценария и настраивается отдельно.
Насколько сложно поменять приложение потом?
Содержимое меняется в кабинете сразу. Экраны — сообщением агенту и новой сборкой, как и в любой другой разработке под Android.