How the famous desktop applications are made?

I guess we all know already how to make a good looking and functional application for the web. Now, I’m wondering how it’s done for desktop apps.
For example, how do you make a decently looking UI for an application written in Python? I know about PyQT, but doing anything that looks at least decent is pretty difficult compared to using CSS. How do companies such as Adobe or Discord make their UIs?
How do you integrate multiple languages in your back-end? Almost every application (web or desktop) is built upon multiple languages, I wonder how this works.

I don’t know about Qt development or GTK the 2 options for native desktop apps.

Though if your used to the web stack, you should try electronjs. They have tons of apps some which you’re probably using right now if you’ve installed vscode.

There may also be a react native for desktop, if you give that a google.

So here are a few things:

  1. Some use libs, like the aftermentioned QT and GTK libraries, which provide common visual components. Python has PyQT, idk much about this technology, but it all comes from the same idea. You get to use libraries to build your UI to render you application.
  2. Discord uses web technologies to build the UI, its the reason why the app is available online (thru a web browser) and for download, and it looks, and works basically the same. Discord, and other popular apps use electron this is becoming more popular as you can create a web app, and still be able to ship a desktop app, both using more or less leading edge technologies
  3. You build your own “QT” library from scratch. I’m sure big companies like adobe do this for their apps, for their own requirements.

Now integrating multiple languages in your backend is a totally different question with a totally different answer and it really depends on your use case. Most popular languages can be used as web-backends without much trouble, but having different types of languages talk between servers/instances is a different story that really depends on the use-case and setup.