Estas suelen diferenciarse entre sí según su naturaleza, finalidades y uso, aunque bien tienen muchas cosas en común, como el desarrollo de la interfaz en dispositivos móviles, cuentan con una categorización básica, son las siguientes.
Nativas: Son desarrolladas en un lenguaje de programación específico, por lo que también son específicas para un tipo de sistema. Por ejemplo, si se escriben con Java solo estarán disponibles para Android. Un ejemplo de esta es Whatsapp.
Web: No suelen funcionar sin conexión a Internet, pero pueden ser desarrolladas en cualquier lenguaje programático, como Java o HTML. Están disponibles para cualquier tipo se sistema y se adaptan a cualquier dispositivo.
Híbridas: Es una combinación de las características de las dos anteriores, funcionan en cualquier sistema y dispositivo, al mismo tiempo, pueden ejecutarse sin conexión a Internet. Un ejemplo básico es la aplicación de Instagram.