# Design exercise: Web & Mobile Engineering

> Web and native lifecycles, rendering, navigation, state, networking, offline behavior, accessibility, and release constraints. Implement designOutline() returning non-empty values for: lifecycle, stateModel, offlineFallback. Each value must name a concrete mechanism or decision.

Canonical: https://learn.significanthobbies.com/curriculum/drills/practice-web-mobile-engineering

Web and native lifecycles, rendering, navigation, state, networking, offline behavior, accessibility, and release constraints. Implement designOutline() returning non-empty values for: lifecycle, stateModel, offlineFallback. Each value must name a concrete mechanism or decision.

## The mechanism

Client engineering is lifecycle engineering. Model loading, interaction, backgrounding, connectivity, persistence, accessibility, and platform conventions explicitly.

## Expected evidence

A design outline with lifecycle, stateModel, offlineFallback plus an explicit failure mode or trade-off.

## Hints

- Name the failure mode before selecting the mechanism.

## Sources and practice

- [MDN Web Platform](https://developer.mozilla.org/en-US/docs/Web)
- [Study Web & Mobile Engineering](https://learn.significanthobbies.com/curriculum/concepts/web-mobile-engineering)
- [Try the interactive drill](https://learn.significanthobbies.com/drills/practice-web-mobile-engineering)
- [All practice briefs](https://learn.significanthobbies.com/curriculum/drills/)
