Central repository — documentation hub and multi-platform library family
Documentation index · Quick reference · Technical guide
Languages: English (this page) · Português (BR) · Español
This is the central meta-repository for AppDimens. It aggregates official documentation, theory, examples, and multilingual guides. Source code and releases for each platform live in separate Git repositories included here as Git submodules.
- Clone with submodules:
git clone --recurse-submodules https://github.com/bodenberg/appdimens.git - Update submodules:
git submodule update --init --recursive
If you only need one platform, you can clone that repository directly (see table below).
Each row is a standalone repo (path in this clone = submodule directory). Version is the current published line documented in that repo’s README or build files at the submodule tip; always confirm in the submodule before pinning dependencies.
| Submodule | Platform | Version (see submodule) | Status | Upstream / folder |
|---|---|---|---|---|
| appdimens-dynamic | Android (Jetpack Compose, Kotlin/Java) | 3.1.4 | Stable | appdimens-dynamic/ |
| appdimens-dynamic-kmp | Kotlin Multiplatform (Android, iOS, Desktop) | 1.0.0 | Work in progress | appdimens-dynamic-kmp/ |
| appdimens-sdps | Android XML scalable DP (@dimen/_*sdp) |
3.1.2 | Stable | appdimens-sdps/ |
| appdimens-ssps | Android XML scalable SP (@dimen/_*ssp) |
3.1.2 | Stable | appdimens-ssps/ |
| appdimens-games | Android games (C++/NDK, OpenGL) | 2.0.1 | Work in progress (see module README) | appdimens-games/ |
| appdimens-flutter | Flutter / Dart | 2.0.0 | Work in progress | appdimens-flutter/ |
| appdimens-ios | iOS / macOS / tvOS / watchOS (Swift, SPM, CocoaPods) | 2.0.0 | Work in progress (rich docs inside repo) | appdimens-ios/ |
| appdimens-react-native | React Native (TypeScript) | 2.0.0 | Work in progress | appdimens-react-native/ |
| appdimens-web | Web / TypeScript (webdimens) |
2.0.0 | Work in progress | appdimens-web/ |
GitHub mirrors: dynamic · kmp · sdps · ssps · games · flutter · ios · react-native · web
AppDimens provides responsive dimensions across phones, tablets, TVs, watches, and browsers, using perceptual scaling (e.g. Weber–Fechner, Stevens’ power law) and multiple strategies so you can pick the right curve for buttons, typography, containers, and games.
Central docs (this repo): strategy comparison, math, validation, and cross-platform examples live under DOCS/. Platform-specific installation, APIs, and changelogs live in each submodule (links in the table above).
dependencies {
implementation("io.github.bodenberg:appdimens-dynamic:3.1.4")
}→ Full setup, Compose, XML, performance: appdimens-dynamic/README.md
implementation("io.github.bodenberg:appdimens-sdps:3.1.2")
implementation("io.github.bodenberg:appdimens-ssps:3.1.2")→ appdimens-sdps/README.md · appdimens-ssps/README.md
implementation("io.github.bodenberg:appdimens-games:2.0.1")→ appdimens-games/appdimens_games/README.md
pod 'AppDimens', '~> 2.0.0'→ appdimens-ios/ (see INSTALLATION.md, USAGE_GUIDE.md, DOCUMENTATION.md inside the submodule)
dependencies:
appdimens: ^2.0.0npm install appdimens-react-native@2.0.0npm install webdimens@2.0.0→ appdimens-web/ · Quick start
→ appdimens-dynamic-kmp/ (experimental; not production-ready per submodule notice)
The family documents 13 strategies (names may vary slightly by platform). For formulas, rankings, and when to use each:
| Strategy | Typical use |
|---|---|
| BALANCED (auto) | Default recommendation for most UI |
| DEFAULT (scaled) | Phone-first / legacy “fixed” style curve |
| PERCENTAGE | Proportional / “dynamic” style growth |
| LOGARITHMIC, POWER | Perceptual / TV / fine control |
| FLUID | Bounded min–max (typography, spacing) |
| INTERPOLATED, DIAGONAL, PERIMETER | Specialized geometry |
| FIT, FILL | Game-style letterbox / cover |
| AUTOSIZE | Container-aware text sizing |
| NONE | No scaling |
Details: Simplified theory · Full theory · Formula comparison
| Resource | Description |
|---|---|
| DOCS/README.md | Master documentation index |
| DOCS/EXAMPLES.md | Cross-platform examples |
| DOCS/BASE_ORIENTATION_GUIDE.md | Base orientation / rotation |
| DOCS/APPLICABILITY_OF_APPDIMENS.md | When to use or avoid AppDimens |
| LANG/ | Portuguese and Spanish mirrors |
| DOCS/html/ | Interactive scaling comparison HTML demos |
- CONTRIBUTING.md — includes submodule workflow
- SECURITY.md
- CODE_OF_CONDUCT.md
- CHANGELOG.md — high-level history; each submodule may have its own changelog
- LICENSE — Apache License 2.0
Issues for this hub (docs structure, links, translations): appdimens issues. For library bugs, prefer the issue tracker of the relevant submodule on GitHub.
Jean Bodenberg — @bodenberg · appdimens-project.web.app
Made for developers worldwide