Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <blockquote> <p>Should the GUI be separated from the application's logic?</p> </blockquote> <p>It should, because the UI widgets are just types of objects and one of the rules of OO says that each object should be trusted with the responsabilities that it can fulfill. A dialog doesn't know much about serialization for example.</p> <blockquote> <p>If it is separated, how should the logic and the GUI communicate? Are TCP/IP sockets a good option? What are other possibilities?</p> </blockquote> <p>It depends on how much separation you need. I use asynchronous messages for communication, and then I can use different transport layers without many changes. TCP/IP would allow you to use the GUI on a separate machine from the core, but it has higher overhead than passing around window messages for example.</p> <blockquote> <p>Is it a good idea to have the GUI in a language different than a C++? If yes - which language?</p> </blockquote> <p>Ideally, you should use as few languages as possible unless you really need the technical capabilities of a certain language. GUIs are more of a library problem than a language problem, so if you can find a very good C++ UI library (hint: Qt), you should code all your program in C++.</p> <blockquote> <p>Is it a good idea to have a browser-based GUI?</p> </blockquote> <p>It could be, but you should think about requirements and not ideas. Do your customers want to interact with your program from a browser? Can they afford the extra costs and development time? Do you have the know-how?</p> <blockquote> <p>Even though the project's core logic is cross-platform, I can decide that the GUI will be only Windows-based (.NET?) and it will communicate with the logic on the relevant Win/Linux machine through Socket or similar method. Is it a good idea to do so?</p> </blockquote> <p>It could be a good idea, but see the answer to #3. Also consider that you're going to work on a client-server program, which is significantly more complicated than a stand-alone program. Finally, you need to examine the pros and cons of a .NET dependency over using a C++ UI library: what .NET brings you that you couldn't get with wxWdigets, Qt, gtkmm, etc.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload