How mobile apps are developed