Mobile app development is the process in which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on the phone, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser. Application software developers also have to consider a lengthy array of screen sizes, hardware specifications and configurations because of intense competition within mobile software and changes within each of the platforms.

From a technical perspective, there are several different ways to build mobile apps. These techniques have evolved over time. When the first smartphone appeared, the only way to build apps was to use the native development tools provided by the phone vendor. However, driven by the market’s needs for a more efficient and cross-platform development tool, added-value frameworks and systems quickly appeared.