# Runnable sample apps

> Complete example projects that you clone and run on the desktop — the native replacement for the "sandbox".

Source: https://crossfly.dev/docs/resources/examples — CrossFly documentation. Full docs as one file: https://crossfly.dev/llms-full.txt

# Runnable sample apps

Because CrossFly is **native/OpenGL** (it doesn't run in a live web sandbox), the "examples" are **runnable
projects** that you clone and run on the desktop — fast iteration, no emulator:
```bash
gradlew :lwjgl3:run
```

## What each example demonstrates
| Example | Demonstrates |
|---|---|
| **To-Do / CRUD** | `Window`, `VerticalLayout`, `TextField`, `VirtualListView`, SQLite persistence |
| **Widget gallery** | all widgets (one screen per family) — a living visual reference |
| **Navigation and pickers** | `Window` stack, `DatePicker`/`PhotoPicker`/`ColorPicker` |
| **Themes and skins** | `Styles.setDarkMode(...)` and `Skin.set(new MaterialSkin()|new IOSSkin()|new FlutterSkin())` live |
| **Large lists** | `VirtualListView` with thousands of items (recycling) |
| **Device** | camera/GPS/Bluetooth BLE via `dev.crossfly.device` |
| **Charts** | `LineChart`/`AreaChart`/`BarChart`/`StackedBarChart`/`PieChart`/`DonutChart`/`ComboChart` (`ChartView` + `ChartType`) |

The examples mirror the **sample suite** in the `dev.cf` package (used as a reference, not as a
dependency of your app).

## How to use
1. Open the example project in your IDE (or clone the samples repository).
2. Run `gradlew :lwjgl3:run`.
3. Read the code of the screen that interests you — each example is small and focused.
4. Copy the pattern into your app.

> The documentation **screenshots** are generated from these screens via `Main.getScreenShot(...)` + the
> testing framework ([Testing](/docs/best-practices/testes)), so they never grow stale.

## See also
- Guided tracks: [Get Started](/docs/get-started) · [Learn](/docs/learn)
- [Samples and tutorials](/docs/resources/samples-and-tutorials) · [Contributing](/docs/resources/contributing)
