When you begin thinking about your mobile app, you probably already have the platform, Google or Apple (or Microsoft, but less often) you use the most in mind for your app. But it is incredibly important that you consider both Android and iOS, as this gives you another distribution channel to reach customers through.
Founders and entrepreneurs who understand this and begin to research what it takes to develop on both platforms find themselves faced with a few choices.
The broad categorizations that mobile platforms fall into are: Cross Platform and Native.
Cross Platform development means that you can write your code once, and have it deployed on both platforms with little to no extra tweaking. This typically involves either wrapping HTML in a native app so it can be distributed through the store, or a "runtime", which transforms languages like Javascript into native code when the app is opened. Both options offer a one-time cost for getting your app onto two and more platforms.
Native development involves individual programming efforts for each platform, iOS requiring Objective-C (or Swift) expertise, and Android requiring Java expertise. It is often considered more difficult by less senior developers, but it allows much finer grained optimization and better performance for apps with heavy animations or hardware functionality (GPS, Camera, etc).