
構建強大的反應和反應本機應用程序,該應用程序從數百到數万記錄擴展,並保持快速⚡️
| 西瓜 | |
|---|---|
| ⚡️ | 無論您擁有多少數據,都可以立即啟動您的應用程序 |
| ? | 從數百到數万記錄中高度可擴展 |
| ? | 懶惰的加載。僅在需要時加載數據 |
| 脫機第一。與您自己的後端同步 | |
| 乘數。 iOS,Android,Windows,Web和Node.js | |
| ⚛️ | 對RECT進行了優化。輕鬆將數據插入組件 |
| ? | 框架 - 敏捷。使用JS API插入其他UI框架 |
| ⏱ | 快速地。並隨著每個版本的速度加快! |
| ✅ | 經過證明。自2017年以來的諾茲(Nozbe)(以及許多其他人) |
| 反應性。 (可選)RXJS API | |
| ? | 關係。建在岩石固定基礎上 |
| 使用流或打字條的靜態打字 |
WaterMelondB是一種處理React Native和React Web應用程序中用戶數據的新方法。
它針對在React Native中構建複雜應用程序進行了優化,而第一目標是現實世界的性能。簡而言之,您的應用必須快速啟動。
對於簡單的應用程序,使用Redux或MOBX具有持久性適配器是最簡單的方法。但是,當您開始擴展到成千上萬或數万個數據庫記錄時,您的應用程序現在啟動速度會很慢(尤其是在較慢的Android設備上)。將完整數據庫加載到JavaScript中很昂貴!
西瓜通過懶惰來修復它。在要求之前,什麼都沒加載。而且,由於所有查詢均直接在單獨的本機線程上的岩石固體SQLITE數據庫上執行,因此大多數查詢在即時解決。
但是,與直接使用Sqlite不同,西瓜是完全可觀察到的。因此,每當您更改記錄時,所有取決於它的UI都會自動重新渲染。例如,完成待辦事項應用程序中的任務將重新渲染任務組件,列表(重新排序)和所有相關的任務計數器。了解更多。
|
| | ---- | --- | |
下一代React數據庫
(關於Waltermelondb的談話)
快速(過度簡化)示例:帶有帖子和評論的應用程序。
首先,您定義模型:
class Post extends Model {
@ field ( 'name' ) name
@ field ( 'body' ) body
@ children ( 'comments' ) comments
}
class Comment extends Model {
@ field ( 'body' ) body
@ field ( 'author' ) author
}然後,您將組件連接到數據:
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 )現在您可以渲染整個帖子:
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
} ) )結果是完全反應的!每當添加,更改或刪除帖子或評論時,正確的組件都會自動在屏幕上重新渲染。是否在應用程序的完全不同的部分中發生了更改,這一切都只是開箱即用的!














您的公司或應用程序使用嗎?打開拉動請求,並在此處添加您的徽標/圖標!

Watermelondb是一個開源項目,需要您的幫助才能蓬勃發展!
如果您想要的缺少功能,錯誤或其他改進,我們鼓勵您做出貢獻!請隨時打開問題以獲取一些指導,並查看有關項目設置,測試等的詳細信息的貢獻指南。
如果您剛剛開始,請查看易於貢獻的好第一期。如果您做出非平凡的貢獻,請給我發電子郵件,我會給您發送一個好人嗎?貼紙!
如果您正在製作或正在考慮使用WaltermelondB製作應用程序,請告訴我們!
Watermelondb由@nozbe創建。
Watermelondb的主要作者和維護者是Radek Pietruszewski(網站襲為?(Twitter))
查看所有貢獻者。
WalterMelondB可根據MIT許可獲得。有關更多信息,請參見許可證文件。