
Bauen Sie native Apps auf und reagieren Sie leistungsstarke Apps, die von Hunderten bis Zehntausenden von Aufzeichnungen skalieren und schnell bleiben.
| Wassermeldb | |
|---|---|
| ⚡️ | Starten Sie Ihre App sofort, egal wie viel Daten Sie haben |
| ? | Sehr skalierbar von Hunderten bis Zehntausenden von Aufzeichnungen |
| ? | Faul geladen . Laden Sie nur Daten, wenn Sie sie benötigen |
| Offline-First. Synchronisieren Sie mit Ihrem eigenen Backend | |
| Multiplattform . iOS, Android, Windows, Web und Node.js | |
| ⚛️ | Optimiert für React. Einfach Daten in Komponenten anschließen |
| ? | Framework-Agnostic. Verwenden Sie die JS -API, um in andere UI -Frameworks einzusteigen |
| ⏱ | Schnell. Und mit jeder Veröffentlichung schneller zu werden! |
| ✅ | Bewiesen. Powers Nozbe seit 2017 (und viele andere) |
| Reaktiv. (Optional) RXJS -API | |
| ? | Relational. Gebaut auf Rock-Solid SQLite Foundation |
| Statische Typisierung mit Fluss oder Typenkript |
Watermelondb ist eine neue Möglichkeit, mit Benutzerdaten in React Native- und React -Web -Apps umzugehen.
Es ist optimiert, um komplexe Anwendungen in React Native zu erstellen, und das Ziel Nummer eins ist die reale Leistung . In einfachen Worten muss Ihre App schnell starten .
Für einfache Apps ist die Verwendung von Redux oder MOBX mit einem Persistenzadapter der einfachste Weg. Wenn Sie jedoch mit der Skalierung von Tausenden oder Zehntausenden von Datenbankdatensätzen beginnen, startet Ihre App nun nur langsam (insbesondere auf langsameren Android -Geräten). Das Laden einer vollständigen Datenbank in JavaScript ist teuer!
Wassermelonen behebt es , indem es faul ist . Nichts wird geladen, bis es angefordert wird. Und da alle Abfragen direkt in der SQLite-Datenbank in einem separaten nativen Thread durchgeführt werden, werden die meisten Abfragen in einem Augenblick auflösen.
Im Gegensatz zur direkten Verwendung von SQLite ist Wassermelone jedoch vollständig beobachtbar . Wenn Sie also einen Datensatz ändern, wird die gesamte Benutzeroberfläche, die davon abhängt, automatisch wieder aufgeregt. Wenn Sie beispielsweise eine Aufgabe in einer To-Do-App erledigen, werden die Aufgabenkomponente, die Liste (zum Nachbestellen) und alle relevanten Aufgabenzähler neu geführt. Erfahren Sie mehr .
|
| | ---- | --- | |
Reaktionsdatenbanken der nächsten Generation
(Ein Gespräch über Wassermeldb)
Schnell (zu vereinfacht) Beispiel: Eine App mit Beiträgen und Kommentaren.
Erstens definieren Sie Modelle:
class Post extends Model {
@ field ( 'name' ) name
@ field ( 'body' ) body
@ children ( 'comments' ) comments
}
class Comment extends Model {
@ field ( 'body' ) body
@ field ( 'author' ) author
}Anschließend verbinden Sie Komponenten mit den Daten:
const Comment = ( { comment } ) => (
< View style = { styles . commentBox } >
< Text > { comment . body } — by { comment . author } </ Text >
</ View >
)
// This is how you make your app reactive!
const enhance = withObservables ( [ 'comment' ] , ( { comment } ) => ( {
comment ,
} ) )
const EnhancedComment = enhance ( Comment )Und jetzt können Sie den gesamten Beitrag rendern:
const Post = ( { post , comments } ) => (
< View >
< Text > { post . name } </ Text >
< Text > Comments: </ Text >
{ comments . map ( comment =>
< EnhancedComment key = { comment . id } comment = { comment } />
) }
</ View >
)
const enhance = withObservables ( [ 'post' ] , ( { post } ) => ( {
post ,
comments : post . comments
} ) )Das Ergebnis ist vollständig reaktiv! Immer wenn ein Beitrag oder Kommentar hinzugefügt, geändert oder entfernt wird, werden die richtigen Komponenten automatisch auf dem Bildschirm wieder aufgerüstet . Es spielt keine Rolle, ob eine Änderung in einem völlig anderen Teil der App stattgefunden hat. Alles funktioniert nur nicht!














Nutzt Ihr Unternehmen oder Ihre App? Öffnen Sie eine Pull -Anfrage und fügen Sie Ihr Logo/Ihr Symbol hier mit Link hinzu!

Watermelondb ist ein Open-Source-Projekt und braucht Ihre Hilfe, um zu gedeihen!
Wenn es eine fehlende Funktion, einen Fehler oder eine andere Verbesserung gibt, die Sie möchten, empfehlen wir Ihnen, einen Beitrag zu leisten! Fühlen Sie sich frei, ein Problem zu eröffnen, um einige Anleitungen zu erhalten, und finden Sie einen Beitragsanleitung für Einzelheiten zu Projekt -Setups, Tests usw.
Wenn Sie gerade erst anfangen, sehen Sie sich gute erste Probleme an, die leicht zu leisten sind. Wenn Sie einen nicht trivialen Beitrag leisten, senden Sie mir eine E-Mail und ich schicke Ihnen einen schönen? Aufkleber!
Wenn Sie eine App mit Wassermeldb herstellen oder erwägen, teilen Sie es uns bitte mit!
Watermelondb wurde von @nozbe erstellt.
Watermelondbs Hauptautor und Betreuer ist Radek Pietruszewski (Website ≤? (Twitter))
Sehen Sie alle Mitwirkenden.
Wassermelondb ist im Rahmen der MIT -Lizenz erhältlich. Weitere Informationen finden Sie in der Lizenzdatei.