First thing is as you would like to have a window program with GUI you need to have the differently done the Gui for each OS. The business logic can be same for each of them. For Windows you can refer to Seperate resource into a seperate DLL .