Mobile application development is similar to Web application development and has its roots in more traditional software development. One critical difference, however, is that mobile applications (apps) are often written specifically to take advantage of the unique features a particular mobile device offers. For instance, a gaming app might be written to take advantage of the iPhone’s accelerator . Mobile apps are developed for a certain platform, and the two most popular platforms today are iOS and Android.
One way to ensure that applications show optimum performance on a given device is to develop the application (app) natively on that device. This means that at a very low level, the code is written specifically for the processor in a particular device. When an app needs to run on multiple operating systems, however, there is little — if any — code that can be reused from the initial development. The application must essentially be rewritten for each specific device.