без единого гвоздя
byuth1 — 17.11.2009 Последнее время набирает популярность интеграция web-приложений с традиционным desktop.Особенно любопытно для меня эта интеграция в плане системных конфигураторов, особенно в свете последних анонсов, что YaST обзавёлся web-интерфейсом.
Этот web-интерфейс оказался на поверку совершенно новым приложением, написанным на ruby on rails, интересным приложением, но не имеющим никакого отношения к обычному YaST.
С другой стороны, у нас давным давно существовал более менее настоящий web-интерфейс к системному конфигуратору. В desktop, при этом, используется вариант интерфейса на Qt. И вот, насмотревшись на штуки типа Prism, мы с Димой Кругликовым подумали: "А зачем мы постоянно мучаемся создавая два интерфейса для каждого модуля?".
Справедливости ради надо заметить что когда-то давным давно было возможно из одного описания интерфейса получить одновременно и qt и html интерфейс, но слишком большая разница между моделями документа в html и qt свела все эти усилия на нет. Или всё выглядело одинаково плохо в обоих средах или одинаково медленно ;)
Итак, "А зачем мы постоянно мучаемся создавая два интерфейса для каждого модуля?", подумали мы. И вот появился спец. браузер, на основе qt webkit для отображения центра управления системой.
Вот так выглядел обычный центр управления системы:
А вот так его показывает новый браузер:
Вот так выглядит модуль настройки даты в обычном центре управления системы:
А вот так его показывает новый браузер:
Единственная разница для пользователя состоит в том, что webkit расходует несколько больше оперативной памяти, но для окончательного вердикта по этому вопросу необходимо ещё попробовать отключить "лишнее" кеширование.
Новый браузер не просто браузер, а оптимизированное для интеграции со desktop-ной средой средство. Во-первых, при нажатии на F1 справка показывается в отдельном окне.
Кроме того, браузер в курсе о существовании сессий в сервере и вежливо интересуется о том, что с ними делать при закрытии окна
Вот так. В перспективе можно расширять интеграцию с desktop, например задействовать PolicyKit для того чтобы аутентифицироваться на сервере.
|
</> |