copper-leaf / ballast

Opinionated Application State Management framework for Kotlin Multiplatform
https://copper-leaf.github.io/ballast/
BSD 3-Clause "New" or "Revised" License
144 stars 11 forks source link

[examples] Split examples into separate sub-projects, rather than separated by platform #53

Closed cjbrooks12 closed 4 months ago

cjbrooks12 commented 10 months ago

The current examples are separated by Platform (web, android, desktop), and the same features are re-implemented in each platform with very little difference between them. This also makes the example projects have a bunch of additional "architecture" that may make it difficult to understand the intended use-case and configuration of these features.

Instead, let's break these examples out into a handful of separate, much simpler example projects. The majority of these should be defined as Compose Multiplatform projects with Android, Desktop, and Web targets, with as much as possible defined in the commonMain sourceset. These examples can then each be individually embedded into their respective documentation pages.

The goal is for each project to include the absolute minimum amount of boilerplate necessary to demonstrate a particular feature of Ballast, as well as avoid duplication of the examples. This will also allow more flexibility in different kinds of examples, as each one is easier to setup and maintain. The idea is to show less about how to set up your KMP repos, and focus more on how to setup and use Ballast.

cjbrooks12 commented 4 months ago

Closed in PR #66, to be available in Ballast version 4.1.0.