|
| 1 | +# AppState |
| 2 | + |
| 3 | +[](https://github.com/0xLeif/AppState/actions/workflows/macOS.yml) |
| 4 | +[](https://github.com/0xLeif/AppState/actions/workflows/ubuntu.yml) |
| 5 | +[](https://github.com/0xLeif/AppState/actions/workflows/windows.yml) |
| 6 | +[](https://github.com/0xLeif/AppState/blob/main/LICENSE) |
| 7 | +[](https://github.com/0xLeif/AppState/releases) |
| 8 | + |
| 9 | +**AppState** ist eine Swift 6-Bibliothek, die entwickelt wurde, um die Verwaltung des Anwendungszustands auf eine threadsichere, typsichere und SwiftUI-freundliche Weise zu vereinfachen. Sie bietet eine Reihe von Werkzeugen, um den Zustand in Ihrer gesamten Anwendung zu zentralisieren und zu synchronisieren sowie Abhängigkeiten in verschiedene Teile Ihrer App zu injizieren. |
| 10 | + |
| 11 | +## Anforderungen |
| 12 | + |
| 13 | +- **iOS**: 15.0+ |
| 14 | +- **watchOS**: 8.0+ |
| 15 | +- **macOS**: 11.0+ |
| 16 | +- **tvOS**: 15.0+ |
| 17 | +- **visionOS**: 1.0+ |
| 18 | +- **Swift**: 6.0+ |
| 19 | +- **Xcode**: 16.0+ |
| 20 | + |
| 21 | +**Unterstützung für Nicht-Apple-Plattformen**: Linux & Windows |
| 22 | + |
| 23 | +> 🍎 Mit diesem Symbol gekennzeichnete Funktionen sind spezifisch für Apple-Plattformen, da sie auf Apple-Technologien wie iCloud und dem Schlüsselbund basieren. |
| 24 | +
|
| 25 | +## Hauptmerkmale |
| 26 | + |
| 27 | +**AppState** enthält mehrere leistungsstarke Funktionen zur Verwaltung von Zustand und Abhängigkeiten: |
| 28 | + |
| 29 | +- **State**: Zentralisierte Zustandsverwaltung, die es Ihnen ermöglicht, Änderungen in der gesamten App zu kapseln und zu übertragen. |
| 30 | +- **StoredState**: Persistenter Zustand mit `UserDefaults`, ideal zum Speichern kleiner Datenmengen zwischen App-Starts. |
| 31 | +- **FileState**: Persistenter Zustand, der mit `FileManager` gespeichert wird und nützlich ist, um größere Datenmengen sicher auf der Festplatte zu speichern. |
| 32 | +- 🍎 **SyncState**: Synchronisieren Sie den Zustand über mehrere Geräte mit iCloud und stellen Sie die Konsistenz der Benutzereinstellungen sicher. |
| 33 | +- 🍎 **SecureState**: Speichern Sie sensible Daten sicher mit dem Schlüsselbund und schützen Sie Benutzerinformationen wie Token oder Passwörter. |
| 34 | +- **Abhängigkeitsmanagement**: Injizieren Sie Abhängigkeiten wie Netzwerkdienste oder Datenbankclients in Ihre gesamte App für eine bessere Modularität und Testbarkeit. |
| 35 | +- **Slicing**: Greifen Sie auf bestimmte Teile eines Zustands oder einer Abhängigkeit zu, um eine granulare Kontrolle zu erhalten, ohne den gesamten Anwendungszustand verwalten zu müssen. |
| 36 | +- **Constants**: Greifen Sie auf schreibgeschützte Teile Ihres Zustands zu, wenn Sie unveränderliche Werte benötigen. |
| 37 | +- **Observed Dependencies**: Beobachten Sie `ObservableObject`-Abhängigkeiten, damit Ihre Ansichten aktualisiert werden, wenn sie sich ändern. |
| 38 | + |
| 39 | +## Erste Schritte |
| 40 | + |
| 41 | +Um **AppState** in Ihr Swift-Projekt zu integrieren, müssen Sie den Swift Package Manager verwenden. Befolgen Sie die [Installationsanleitung](de/installation.md) für detaillierte Anweisungen zur Einrichtung von **AppState**. |
| 42 | + |
| 43 | +Nach der Installation finden Sie in der [Verwendungsübersicht](de/usage-overview.md) eine kurze Einführung in die Verwaltung des Zustands und die Injektion von Abhängigkeiten in Ihr Projekt. |
| 44 | + |
| 45 | +## Schnelles Beispiel |
| 46 | + |
| 47 | +Unten sehen Sie ein minimales Beispiel, das zeigt, wie man einen Zustandsausschnitt definiert und von einer SwiftUI-Ansicht darauf zugreift: |
| 48 | + |
| 49 | +```swift |
| 50 | +import AppState |
| 51 | +import SwiftUI |
| 52 | + |
| 53 | +private extension Application { |
| 54 | + var counter: State<Int> { |
| 55 | + state(initial: 0) |
| 56 | + } |
| 57 | +} |
| 58 | + |
| 59 | +struct ContentView: View { |
| 60 | + @AppState(\.counter) var counter: Int |
| 61 | + |
| 62 | + var body: some View { |
| 63 | + VStack { |
| 64 | + Text("Zähler: \(counter)") |
| 65 | + Button("Inkrementieren") { counter += 1 } |
| 66 | + } |
| 67 | + } |
| 68 | +} |
| 69 | +``` |
| 70 | + |
| 71 | +Dieser Ausschnitt zeigt, wie man einen Zustandswert in einer `Application`-Erweiterung definiert und den `@AppState`-Property-Wrapper verwendet, um ihn in einer Ansicht zu binden. |
| 72 | + |
| 73 | +## Dokumentation |
| 74 | + |
| 75 | +Hier ist eine detaillierte Aufschlüsselung der Dokumentation von **AppState**: |
| 76 | + |
| 77 | +- [Installationsanleitung](de/installation.md): So fügen Sie **AppState** mit dem Swift Package Manager zu Ihrem Projekt hinzu. |
| 78 | +- [Verwendungsübersicht](de/usage-overview.md): Eine Übersicht über die wichtigsten Funktionen mit Beispielimplementierungen. |
| 79 | + |
| 80 | +### Detaillierte Verwendungsanleitungen: |
| 81 | + |
| 82 | +- [Zustands- und Abhängigkeitsmanagement](de/usage-state-dependency.md): Zentralisieren Sie den Zustand und injizieren Sie Abhängigkeiten in Ihrer gesamten App. |
| 83 | +- [Zustand slicen](de/usage-slice.md): Greifen Sie auf bestimmte Teile des Zustands zu und ändern Sie sie. |
| 84 | +- [StoredState-Verwendungsanleitung](de/usage-storedstate.md): So persistieren Sie leichtgewichtige Daten mit `StoredState`. |
| 85 | +- [FileState-Verwendungsanleitung](de/usage-filestate.md): Erfahren Sie, wie Sie größere Datenmengen sicher auf der Festplatte persistieren. |
| 86 | +- [SecureState mit Schlüsselbund verwenden](de/usage-securestate.md): Speichern Sie sensible Daten sicher mit dem Schlüsselbund. |
| 87 | +- [iCloud-Synchronisierung mit SyncState](de/usage-syncstate.md): Halten Sie den Zustand über Geräte hinweg mit iCloud synchron. |
| 88 | +- [FAQ](de/faq.md): Antworten auf häufig gestellte Fragen zur Verwendung von **AppState**. |
| 89 | +- [Konstanten-Verwendungsanleitung](de/usage-constant.md): Greifen Sie auf schreibgeschützte Werte aus Ihrem Zustand zu. |
| 90 | +- [ObservedDependency-Verwendungsanleitung](de/usage-observeddependency.md): Arbeiten Sie mit `ObservableObject`-Abhängigkeiten in Ihren Ansichten. |
| 91 | +- [Erweiterte Verwendung](de/advanced-usage.md): Techniken wie Just-in-Time-Erstellung und Vorabladen von Abhängigkeiten. |
| 92 | +- [Beste Praktiken](de/best-practices.md): Tipps zur effektiven Strukturierung des Zustands Ihrer App. |
| 93 | +- [Überlegungen zur Migration](de/migration-considerations.md): Anleitung zur Aktualisierung persistierter Modelle. |
| 94 | + |
| 95 | +## Mitwirken |
| 96 | + |
| 97 | +Wir freuen uns über Beiträge! Bitte lesen Sie unsere [Anleitung für Mitwirkende](de/contributing.md), um zu erfahren, wie Sie sich beteiligen können. |
| 98 | + |
| 99 | +## Nächste Schritte |
| 100 | + |
| 101 | +Nach der Installation von **AppState** können Sie die wichtigsten Funktionen erkunden, indem Sie sich die [Verwendungsübersicht](de/usage-overview.md) und detailliertere Anleitungen ansehen. Beginnen Sie mit der effektiven Verwaltung von Zustand und Abhängigkeiten in Ihren Swift-Projekten! Für fortgeschrittenere Verwendungstechniken wie die Just-In-Time-Erstellung und das Vorabladen von Abhängigkeiten siehe die [Anleitung zur erweiterten Verwendung](de/advanced-usage.md). Sie können auch die Anleitungen zu [Konstanten](de/usage-constant.md) und [ObservedDependency](de/usage-observeddependency.md) für zusätzliche Funktionen einsehen. |
| 102 | + |
| 103 | +--- |
| 104 | +Diese Übersetzung wurde automatisch generiert und kann Fehler enthalten. Wenn Sie Muttersprachler sind, freuen wir uns über Ihre Korrekturvorschläge per Pull Request. |
0 commit comments