Hi I wasn't sure if this was the right section or not

How is a GUI implemented in modern operating system. Currently I use win32 code to generate a window and then use openGl with C++ to generate the application.

How is explorer.exe (the windows interface) designed and built. Does it use C++ and Direct3D/OpenGl or does it have to programed in a lower level language and have access to the hardware to allow for screen resolutions etc? Does it also use the windows code?

How does the interfaces in embedded systems compare? Such as the IOS or android and the interfaces in GPS systems etc. Are these coded in the same ways using similar languages and interfaces or does it drastically change depending on the hardware and application?

Many thanks

As a general rule, a GUI can be implemented one of two ways: written in a low-level language (e.g. Assembly) and directly interfacing with the BIOS, or written in a higher-level language (e.g. C++) and interfacing with the operating system kernel that was written in a low-level language. I've only done a little poking around Explorer, but i'm fairly sure it runs atop the Windows kernel and uses the graphics libraries. However, if you consider the libraries part of the GUI, they are most likely written in a lower level language, at least on a basic level (before virtual mode drivers). In an embedded system, the architecture is usually the only major change. As you said, in iOS or Android, the interface would be one of the only changes, the libraries are probably still there, as they are both *nix-based.

Hope this helps!

thanks a lot that helps clear up what I was thinking, is there any books or websites you could recommend ? I have had a look but not found anything specifically for lower level application.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.