Creating apps which can work with different mobile OS

Major mobile phone operating systems like Android and iOS are designed structurally different. This causes major issues to developers developing apps for mobile phones? Is it then possible for apps to run on all phones regardless of its Operating System? What is the best way for developers to develop app without requiring it to be tweaked to meet the needs of different Operating Systems?
