a
a_vlasovЖел. 25, 2022, 6:34 Т.Ж.

Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework

Распространена ли практика создания таких проектов: Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

11
Evgenii Legotckoi
  • Жел. 25, 2022, 7:14 Т.Ж.
  • (өңделген)

Не так сильно, как того хотелось бы.
Я попробовал некоторое время назад, но мне не понравилось.

Из затруднений было:

  • openapi generator не генерировал клиента, что попросту прибавляет много бесполезной работы
  • недостаточная поддержка функционала обращений к API мобильной платформы. При нативной разработке подобные вещи делаются в разы проще и быстрее.

В итоге на данный момент я остановился на Kotlin при изучении этого вопроса.

    a
    • Жел. 25, 2022, 11:59 Т.Қ.
    • (өңделген)

    Спасибо большое! Очень жаль. Какой тогда смысл мобильного направления в Qt, если поддержка связи с сервером через REST API такая неудобная? И такой вопрос вдогонку. Qt ведь ушел из России и когда вернется и вернется ли вообще неизвестно. Стоит ли тратить время на его изучение, ведь Qt это огромный целый мир?

      Evgenii Legotckoi
      • Жел. 26, 2022, 11:14 Т.Ж.
      • (өңделген)

      Какой тогда смысл мобильного направления в Qt, если поддержка связи с сервером через REST API такая неудобная?

      Вы меня об этом спрашиваете? Лучше этот вопрос задать разработчикам Qt.

      Но моё личное мнение такое. Само по себе мобильное направление жизнеспособно, но входной порог значительно выше. А бизнесу обычно нужно быстрое развитие и быстрая разработка. Бизнесу мало интересно на чём будет разрабатываться приложение, которое приносит деньги.
      Я сейчас занимаюсь изучением Kotlin и разработка движется значительно быстрее, несмотря на то, что там для меня вообще всё в новинку, а с QML у меня есть достаточно большой опыт работы. И тем не менее на Kotlin некоторые задачи удаётся решить быстрее.

      И такой вопрос вдогонку. Qt ведь ушел из России и когда вернется и вернется ли вообще неизвестно.

      А как же импортозамещение, которое будет банальным воровством с переклеиванием шильдиков? Все поделки на основе линукса будут упираться в быструю разработку, а только Qt позволяет делать это действительно быстро. В общем, стало труднее, но может иметь смысл изучать, особенно если будете искать работу за рубежом. Разработчики медицинского оборудования например сидят на Qt.

      Опять же, если вы интересуетесь именно финансовой стороной вопроса для обеспечения своего личного благополучия, то тогда лучше выбирать Kotlin/Java. Если интересен полный фулстек по мобильной разработке, то Kotlin/Java/Django/Python. И Kotlin движется в сторону кроссплатформенной разработки, но пока за удобство работсы с iOS я ничего не скажу, не пробовал ещё.

        a
        • Жел. 26, 2022, 1:42 Т.Қ.
        • (өңделген)

        Спасибо за развернутый ответ! Ну да, на счет поделок на основе линукса Вы точно сказали. Наша мобильная платформа OS Аврора - яркий пример такой поделки и там как раз C++Qt основная технология для создания приложений.

          a
          • Қаң. 4, 2023, 12:40 Т.Қ.
          • (өңделген)

          Добрый вечер, Евгений! Такой вопрос. Возникла задача: написать пользовательский интерфейс на С++Qt к базе данных PostgreSQL (создание, чтение, обновление, удаление, фильтрация и поиск записей). В Qt есть классы для работы с базой данных, но не хотелось бы делать прямые запросы к ней, т.к. предполагается использовать этот пользовательский интерфейс за пределами локальной сети, в которой находится сервер. Возможно ли использовать для этого REST API Django, чтобы данные от БД к C++Qt-приложению передавались по http/https-протоколу?

            Evgenii Legotckoi
            • Қаң. 4, 2023, 3:23 Т.Қ.

            Добрый день. Если у вас изначально проект на Django с PostgreSQL, то особых проблем составить не должно.
            Со стороны Django используйте Django Rest Framework, делайте нормальное Rest API. Со стороны Qt/C++ можете воспользоваться QNetworkAccessManager и распарсить ответы с помощью QJsonDocument.
            Также можете попробовать сгенерировать клиента для Qt5 с помощью openapi generator . Для этого нужно будет настроить генерирование swagger документации из вашего API, и скормить полученный yaml файл генератору. Но успех не ясно какой будет, я махнул рукой на Qt в этом случае. Но Swagger всё равно полезен. Используйте для его генерирования батарейку drf-yasg

              a
              • Қаң. 4, 2023, 11:56 Т.Қ.

              Спасибо за ответ! Да, проект на Django/PostgreSQL, потому что в кратчайшие сроки нужно было создать программу для пользователей, чтобы они могли заносить данные. Конечно, логичнее всего было бы создать фронт-энд к проекту Django на JS с его реактами или ангулярами, но к JS у меня как-то не лежит душа. Хотелось бы развиваться в технологиях C++/Python, потому что рано или поздно захочется чего-то такого, "настоящего", "С/C++-ного".

                a
                • Сәуір 9, 2023, 5:11 Т.Ж.

                Евгений добрый день! Такой вопрос. Имеется клиентская часть приложения на C++Qt и серверная часть на Django. Django может осуществлять Email-рассылки, а также генерировать Excel-файлы. Возможно ли сделать так, чтобы давая в клиентской части команду, Django делал рассылку и генерировал Excel-файлы?

                  Evgenii Legotckoi
                  • Сәуір 16, 2023, 4:07 Т.Ж.

                  Да, это возможно. Но подобные вещи лучше запускать через celery. То есть drf принимает команду, и после этого регистрирует задачу в celery, котроый уже асинхронно всё это выполняет. В противном случае при очень длительной задаче сервер может выдать ошибку по таймауту

                    a
                    • Сәуір 14, 2024, 6:41 Т.Ж.

                    Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C++Qt/QML?

                      Evgenii Legotckoi
                      • Мамыр 2, 2024, 2:07 Т.Қ.

                      Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

                        Пікірлер

                        Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                        Кіріңіз немесе Тіркеліңіз
                        m
                        • molni99
                        • Қаз. 26, 2024, 1:37 Т.Ж.

                        C++ - Тест 004. Указатели, Массивы и Циклы

                        • Нәтиже:80ұпай,
                        • Бағалау ұпайлары4
                        m
                        • molni99
                        • Қаз. 26, 2024, 1:29 Т.Ж.

                        C++ - Тест 004. Указатели, Массивы и Циклы

                        • Нәтиже:20ұпай,
                        • Бағалау ұпайлары-10

                        C++ - Тест 003. Условия и циклы

                        • Нәтиже:42ұпай,
                        • Бағалау ұпайлары-8
                        Соңғы пікірлер
                        Evgenii Legotckoi
                        Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
                        Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                        A
                        ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
                        Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                        ИМ
                        Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
                        Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                        d
                        dblas5Шілде 5, 2024, 11:02 Т.Ж.
                        QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                        k
                        kmssrАқп. 8, 2024, 6:43 Т.Қ.
                        Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                        Енді форумда талқылаңыз
                        9
                        9AnonimҚаз. 25, 2024, 9:10 Т.Ж.
                        Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                        Evgenii Legotckoi
                        Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
                        добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                        F
                        FynjyШілде 22, 2024, 4:15 Т.Ж.
                        при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                        Бізді әлеуметтік желілерде бақылаңыз