# El panorama de CrossFly

> El modelo mental antes del código — Java+OpenGL, paint thread, todo es Component, sin arquitectura impuesta.

Source: https://crossfly.dev/es/docs/learn/big-picture — CrossFly documentation. Full docs as one file: https://crossfly.dev/llms-full.txt

# 1. El panorama de CrossFly

> **Lo que vas a aprender:** el modelo mental que hace que todas las próximas decisiones del curso tengan
> sentido. **Prerrequisitos:** haber ejecutado el [Hello World](/docs/get-started/quickstart).

A lo largo de este curso construimos **una única app** — una lista de tareas con persistencia — que crece
en cada página, desde una pantalla estática hasta una app testeada, responsiva y lista para empaquetar.

## Las ideas que sostienen todo
- **Java + OpenGL.** CrossFly es una app Java que dibuja vía GPU (OpenGL/WebGL). La apariencia es
  **idéntica** en todas las plataformas — no hay widgets nativos.
- **Paint thread única.** Toda la UI y el render ocurren en un solo thread. El trabajo pesado va a un
  thread de fondo y vuelve con `Component.onUI(...)`.
- **Render bajo demanda.** La pantalla solo se redibuja cuando llamas a `repaint()` — ahorra batería.
- **Todo es `Component`.** No hay jerarquía "widget vs container": cualquier `Component` se convierte en container
  al recibir un `Layout`.
- **Sin arquitectura impuesta.** No hay binding reactivo ni inyección de dependencias — tú **mutas** objetos
  y actualizas la UI a mano.

## El mapa de las piezas
| Pieza | Rol |
|---|---|
| `Main` | el bootstrap (el `ApplicationListener` de libGDX) |
| `Window` | una pantalla (un `Component` a pantalla completa en la pila de navegación) |
| `Component` | la unidad de UI — todo deriva de ella |
| `Layout` | mide y posiciona los hijos de un container |
| `Styles`/`Skin`/`ColorScheme` | la apariencia (forma + colores por tema) |

## Recapitulando
CrossFly es **imperativo y orientado a objetos**: crea objetos una vez, guarda referencias, muta,
`repaint()`. El threading es explícito; la apariencia es tu GPU dibujando, igual en todas partes.

## Próximos pasos
→ [Ventanas y navegación](/docs/learn/windows-and-navigation)

## Ver también
- Conceptos: [La arquitectura en capas](/docs/concepts/architecture) · [Todo es un Component](/docs/concepts/everything-is-a-component)
