a
a_vlasov25 декабря 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 г. 23: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 г. 13:42
        • (ред.)

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

          a
          • 4 января 2023 г. 12:40
          • (ред.)

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

            Evgenii Legotckoi
            • 4 января 2023 г. 15: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 г. 23: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 г. 14:07

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

                        Комментарии

                        Только авторизованные пользователи могут публиковать комментарии.
                        Пожалуйста, авторизуйтесь или зарегистрируйтесь
                        AD

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

                        • Результат:50баллов,
                        • Очки рейтинга-4
                        m
                        • molni99
                        • 26 октября 2024 г. 1:37

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

                        • Результат:80баллов,
                        • Очки рейтинга4
                        m
                        • molni99
                        • 26 октября 2024 г. 1:29

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

                        • Результат:20баллов,
                        • Очки рейтинга-10
                        Последние комментарии
                        i
                        innorwall13 ноября 2024 г. 23:03
                        Как написать игру на Qt - Урок 3. Взаимодействие с другими объектами what is priligy tablets What happens during the LASIK surgery process
                        i
                        innorwall13 ноября 2024 г. 20:09
                        Использование переменных объявленных в CMakeLists.txt внутри C++ файлов where can i buy priligy online safely Tom Platz How about things like we read about in the magazines like roid rage and does that really
                        i
                        innorwall11 ноября 2024 г. 22:12
                        Django - Урок 055. Как написать функционал auto populate field Freckles because of several brand names retin a, atralin buy generic priligy
                        i
                        innorwall11 ноября 2024 г. 18:23
                        QML - Урок 035. Использование перечислений в QML без C++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
                        i
                        innorwall11 ноября 2024 г. 15:50
                        Qt/C++ - Урок 052. Кастомизация Qt Аудио плеера в стиле AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
                        Сейчас обсуждают на форуме
                        i
                        innorwall13 ноября 2024 г. 18:52
                        добавить qlineseries в функции PMID 35774217 Free PMC article priligy cvs
                        i
                        innorwall11 ноября 2024 г. 10:55
                        Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                        9
                        9Anonim25 октября 2024 г. 9:10
                        Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                        ИМ
                        Игорь Максимов3 октября 2024 г. 4:05
                        Реализация навигации по разделам Спасибо Евгений!

                        Следите за нами в социальных сетях