LINUX.ORG.RU

На чём написать программу взаимодействия между десктопной и серверной машиной?

 ,


0

2

В программировании я новичок, писал страницу в php, с питоном, си и другим не занимался. Появилась нужда сделать десктопную программу, суть такова: кнопки и состояния. Тоесть состояние запрашивает удалённый сервер и выдаёт ответ да или нет, ну либо параметрический, там градусы например или давление. Программа должна отображать вкл, выкл и параметры. Ещё нужны кнопки, примерно как я сделал в вебе, кнопки с лампочкой вкл выкл. Собственно всё, ну там немного оформить всё и уведомления приделать например, но это уже тонкости.

Вопрос на чём писать? Питон?

★★★★★

Хоть на чём.

Deleted
()

Знаешь только РНР? Ну на нём и пиши. Он вполне справится с задачей.

Deleted
()

сделать десктопную программу суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем.

Простите, не сдержался. Можете сносить.

annerleen ★★★★☆
()
Ответ на: комментарий от vvn_black

Интересно, но хотелось бы именно в качестве поучиться с простого и написать всё без использования конструкторов.

burato ★★★★★
() автор топика

Ответ очевиде - ПХП

Тебе помастурбировать на новые (неизвестные именно тебе) технологии или чтобы работало?

justAmoment ★★★★★
()
Ответ на: комментарий от burato

Там достаточно простого кода на JS, плюс вебморды строятся на Ангуляре, так что поучиться там будет чему. Ну и не знаю плюс это или минус, можно всё это запустить на малинке, легко деплоится.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

Протокол обмена — MQTT. Идеален для такого.

Софт на чём угодно. У PC-шная часть вообще на bash :)

KRoN73 ★★★★★
()

На чём написать программу взаимодействия между десктопной и серверной машиной? В программировании я новичок, писал страницу в php, с питоном, си и другим не занимался. Появилась нужда сделать десктопную программу, суть такова: кнопки и состояния. Вопрос на чём писать? Питон?

Здравствуйте.

Python + Qt = PyQT оно решит задачу. Однако, если вы не ограничены во времени и хотите «большего», то C++ и Qt.

С уважением,

anonymous
()

<sarcasm>PHP-GTK</sarcasm>

Питон. И вообще не слушай тех, кто говорит C++ ради Qt.

Я вот недавно написал демку на Pygobject, собрал под оффтопиком cx_Freeze, так оно собралось в .pyc файлы, так ещё и весило со всеми либами 23.5 МБ. Нихрена не громоздко.

А Qt или GTK - думай сам.

ArkaDOSik ★★
()
Ответ на: Ответ очевиде - ПХП от justAmoment

Звучит как-то так

Ответ очевиде - страпон Тебе помастурбировать на новых (неизвестные именно тебе) девушек или чтобы работало?

next_time ★★★★★
()

Java не предлагать?

bvn13 ★★★★★
()

Протокол MQTT, язык, да хоть Go :)

Pentium02 ★★
()
Ответ на: комментарий от meliafaro

А как это работает в двух словах?

burato ★★★★★
() автор топика

Tcl/Tk, или на питоне. Но если нет опыта с интерпретаторами и как на них правильно писать, то тогда C/GTK+ или Motif.

slapin ★★★★★
()

ну Qt можно использовать, а писать хоть на пистоне, хоть на с++, впринципе то,что тебе нужно можно накидать за пару кликов в QtCreator или Glade+GTK для особо упоротых индивидуальных

jo_b1ack ★★★★★
()

Появилась нужда сделать десктопную программу

А нужна ли на самом деле десктопная прога, если можно обойтись браузером на клиенте, а все написать на сервере (на том же PHP, если его знаешь + HTML + JS).

sigurd ★★★★★
()

Выше советуют MQTT, этот протокол полезен, когда в качестве «сервера» выступает датчик с минимальными ресрусами системы. А если «сервер» - это настоящий сервер или хотя бы железка уровня нормального роутера, то можно и HTTP (REST) использовать, если есть опыт работы с вебом, то будет проще

annulen ★★★★★
()

Раньше для этого tcl/tk использовали и дельфи. Попробуй lazarus или wxpython. Или tcl/tk. Но сейчас используют electron (видимо, потому что флеш выпилен)

Shadow ★★★★★
()
Ответ на: комментарий от annerleen

сделать десктопную программу суть такова... Пользователь может играть менеджерами, девопсами и архитектором.

