Write once, run everywhere is the ultimate goal when writing software. As well it should be. The more code you have to maintain, the more expensive, time consuming and error prone that code will become as time progresses. Lucky for us there are various multi-platform solutions out there at our disposal. Some free and some not so much. Just recently Microsoft acquired one of the largest of those companies, Xamarin.
. . .