Yes, but you have to be careful, because it’s easy to get things wrong if your mobile application development process wasn’t designed for multi-platform work.
Android and iOS are both smartphone operating systems, but their similarities don’t go much further. The most important part of programming an app for any mobile device is its programming language – in most cases, this is Java for Android and Objective-C for iOS. Other programming languages are usable – more on that below – but it’s hard to get apps to behave exactly the same when you’re using different programming languages. Users usually want to have a good experience no matter what device they’re using, and if you’re better with one language than another, it will show.
There’s also the design aspect. For example, the iPhone 7 have reported that Apple is switching to a touch-sensitive surface for its home button, which is a major change from the previous button they used. This isn’t as simple as changing one button for another – it’s a genuinely different interface, and programs can make use of that to maximize their functionality. Again, though, you don’t want to have features that are only available on some platforms… especially when users get used to having them.
Either of these would be bad enough on its own, but it’s even worse from the back end. Two versions of an app means twice the work to keep it updated and functional… which means less time is spent improving it and supporting your business.
The good news is that there is a solution for mobile application development. Xamarin offers a development environment based on C# – a programming language that can do anything Objective-C, Java, or Swift can do. On average, this system allows for as much as 75% of an app’s code to be shared on all platforms. User interfaces can often share 100% of their code, allowing for a consistent feel no matter what platform people are using the app on.
Xamarin also allows you to share media, images, and code across multiple platforms. On a practical level, this means that people using the app can interact with each other even when they have different types of devices… and that’s a part of mobile application development that users truly appreciate, especially when they rely on connectivity to get their jobs done.
The most important thing to remember is that multi-platform compatibility needs to be part of the process from the very beginning. It doesn’t make sense to create one version of an app, then try to duplicate it for another platform. With Xamarin, apps are compatible from the start.