@Dogrtt
Qt/Python разработчик

Писать сервер самому или использовать Django / Flask / Pyramid?

Добрый день.
Начинаю проектировать систему a la PDM.
Решил создать её не в виде обертки над БД, а в виде клиент-серверного приложения. Клиент буду писать на QML.

Сейчас возник в полный рост вопрос - каким образом реализовывать серверную часть?
Стоит ли писать свой сервер на Qt и через QTcpSocket принимать и отправлять данные либо взять какой-нибудь из Web-фреймворков и общаться с сервером по https?

Если брать готовый фреймворк, то какой?
Для описанной выше роли, как я понимаю, лучше подходит Flask, но, быть может, я не прав?
Кто-нибудь сталкивался с подобными задачами?
Может натыкались на статьи в паутине?

Вообще, я бы со спокойной совестью сам бы написал серверную часть, но на горизонте может замаячить перспектива создания еще и Web-интерфейса, но это не точно...
  • Вопрос задан
  • 505 просмотров
Пригласить эксперта
Ответы на вопрос 2
@VrencchBug
Стоит ли писать свой сервер на Qt и через QTcpSocket принимать и отправлять данные либо взять какой-нибудь из Web-фреймворков и общаться с сервером по https?

Надежный алгоритм сервера TCP - еще то спагетти. И на клиенте тоже. Без должного внимания рискуете получить Therac-25. И со спокойной совестью словить крэш спустя месяц стабильной работы, потом еще раз, а потом еще.

Зачем нужно писать свой сервер?
Вам не подходят популярные протоколы, такие, как HTTP и WebSocket (которые могут использоваться отнюдь не только в браузере)? Что, прям тотально по всему приложению не подходят? Где специфика, там и пишут модуль, а остальное делают стандартным, и велосипед не изобретают.
Ответ написан
@asd111
Если ваше приложение должно обновлять данные в реальном времени то для сервера берите любой фреймворк с вебсокетами - это по сути готовый асинхронный tcp сервер на вашем любимом языке. На вебсокетах легко делать чат - почти для каждого фреймворка и языка есть пример чата на вебсокетах.

А если постоянное соединение с сервером не нужно то берите django потому что в django много готового а значит меньше работы и еще в джанго есть админка из коробки.

Можно совмещать эти подходы и делать одну часть на вебсокетах а другую на https.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы