While code is the most common reusable component, other components and assets produced during the software development process can also be reused e-g software designs, specifications, prototypes, tests cases, data, frameworks, and documentation etc.
In mobile applications development, software reuse can be achieved to a wide extent in the case of single-platform application development.
In native applications development approach, a single application is developed multiple times to support multiple mobile platforms. This makes software reuse very difficult.