Mobile apps are programs that run on mobile devices, typically smartphones and tablets.
The dominant platform for mobile is Android created by Google. Android apps are natively written in Java. The program works by running on top of a Java virtual machine, which means the apps can run on any device that has an Android operating system (the developer doesn’t need to worry about a device’s hardware).
I employ the same principal using C#. My apps are written using C#, which can create native apps, and then run on top of the C# virtual environment.
Apple’s iOS runs on the iPhone and iPad, and it won’t run Java apps. So any apps written in Java for Android won’t work on iOS. Apple apps are written using Objective C or Swift. As a developer you would need to write all the code in Java for your Android app, and then rewrite that code in Objective C/Swift for iPhones and iPads.
To get around such a massive cost I have decided to use C# which can be (more or less) written once and run anywhere. This means an Android app written in C# will run on the iPhone.
Due to the cost of developing mobile apps I work very closely with our clients throughout the entire process, from design through testing and into production.