Alterator/Ideas: различия между версиями

Материал из ALT Linux Wiki
мНет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 17: Строка 17:
* modulename.desktop. Такой же, как и существующий в альтераторе. Для генерации меню и получения ссылок на тип обработчика, путь к интерфейсу и скрипту.
* modulename.desktop. Такой же, как и существующий в альтераторе. Для генерации меню и получения ссылок на тип обработчика, путь к интерфейсу и скрипту.
* modulename.ui. Интерфейс, созданный в любом графическом дизайнере (Qt4Designer) или руками.
* modulename.ui. Интерфейс, созданный в любом графическом дизайнере (Qt4Designer) или руками.
* modulename.qsa. Скрипт на QtScript. Логика работы модуля.
* modulename.js. Скрипт на QScript. Логика работы модуля.


==== Сервер тонких клиентов ====
==== Сервер тонких клиентов ====
Строка 40: Строка 40:


=== Предпросмотр технологий ===
=== Предпросмотр технологий ===
http://git.altlinux.org/people/dkr/packages/?p=altair.git;a=summary
http://git.altlinux.org/people/dkr/packages/?p=altair.git
 
git://git.altlinux.org/people/dkr/packages/altair.git
git://git.altlinux.org/people/dkr/packages/altair.git


[[Категория:Alterator]]
{{Category navigation|title=Планы|category=Планы}}
{{Category navigation|title=Alterator|category=Alterator|sortkey={{SUBPAGENAME}}}}

Текущая версия от 21:03, 21 июля 2015

Что не нравится

Опыт написания модулей достаточной сложности вызывает двойственное ощущение. С одной стороны, есть некоторая инфраструктура, позволяющая писать модули настройки системы. С другой стороны, при достижении некоторого уровня сложности, модуль начинает работать визуально медленно.

Так же вызывает некоторое смущение необходимость писать два интерфейса, HTML и Qt, при чем, для Qt, на Scheme. Потом еще backend на shell, который, в некоторых случаях, имеет еще и вызовы на ruby и/или perl.

Пока форма имеет 10-15 полей, которые заполняются значениями при старте, а потом отдают их backend-у для записи, все выглядит достойно.

Но если значений 30-50, и есть select, table, то визуально заметно, как форма этими значениями заполняется.

Идея

Использовать возможности C++/Qt в полном объеме. Комплекс состоит из модуля, сервера тонких клиентов, тонких клиентов и самостоятельного приложения, исполняющего данный модуль.

Модуль

Включает следующие файлы:

  • modulename.desktop. Такой же, как и существующий в альтераторе. Для генерации меню и получения ссылок на тип обработчика, путь к интерфейсу и скрипту.
  • modulename.ui. Интерфейс, созданный в любом графическом дизайнере (Qt4Designer) или руками.
  • modulename.js. Скрипт на QScript. Логика работы модуля.

Сервер тонких клиентов

  • Считывает файл UI, отдает его тонкому клиенту по запросу.
  • Умеет строить меню и отдавать его клиенту.
  • Выполняет скрипт, при необходимости делит на порции результат работы и отдает тонкому клиенту для наполнения UI
  • Принимает от тонкого клиента события (нажатия клавиш, etc)
  • Далее, ведет себя так же, как и обычное приложение.
  • Умеет выполнять команды вида cmdline modulename action args (d-bus, socket ?)

Тонкий клиент

  • Подключается к серверу клиентов, получает от него форму авторизации, после этого, меню или запрошенный интерфейс.
  • Отображает форму и данные, для ее наполнения, получаемые от сервера.
  • "Держит" соединеие, передает keep-alive.

Самостоятельное приложение (толстый клиент)

Самостоятельно обрабатывает модули для режима работы инсталлятора или локальной работы на рабочей станции или сервера, с Х и легким DE.

Преимущества

В данном варианте предполагается использование только одного, хорошо документированного и распространенного набора интсрументов.

Предпросмотр технологий

http://git.altlinux.org/people/dkr/packages/?p=altair.git

git://git.altlinux.org/people/dkr/packages/altair.git