Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Need suggestion to develop cross platform desktop application for traders
Forum Updated to NodeBB v4.3 + New Features

Need suggestion to develop cross platform desktop application for traders

Scheduled Pinned Locked Moved Unsolved General and Desktop
8 Posts 4 Posters 567 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    prasad2023
    wrote on last edited by
    #1

    Hi all,

    We are analyzing the technologies to choose for a desktop application for professional traders on Windows/Linux/Mac OS. currently, we are thinking for qt gui with c++ core logic for all os. This application primarily needs rich gui, consume rest apis, and consume push notifications from websockets.

    My basic queries are:

    1. Are qt gui and c++ backend are right technologies to develop such application? if not, suggest any.
    2. afaik, qt apis are wrappers around native os apis. will it impact performance?
    3. is there any alternative for c++ for this requirement.

    Thanks in advance.
    Prasad

    Pl45m4P 1 Reply Last reply
    0
    • P prasad2023

      Hi all,

      We are analyzing the technologies to choose for a desktop application for professional traders on Windows/Linux/Mac OS. currently, we are thinking for qt gui with c++ core logic for all os. This application primarily needs rich gui, consume rest apis, and consume push notifications from websockets.

      My basic queries are:

      1. Are qt gui and c++ backend are right technologies to develop such application? if not, suggest any.
      2. afaik, qt apis are wrappers around native os apis. will it impact performance?
      3. is there any alternative for c++ for this requirement.

      Thanks in advance.
      Prasad

      Pl45m4P Offline
      Pl45m4P Offline
      Pl45m4
      wrote on last edited by Pl45m4
      #2

      @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

      Are qt gui and c++ backend are right technologies to develop such application? if not, suggest any.

      If you need a more fancy GUI and maybe also planning to go for a mobile app, have a look at QML / QtQuick.

      afaik, qt apis are wrappers around native os apis. will it impact performance?

      Depends on what you use and how, I would say.

      is there any alternative for c++ for this requirement.

      The two major languages for QtWidgets are C++ and Python (via PySide or PyQt)


      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

      ~E. W. Dijkstra

      P 1 Reply Last reply
      0
      • Pl45m4P Pl45m4

        @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

        Are qt gui and c++ backend are right technologies to develop such application? if not, suggest any.

        If you need a more fancy GUI and maybe also planning to go for a mobile app, have a look at QML / QtQuick.

        afaik, qt apis are wrappers around native os apis. will it impact performance?

        Depends on what you use and how, I would say.

        is there any alternative for c++ for this requirement.

        The two major languages for QtWidgets are C++ and Python (via PySide or PyQt)

        P Offline
        P Offline
        prasad2023
        wrote on last edited by
        #3

        @Pl45m4

        only for desktop application.

        Which version of QML/QtQuick supports for all three major os and active versions of each?

        what qt version recommended for cross compatible desktop application development?

        Are any trading desktop applications developed in Qt? for reference.

        Thanks,
        Prasad

        Pl45m4P 1 Reply Last reply
        0
        • P prasad2023

          @Pl45m4

          only for desktop application.

          Which version of QML/QtQuick supports for all three major os and active versions of each?

          what qt version recommended for cross compatible desktop application development?

          Are any trading desktop applications developed in Qt? for reference.

          Thanks,
          Prasad

          Pl45m4P Offline
          Pl45m4P Offline
          Pl45m4
          wrote on last edited by Pl45m4
          #4

          @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

          what qt version recommended for cross compatible desktop application development?

          If you are not limited to some version and start new, I would go for 6.5 (latest LTS) or 6.6

          Are any trading desktop applications developed in Qt?

          A quick google search revealed Volven (https://volven.io/), a crypto trading platform uses Qt for their mobile as well as their desktop app.
          (https://www.qt.io/volven-built-with-qt)


          If debugging is the process of removing software bugs, then programming must be the process of putting them in.

          ~E. W. Dijkstra

          P 1 Reply Last reply
          0
          • Pl45m4P Pl45m4

            @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

            what qt version recommended for cross compatible desktop application development?

            If you are not limited to some version and start new, I would go for 6.5 (latest LTS) or 6.6

            Are any trading desktop applications developed in Qt?

            A quick google search revealed Volven (https://volven.io/), a crypto trading platform uses Qt for their mobile as well as their desktop app.
            (https://www.qt.io/volven-built-with-qt)

            P Offline
            P Offline
            prasad2023
            wrote on last edited by
            #5

            @Pl45m4

            I need to know the limitations/cons/disadvantages with qt {6.6/any} for desktop applications. can you please share the official document from qt if you have.

            Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings. is my understanding correct.

            Pl45m4P S 2 Replies Last reply
            0
            • P prasad2023

              @Pl45m4

              I need to know the limitations/cons/disadvantages with qt {6.6/any} for desktop applications. can you please share the official document from qt if you have.

              Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings. is my understanding correct.

              Pl45m4P Offline
              Pl45m4P Offline
              Pl45m4
              wrote on last edited by Pl45m4
              #6

              @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

              Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings

              Qt itself is platform-independent, but there is some platform-dependent stuff (features which work different on different platforms)... it's all about the modules you use.
              For more information, read the documention.

              I need to know the limitations/cons/disadvantages with qt {6.6/any} for desktop applications

              You know best, what you want to do and what could cause problems


              If debugging is the process of removing software bugs, then programming must be the process of putting them in.

              ~E. W. Dijkstra

              1 Reply Last reply
              1
              • P prasad2023

                @Pl45m4

                I need to know the limitations/cons/disadvantages with qt {6.6/any} for desktop applications. can you please share the official document from qt if you have.

                Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings. is my understanding correct.

                S Offline
                S Offline
                SimonSchroeder
                wrote on last edited by
                #7

                @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

                Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings. is my understanding correct.

                Let's phrase this differently: The same code compiles for all platforms. And CMake as the preferred method for handling your project is also available on all platforms. Qt has some very specific extensions for Windows and for macOS. As long as you don't use these (and they are not absolutely necessary) the same code will do the same on all three platforms. Sometimes you might need some additional compiler flags specific to a platform. CMake files can be written to have platform specific flags. However, these are rare cases and once added they don't need to be touched again.

                @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

                afaik, qt apis are wrappers around native os apis. will it impact performance?

                On Windows Qt might actually be faster than traditional Windows programming. The most straight forward approach is to register every single button, label, etc. with the OS. Qt will call the the OS functions for drawing these, but does not register them with the OS which is a huge speed up (only when converting a widget to a window are you back to real OS native windows). In general, humans are a lot slower than computers concerning the GUI. With this in consideration Qt is plenty fast. However, in many cases trading needs ridiculously high performance. I am not sure how much this translates to you GUI in these cases. If this is a concern, you need to fully separate the front- and backend. Run the backend in a separate thread and don't use Qt there if you need the highest performance. But, I would still suggest to not start with this kind of design if you are not sure you need it. Just start out with the plain old simple Qt way.

                If Qt is not fast enough, the only thing really faster would be akin to game development. You would need something like OpenGL or Vulkan. OpenGL is deprecated by macOS and Vulkan is only supported through moltenVK on macOS. You will not get something that is truly portable (especially performance-wise). Still, Qt could give you the proper framework to set up either OpenGL or Vulkan. If you want to go down the "game development" route you should have a look at Dear Imgui (https://github.com/ocornut/imgui) for a fast GUI (but not with as many features as Qt).

                JoeCFDJ 1 Reply Last reply
                0
                • S SimonSchroeder

                  @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

                  Need one confirmation. we can compile single qt/c++ codebase on all three Windows/Linux/Mac operating systems without changing any settings. is my understanding correct.

                  Let's phrase this differently: The same code compiles for all platforms. And CMake as the preferred method for handling your project is also available on all platforms. Qt has some very specific extensions for Windows and for macOS. As long as you don't use these (and they are not absolutely necessary) the same code will do the same on all three platforms. Sometimes you might need some additional compiler flags specific to a platform. CMake files can be written to have platform specific flags. However, these are rare cases and once added they don't need to be touched again.

                  @prasad2023 said in Need suggestion to develop cross platform desktop application for traders:

                  afaik, qt apis are wrappers around native os apis. will it impact performance?

                  On Windows Qt might actually be faster than traditional Windows programming. The most straight forward approach is to register every single button, label, etc. with the OS. Qt will call the the OS functions for drawing these, but does not register them with the OS which is a huge speed up (only when converting a widget to a window are you back to real OS native windows). In general, humans are a lot slower than computers concerning the GUI. With this in consideration Qt is plenty fast. However, in many cases trading needs ridiculously high performance. I am not sure how much this translates to you GUI in these cases. If this is a concern, you need to fully separate the front- and backend. Run the backend in a separate thread and don't use Qt there if you need the highest performance. But, I would still suggest to not start with this kind of design if you are not sure you need it. Just start out with the plain old simple Qt way.

                  If Qt is not fast enough, the only thing really faster would be akin to game development. You would need something like OpenGL or Vulkan. OpenGL is deprecated by macOS and Vulkan is only supported through moltenVK on macOS. You will not get something that is truly portable (especially performance-wise). Still, Qt could give you the proper framework to set up either OpenGL or Vulkan. If you want to go down the "game development" route you should have a look at Dear Imgui (https://github.com/ocornut/imgui) for a fast GUI (but not with as many features as Qt).

                  JoeCFDJ Offline
                  JoeCFDJ Offline
                  JoeCFD
                  wrote on last edited by JoeCFD
                  #8

                  @SimonSchroeder Maybe RUST is a good option for trading underneath and Qt for display.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved