Вот что я хотел бы сделать, и я хочу знать, как некоторые люди, имеющий опыт работы в этой области сделать это:как реализовать тонкое клиентское приложение с PyQt
С три запроса POST я получаю от сервера HTTP :
- виджеты и раскладка
- , а затем приложение логики (минимальные)
- данные
Или, может быть, это лучше совместить первые два или все три. Я думаю использовать pyqt. Я думаю, что могу загрузить файлы .ui. Я могу анализировать данные json. Я просто думаю, что было бы довольно опасно передавать код по сети, которая будет выполнена на клиенте. Если кто-то может заблокировать соединение или может изменить настройки приложений для доступа к фиктивному серверу, это неприятно.
Я хочу сделать это так, потому что он постоянно обновляет всех клиентов. Это похоже на webapp, но проще из-за Qt. По сути, «тонкое» приложение - это всего лишь минимальный скомпилированный файл python, который загружает данные с сервера.
Как это сделать без возникновения проблем безопасности на клиенте? Достаточно ли https? Есть ли способ заставить pyqt работать в виде песочницы?
PS. Я не застрял на Qt или python. Мне нравится концепция. Я действительно не хочу использовать Java-сервер или клиентскую сторону.
Таким образом, было бы пустой тратой времени, чтобы попробовать реализовать какую-то систему или язык шаблонов, которые будут обрабатываться на стороне клиента, а не выполнять чистый код на Python? Я не хочу, чтобы клиент мог делать такие вещи, как remove(). Даже зная, что это возможно, меня отвлекают. Так как он по сути похож на поведение с webapp, можно ли прикрепить «действия» к виджетам в файле .ui и заставить приложение интерпретировать действия? Я заметил, что в Designer я могу добавить динамические свойства. Могут ли динамические свойства достичь этого? –
@sims, система/язык шаблонов была бы чем-то вроде пустой траты времени, но вы должны использовать существующую («Мако» очень близок к Python и, следовательно, то, что я бы пересчитал, 'jinja2' больше похож на Django, но может быть скомпилирован в код Python и т. Д.) - изобретать колесо не стоит! (Если только ваша настоящая цель - обнаружить, как работают колеса, процитировать Atwood ;-). Тем не менее, шаблоны - это больше о логике вида, чем о бизнес-правилах, используемых в приложении. Что касается проблемы «удалить», решите, какие модели угроз вы защищаете от сумасшедших пользователей? ваши ошибки? & Гр. –
Я беспокоюсь о тонкой возможности угона и т. Д., Как упоминалось выше. Я хочу придерживаться аналогичной позиции для браузеров (IE исключен), чтобы приложение не влияло на ОС хоста и FS. Как я уже упоминал Эйку, я не хочу показывать данные в браузере. Эта часть приложения завершена и работает хорошо. Думаю, я поеду с динамическими свойствами. Думаю, мне просто нужно выяснить, как их читать после загрузки .ui. Видя, что вы гуру-питон, я, вероятно, должен задавать более подробные вопросы в другом месте. Конечно, скажите, пожалуйста, мой подход не сработает или если есть лучший способ. –