DroidScript
DroidScript
учимся и разрабатываем

Thunkable X: web-интерфейс

14.04.2018

Пока разработчики Thunkable работают, наверно, над нужными компонентами типа Lottie, Airtable, Share и др. пользователи вынуждены "плавать" в нативном интерфейсе. Вот, кажется, добавили полю ввода свойство многострочности, а ввести многострочный текст невозможно, как невозможно его вывести и в текстовой области. Для коротких строк можно использовать список, а для длинных - будьте добры использовать нужное количество тектовых полей. Повозиться с настройкой нескольких из них ещё можно, но с десятками - слишком утомительно. Как быть? Использовать компонент Web Viewer.

Огорчу сразу, текущая реализация компонента Web Viewer не позволяет работать с html в off-line и для создания интерфейса необходим web-сервер и, соответственно, подключение к Интернету: простейший серверный скрипт создаёт страницу из html-данных, которые передаются ему при помощи GET-запроса.

Пример php-скрипта для генерации страницы

Дополнительный параметр mode используется для предотвращения вывода данных при поступлении посторонних запросов.

Блок для создания запроса

Диалог создания нового блока

Помимо html в запросе можно использовать и CSS. А вот JavaScript пока в Web Viewer не работает (за исключением кода в его свойстве injectedJavaScript, который можно задать на этапе разработки, что нам не подходит).

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

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

© 2016-2024 
actech