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.
In the future, it’s expected that a majority of mobile application development efforts will focus on creating browser-based applications that are device-agnostic. Browser-based applications are simply websites that are built for mobile browsers. Such sites are built to load quickly over a cellular network and have finger-friendly navigation.