Каталог решений - Новый SimpleWEB – тот же Simple, теперь еще web

Новый SimpleWEB – тот же Simple, теперь еще web

Новый SimpleWEB – тот же Simple, теперь еще web

В наличии

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

Категория:

Описание

Технологически, представляет из себя библиотеку Python (pip install uiweb) которая умеет читать конфигурации SimpleUI (ui-файлы) и создавать веб приложения, которые могут быть развернуты в локальной сети или у любого хостинг-провайдера, который поддерживает Python, flask и вот это вот все. При этом веб приложения написаны с использованием web-сокетов для обеспечения высокой производительности и отзывчивости интерфейса и реализации более глубокого асинхрона и разнообразного взаимодействия через сокеты. В процессе работы библиотека генерит чистый html+CSS+JS, JQuery код и вставляет его динамически, т.е. элементы инерфейса, обработчики событий – все это создается на лету, адресно. Все с открытым кодом под GPLv3.

Деплой сделан максимально просто насколько это возможно. Разработку также как и в симпле можно вести через онлайн обработчики (например в 1С), но лучше через Python или совмещать и то, и то. Т.е. это может быть чисто тонкий клиент от 1С, например, но лучше часть первичной логики вынести в пайтон, чтобы это выполнялось локально

С отладкой Python-скриптов в отличие от мобильной версии можно не заморачиваться – она есть сразу. Также с подключением библиотек – все полноценно. Отсюда следует вывод что если надо будет на уровне сервера (этот как бы уровень «оффлайн» в терминологии мобильного клиента) организовать СУБД то в качестве ORM можно использовать SQL Alсhemi а не Pony, а в качестве самой СУБД,  например, PostgreSQL, а не SQLite – что радует. 

Сие изделие предназначено для разработки именно веб-приложений или облачных приложений, а не сайтов, например. Потому что сокеты, потому что нет оптимизации под все браузеры и все экраны, на мобильных браузерах тоже не стоит запускать пока (для мобильных есть SimpleUI),  – это чисто под дексктоп на Chrome, все на HTML5 и т.д. Т.е. это может быть:

  •     Какой то фронт для, к примеру, 1С – B2B кабинет, корзина, оформление документов. То, что может жить себе самостоятельно и хоститься на обычном хостинге, без необходимости выставлять 1С наружу. Не обязательно со стороны 1С делать даже сервис – обмен может быть односторонний 
  •     Просто самостоятельное приложение – например облачная WMS, тем более теперь для этого все есть – и мобильная платформа, и десктопная и даже заготовка на PostgreSQL есть

Так как стек разработки не меняется, нет смысла писать отдельную документацию – и принципы, и частности, все то же самое.

Имеет смысл перечислить отличия в приемах разработки от мобильной версии и привести список доступных команд:

  •     В Web все открывается в новых отдельных вкладках, можно открыть один и тот же процесс в нескольких вкладках и, естественно, из него также открыть другие вкладки, поэтому хоть ShowScreen и поддерживается, в большинстве случаев лучше открывать вкладку через OpenScreen, вместо FinishProcess – CloseTab – закрытие текущей вкладки.
  •     Все свойства элементов полностью поддерживаются и аналогичны мобильной версии (включая свойства контейнеров), но в веб дополнительно к элементам можно применить стиль CSS (например сделать тень, закруглить углы и т.д.)
  •     В веб версии есть закладки, в мобильной пока не планируется
  •     Асинхронный обработчик, запущенный из вкладки, передаст данные в него, даже если вкладка не активна, вообще переменные и обработчики связаны с текущей открытой вкладкой, на другой вкладке будут соответственно уже другие переменные

На текущий момент в релизе 0.5.0 поддерживается:

  •     Все свойства визуальных элементов и контейнеров + CSS
  •     Надписи в html в элементах, диалогах и т.д.
  •     Свойства процессов «не отображать в меню», «логин»
  •     Отдельный, настраиваемый вид меню
  •     Визуальные элементы:

o    Контейнеры
o    Группы закладок и закладки
o    Надпись
o    Кнопка
o    Галочка
o    Поле ввода строка
o    Поле ввода число
o    Поле ввода пароль
o    Поле ввода с генерацией событий
o    Многострочное поле ввода
o    Дата
o    Список значений
o    Флажок
o    Картинка
o    Таблицы, включая редактирование в строках, встроенную сортировку, поиск и т.д.+ все что было в мобильной
o    Список карточек с активными элементами (CustomCards)

Команды-переменные на текущий момент:

  • SetValues,SetValuesTable,SetValuesCards, SetValuesPulse – установка значений на лету, в т.ч. из асинхрона
  • CloseTab – аналог FinishProcess для текущей вкладки
  • LoginCommit – загрузка меню процессов после логина
  • OpenScreen – открыть экран в новой вкладке
  • SetTitle — установить заголовок вкладки
  • ShowScreen – открыть экран в текущей вкладке
  • toast —  быстрое сообщение
  • basic_notification – уведомление
  • ShowDialog и ShowDialogStyle – открытие диалога
  • beep – звуковой сигнал

 

Опубликованную в облаке демку можно посмотреть тут (просьба не менять конфу на другую — это лучше сделать в своем сервере): http://45.147.176.237:1555/

Для установки у себя или на своем хостинге нужно (тут написан упрощенный вариант):

1) Скачать с GitHub эту папку со стартовым скриптом app.py: https://github.com/dvdocumentation/simpleweb

2) Установить зависимости: 

pip install -r requirements.txt

 и желательно еще потом обновлять саму библиотеку uiweb (которая и есть Simple), так как обновления выходят часто:

pip install uiweb --upgrade

3) Запустить приложение app.py:

python3 app.py

4) Приложение доступно по адресу http://localhost:1555/ после чего можно зайти в админку (http://localhost:1555/admin)  и поставить конфигурацию (ui-файл), при необходимости файл с питоновскими обработчиками и путь к веб-сервису если есть. На этом настройка закончена, можно пользоваться.

Для разработки желательно использовать последнюю версию конструктора(12.12.22): https://disk.yandex.ru/d/I93xaQHvcXYSEw

 

Также подписывайтесь на мой телеграмм канал, чтобы быть в курсе событий по обоим проектам https://t.me/devsimpleui

 

Также есть видео о особенностях работы именно в веб версии: https://youtu.be/Ukxjhh5eCiA

has been added to your cart:
Оформление заказа