fftgj

i-rinat ★★★★★
()
Ответ на: комментарий от burato

Не отвязывайся от браузера, это бессмысленно. Кроме узкого списка случаев, десктопное приложение должно идти сразу вторым в порядке рассмотрения после веб приложения. Если не третьим, учитывая консольные

vertexua ★★★★★
()

Серверную часть — в виде HTTP-сервера. Если знаешь PHP, то на нём. Если знаешь Python, бери какой-нибудь мини-фреймворк типа Bottle (https://bottlepy.org/docs/dev/). Во втором случае сам фреймворк даст тебе реализацию сервера. Клиентскую часть — в виде HTML-страничек, будет работать через браузер. Если понадобится сделать в виде отдельной программы, можно сделать через режим киоска в Chromium.

i-rinat ★★★★★
()

Пиши на python. Юзай PyQt/PySide.

Сделай два потока (QThread) один для GUI (основной поток, базовый класс - QMainWindow), второй для работы с сервером (сделай его в виде класса - наследника QThread).

Связь между потоками через сигналы и слоты (мьютексы и прочее тебе не нужны).

Удачи.

shkolnick-kun ★★★★★
()

На чём написать программу

На компьютере. LOL

anonymous
()
Ответ на: комментарий от shkolnick-kun

Связь между потоками через сигналы и слоты (мьютексы и прочее тебе не нужны)

категорически плюсирую

I-Love-Microsoft ★★★★★
()

Питон?

Нет, конечно. Совсем с дуба рухнул? Пиши на перле.

LamerOk ★★★★★
()

Пишу на С. Все отлично работает.

Нафиг тебе пхытон для этого? Открой сокет, да пиши/читай!

anonymous
()
Ответ на: комментарий от KRoN73

вообще на bash

У меня, кстати, в бытность мою работы преподом, в кабинете информатики всякие-разные элементарные сервисы именно на баше и работали себе. Словарь английского, опросники, локальный чатик, учебные тесты (даже вопросы всем разные рандомом из списков генерировались!)...

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

anonymous
()

и при чём тут Питон ?

это вообще у вас что-то типо мелкой субд. Что-то навроде редиса - один пишет всякое, другие читают и воспроизводят в формочках. И могут дать команду в ответ.

на чём писать обе переферийные стороны - вообще всё равно. Если угадаете с выбором центральной части, то выиграли :-) А если нет, то можно списать на «тупой» питон/пхп/программистов/дирекцию.

MKuznetsov ★★★★★
()

Вопрос на чём писать? Питон?

на C конечно, с libpq (и его LISTEN/NOTIFY). вместо хипсторских этих MQTT :-) ..

https://www.postgresql.org/docs/11/libpq-notify.html

а пользостельский интерфейс на GTK+ , а какие варианты то другие

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)

Я бы написал на Python обе части:

1. Серверная.

- запускается на OrangePi через /etc/rc.local
- слушает порт TCP/5678, например
- подключена к GPIO

2. Клиент.

- имеет морду на Tk, Wx, Fox, Gtk или Qt
- подключается к серверу при запуске (или по кнопке)
- передает на сервер команды, читает с него данные
- получает и отображает данные через виджеты на GUI-форме.

Закажи у фрилансеров, где-то за 15 тыщ руб. сделают, если без графиков - просто флажки переключать и цифры показывать.

Novator ★★★★★
()

Пишешь на питоне типа демоны, которые мониторят твои состояния и херачат их по mqtt в какой-нибудь mosquitto. Пишешь статичную хтмльку с жабоскриптом, который через вебсокет по mqtt конектится к mosquitto. Всё готово с автоматическими обновлениями-уведомлениями.

anonymous
()
Ответ на: комментарий от burato

несмотря на всю мою нелюбовь к электрону - кажись это какраз тот случай, когда он подходит под задачу ;)

genryRar ★★
()
Ответ на: комментарий от annerleen

А гусей там не было? Что-то знакомое очень.

dk-
()

Если хотите чего-то необычного, то можете написать клиент в виде doc файла с кодом на vba. Гарантирую незабываемый опыт.

Если хотите серьезный совет от непрофессионала, то пишите на том, на чем можете.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

libpq

Ну вот нафиг эту жиробасину советовать, когда есть sqlite?

пользостельский интерфейс на GTK+

ублюдство же! Говнотык пользуется глибом. И это автоматически переводит его в клан неприкасаемых!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.