My work includes web application development, so I have clear idea on how to develop a web application. I know most of the frameworks used which help not only organize the codebase but also reduce the development efforts significantly. Moreover these frameworks also have very profound way of separating the duties/concerns and divide the application in different layers (e.g. MVC) . As I have never been exposed to native desktop application development, I wonder what such frameworks exist in this area. I have checked out source codes of different desktop applications like VLC player, chrome etc. But they don't seem to have such frameworks, nothing in common but yet the codes are well organised. Can someone suggest me how would I approach the native desktop application development if I need to make an application ? As I described before I would like minimize the development efforts with a robust application structure like we do in web applications.