
Bangun Aplikasi Bereaksi Bereaksi yang Kuat dan Bereaksi Yang Mengukur Dari Ratusan hingga Puluhan Ribu Catatan dan Tetap Cepat ⚡️
| Semangka | |
|---|---|
| ⚡️ | Luncurkan aplikasi Anda secara instan tidak peduli berapa banyak data yang Anda miliki |
| ? | Sangat terukur dari ratusan hingga puluhan ribu catatan |
| ? | Malas dimuat . Hanya memuat data saat Anda membutuhkannya |
| Offline-First. Sinkronkan dengan backend Anda sendiri | |
| Multiplatform . iOS, android, windows, web, dan node.js | |
| ⚛️ | Dioptimalkan untuk bereaksi. Dengan mudah mencolokkan data ke dalam komponen |
| ? | Kerangka kerja-agnostik. Gunakan JS API untuk mencolokkan kerangka UI lainnya |
| ⏱ | Cepat. Dan semakin cepat dengan setiap rilis! |
| ✅ | Terbukti. Powers Nozbe sejak 2017 (dan banyak lainnya) |
| Reaktif. (Opsional) RXJS API | |
| ? | Relasional. Dibangun di atas sqlite foundation batu-solid |
| Pengetikan statis dengan aliran atau naskah |
WatermelondB adalah cara baru untuk berurusan dengan data pengguna di aplikasi Web React Native dan React.
Ini dioptimalkan untuk membangun aplikasi yang kompleks di React Native, dan tujuan nomor satu adalah kinerja dunia nyata . Dengan kata -kata sederhana, aplikasi Anda harus diluncurkan dengan cepat .
Untuk aplikasi sederhana, menggunakan Redux atau Mobx dengan adaptor kegigihan adalah cara termudah untuk pergi. Tetapi ketika Anda mulai menskalakan ribuan atau puluhan ribu catatan database, aplikasi Anda sekarang akan lambat diluncurkan (terutama pada perangkat Android yang lebih lambat). Memuat database penuh ke JavaScript itu mahal!
Semangka memperbaikinya dengan malas . Tidak ada yang dimuat sampai diminta. Dan karena semua kueri dilakukan langsung pada database SQLITE rock-solid pada utas asli yang terpisah, sebagian besar kueri diselesaikan dalam sekejap.
Tetapi tidak seperti menggunakan SQLite secara langsung, semangka sepenuhnya dapat diamati . Jadi, setiap kali Anda mengubah catatan, semua UI yang tergantung pada itu akan secara otomatis membuat ulang. Misalnya, menyelesaikan tugas dalam aplikasi yang harus dilakukan akan membuat ulang komponen tugas, daftar (untuk memesan ulang), dan semua penghitung tugas yang relevan. Pelajari lebih lanjut .
|
| | ---- | --- | |
Database Bereaksi Generasi Berikutnya
(pembicaraan tentang semangka)
Contoh cepat (disederhanakan): aplikasi dengan posting dan komentar.
Pertama, Anda mendefinisikan model:
class Post extends Model {
@ field ( 'name' ) name
@ field ( 'body' ) body
@ children ( 'comments' ) comments
}
class Comment extends Model {
@ field ( 'body' ) body
@ field ( 'author' ) author
}Kemudian, Anda menghubungkan komponen ke data:
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 )Dan sekarang Anda dapat membuat seluruh posting:
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
} ) )Hasilnya sepenuhnya reaktif! Setiap kali posting atau komentar ditambahkan, diubah, atau dihapus, komponen yang tepat akan secara otomatis membuat ulang di layar. Tidak masalah jika perubahan terjadi di bagian aplikasi yang sama sekali berbeda, semuanya hanya berhasil di luar kotak!














Apakah perusahaan atau aplikasi Anda digunakan ?? Buka permintaan tarik dan tambahkan logo/ikon Anda dengan tautan di sini!

Semangka adalah proyek open-source dan membutuhkan bantuan Anda untuk berkembang!
Jika ada fitur yang hilang, bug, atau peningkatan lain yang Anda inginkan, kami mendorong Anda untuk berkontribusi! Jangan ragu untuk membuka masalah untuk mendapatkan panduan dan melihat Panduan Kontribusi untuk detail tentang pengaturan proyek, pengujian, dll.
Jika Anda baru memulai, lihat masalah pertama yang baik yang mudah dikontribusikan. Jika Anda memberikan kontribusi non-sepele, email saya, dan saya akan mengirimkan Anda dengan baik? stiker!
Jika Anda membuat atau mempertimbangkan untuk membuat aplikasi menggunakan semangka, beri tahu kami!
Semangka dibuat oleh @nozbe.
Penulis dan pemelihara utama Watermelondb adalah Radek Pietruszewski (Situs Web ⋅? (Twitter))
Lihat semua kontributor.
Semangka tersedia di bawah lisensi MIT. Lihat file lisensi untuk info lebih lanjut.