Приложение Python Desktop с браузером в качестве интерфейса?
Я хочу создать приложение, которое выполняется на компьютере пользователя, автономном приложении, с установкой и что-нет, но я хочу, чтобы интерфейс был браузером, внутренним и отображаемым в виде окна ОС или внешнего доступного используя браузер (т.е. какой-то http-сервер).
Причина в том, что я немного знаю о Python, но я думаю, что могу управлять, пока у меня есть некоторые основные корни, которые я могу использовать и манипулировать, и это будут HTML, CSS и Javascript.
Мне еще предстоит найти хороший инструмент графического интерфейса, который я могу использовать, и всегда отказываюсь от идеи, пытаясь запутаться и, в конце концов, ничего не получится.
Ответы
Ответ 1
Python предлагает две вещи, которые могут вас заинтересовать:
- веб-сервер в стандартной библиотеке
- стандартизированный интерфейс для веб-приложений, называемый WSGI
Поэтому относительно просто добавить веб-интерфейс в ваше приложение. Например, в Mercurial (система управления версиями) у вас есть команда hg serve
, которая запускает веб-сервер.
Чтобы увидеть запуск python веб-сервера и приложения WSGI, просто выполните:
python -m 'wsgiref.simple_server'
Вы можете посмотреть исходный код wsgiref или некоторый учебник WSGI для простого приложения.
После этого вы можете использовать веб-фреймворк (для templating и co), но это еще один вопрос...
Ответ 2
Вы можете использовать Pajamas. Это порт Google Web Toolkit для Python, который в основном означает, что вы пишете на Python и скомпилируется в HTML и JS.
Ответ 3
Есть много превосходных инструментов графического интерфейса для того, как вы хотите использовать свой графический интерфейс - HTML, CSS и Javascript. Если вы ничего не знаете, задайте в отдельном вопросе подходящие теги.
Сторона Python в такой компоновке не должна иметь собственный графический интерфейс, а просто запускает подкласс HTTP-сервера стандартной библиотеки Python, просто обслуживая файлы HTML, CSS и JS, а также данные через JSON по другим URL-адресам, которые JS может достичь с помощью Ajax-технологий, в основном реализующих хранилища и бизнес-логики - так что далеко не очевидно, что "инструмент GUI" вы могли бы хотеть для этого?!
Просто создайте сторону Python самостоятельно (например, с помощью IDLE, Wingware, SPE или всего, что вам нравится) и HTML/CSS/Javascript отдельно со своим "GUI-инструментом". Все, что Python будет делать с этими файлами, статически их обслуживает.
Вы могли бы подумать об использовании некоторых шаблонов на стороне Python, таких как Mojo & c, но моя рекомендация заключается в том, чтобы избежать этого: скорее, зайдите в "тонкую архитектуру сервера", сделайте сторону Python сервером RESTful бизнес-логики и уровней хранения, а все работает графический интерфейс в браузере.
Ответ 4
Используете ли вы веб-браузер только потому, что у вас возникли трудности с инструментами виджета Python, такими как Tkinter, wxpython и pyqt?
Вы пробовали Qt Designer? Это графический графический дизайнер GUI, что делает его очень быстрым и легким в разработке великолепно выглядящих графических интерфейсов. Он автоматически устанавливается с помощью PyQt.
http://www.riverbankcomputing.co.uk/software/pyqt/download