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 accelerometer.
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.