SimpleUI — бесплатный фреймворк для создания бизнес-приложений на Android. Прикладные решения, созданные с помощью конструктора конфигураций (конфигурации), передаются на устройство с SimpleUI в виде JSON-файлов и исполняются на андроид-приложении SimpleUI
Автор фреймворка — российский программист Дмитрий Воронцов, развивает фреймворк и его экосистему с 9 января 2019 г.
Архитектура Приложение, выполняющее клиентские конфигурации на устройстве создает интерфейсы и логику приложения, связывая события (пользовательские, внешние, внутренние и т. д.) с исполняющими обработчиками и пользовательским интерфейсом. Используется несколько вариантов языка для обработчиков событий на выбор: Python(на устройстве), JavaScript (на устройстве), собственный мета-язык и поддержка выполнения кода на стороне учетной системы онлайн. Для управления используются так называемые «команды-переменные», которые передаются от обработчиков системе через стек переменных. Данные между системой и обработчиками также передаются через стек переменных. Таким образом, реализация логики обработчиков построена по принципу стековой машины.
Дизайн пользовательского интерфейса предполагает размещение виджетов и разметку с помощью контейнеров
Языки программирования Для локальных (исполняемых на устройстве) обработчиков основной язык — Python 3.11. Альтернативные интерпретаторы для локального исполнения — JavaScript и собственный примитивный инструментарий для взаимодействия со стеком переменных.
Одновременно возможно выполнять код обработчиков в рамках либо HTTP-запроса на стороне сервера, либо через скрипт-шину, через WebSocket — подключение. В этом варианте язык исполнения может быть любой на стороне внешней системы, все взаимодействие происходит через стек-переменных.
Хранение данных Для локально хранения можно использовать как SQL(SQLite) так и специально разработанные NoSQL- СУБД и специальный механизм резидентных в памяти наборов данных «датасетов» с возможностью сохранения/загрузки. Можно использовать несколько инструментов хранения и несколько баз данных, комбинируя их:
датасеты — резидентные в памяти структуры хранения с возможностью сохранить/загрузить для хранения данных внешних систем, глубоко интегрированные с UI-механизмами платформы СУБД Ключ-значение для хранения простых данных Pelican — специально разработанная NoSQL СУБД с документным JSON-ориентированным хранением SQLite— стандартная SQL-СУБД для Андроид-приложений
AciteCV ActiveCV — специальный механизм обработки и представления данных в видеопотоке. Представляет из себя один из элементов, размещаемых на экране и отображающий видеопоток с камер устройства и специальные обозначения. Одновременно ActiveCV — это методика представления динамической информации для выполнения Бизнес-процесса в виде наложения текстовой и цветовой маркировки поверх объектов в видеопотоке. Видеопоток анализируется различными подключаемыми детекторами, данные о считанных объектах передаются в обработчики, а взамен поверх объектов в видеопотоке выводятся учетные данные.
Ссылки Официальный сайт проекта
Исходный код конструктора конфигураций на GitHub
Проект Pelican на GitHub