Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Можно ли опубликовать на сайте GUI программу на Python?

Я встречал различные мини-игры онлайн, их туда как-то опубликовали.
У меня есть программа, написанная на Python и имеющая GUI интерфейс. Можно ли ее как-нибудь также опубликовать создав собственный сайт?
Может ли мне в этом помочь Django?


Ответ

Так или иначе, потребуется полное переписывание
Можно ли ее как-нибудь также опубликовать создав собственный сайт?
Нет (если под этим понимается возможность играть прямо в браузере). "GUI-интерфейс" в браузерах строится на веб-страницах. И только. Вы можете написать собственную логику управления HTML'ным GUI на JavaScript или другом языке, который компилируется в JavaScript.
Теоретически есть интерпретатор Python на JS, но вы не захотите его использовать для серьёзных задач. И даже если вы им вооружитесь, весь GUI вам всё равно придётся переписывать заново, т. к. в браузерах совсем другие API.
Может ли мне в этом помочь Django?
Нет. Django про серверную часть, код которой клиентская часть не выполняет сама, а лишь делает запросы к тому, кто действительно его выполняет: к серверу.
Запросы идут по некоторому протоколу передачи данных. Причём для полноценной замены взаимодействия с GUI протокол обмена между сервером и клиентом протокол должен быть полнодуплексным, т. е. поддерживать передачу по инициативе любой из сторон. HTTP таковым не является.
Таковым является, к примеру, WebSocket, с настройкой которого в Django, насколько мне известно, связаны определённые приключения. Хотя их можно преодолеть, а для некоторых игр полнодуплексный протокол даже не нужен... есть немаленькая вероятность, что после убирания клиентского кода из вашей игры остаток всё равно придётся переписывать.

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

Комментариев нет:

Отправить комментарий