
Cree poderosas aplicaciones reaccionadas y reaccionadas que se escalen de cientos a decenas de miles de registros y permanezcan rápido ⚡️
| Sandilla | |
|---|---|
| ⚡️ | Inicie su aplicación al instante sin importar cuántos datos tenga |
| ? | Muy escalable de cientos a decenas de miles de registros |
| ? | Perezoso cargado . Solo cargue datos cuando lo necesite |
| Fuera de línea primero. Sincronizar con tu propio backend | |
| Multiplataforma . iOS, Android, Windows, Web y Node.js | |
| ⚛️ | Optimizado para React. Conectar datos fácilmente a los componentes |
| ? | Marco-agnóstico. Use la API JS para conectarse a otros marcos de interfaz de usuario |
| ⏱ | Rápido. ¡Y cada vez más rápido con cada lanzamiento! |
| ✅ | Probado. Poderes nozbe desde 2017 (y muchos otros) |
| Reactivo. (Opcional) API RXJS | |
| ? | Relacional. Construido sobre la base sqlite sólida de roca |
| Tipeo estático con flujo o mecanografiado |
WatermeLondb es una nueva forma de tratar los datos del usuario en React Native y React Web Apps.
Está optimizado para construir aplicaciones complejas en React Native, y el objetivo número uno es el rendimiento del mundo real . En palabras simples, su aplicación debe iniciarse rápidamente .
Para aplicaciones simples, usar Redux o MOBX con un adaptador de persistencia es el camino más fácil. Pero cuando comienza a escalar a miles o decenas de miles de registros de bases de datos, su aplicación ahora será lenta para lanzar (especialmente en dispositivos Android más lentos). ¡Cargar una base de datos completa en JavaScript es costoso!
La sandía lo arregla al ser perezoso . Nada se carga hasta que se solicita. Y dado que toda la consulta se realiza directamente en la base de datos SQLite sólida de roca en un hilo nativo separado, la mayoría de las consultas se resuelven en un instante.
Pero a diferencia del uso de SQLite directamente, la sandía es completamente observable . Entonces, cada vez que cambie un registro, toda la interfaz de usuario que depende de él volverá a renderizar automáticamente. Por ejemplo, completar una tarea en una aplicación de tareas pendientes volverá a renderizar el componente de la tarea, la lista (para reordenar) y todos los contadores de tareas relevantes. Aprende más .
|
| | ---- | --- | |
Bases de datos React React de próxima generación
(una charla sobre satermelondb)
Ejemplo rápido (sobre simplificado): una aplicación con publicaciones y comentarios.
Primero, defines modelos:
class Post extends Model {
@ field ( 'name' ) name
@ field ( 'body' ) body
@ children ( 'comments' ) comments
}
class Comment extends Model {
@ field ( 'body' ) body
@ field ( 'author' ) author
}Luego, conecta componentes a los datos:
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 )Y ahora puedes renderizar todo el puesto:
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
} ) )¡El resultado es completamente reactivo! Siempre que se agrega, cambie o elimine una publicación o comentario, los componentes correctos volverán a renderizar automáticamente en la pantalla. No importa si se produce un cambio en una parte totalmente diferente de la aplicación, ¡todo funciona fuera de la caja!














¿Su empresa o aplicación usa? ¡Abra una solicitud de extracción y agregue su logotipo/icono con el enlace aquí!

¡Watermelondb es un proyecto de código abierto y necesita su ayuda para prosperar!
Si hay una característica faltante, un error u otra mejora que desee, ¡lo alentamos a que contribuya! No dude en abrir un problema para obtener orientación y ver la guía de contribución para obtener detalles sobre la configuración del proyecto, las pruebas, etc.
Si recién está comenzando, vea buenos primeros problemas que son fáciles de contribuir. Si hace una contribución no trivial, envíeme un correo electrónico y le enviaré un buen ¡etiqueta engomada!
Si hace o está considerando hacer una aplicación usando Watermelondb, ¡háganoslo saber!
Watermelondb fue creado por @nozbe.
El principal autor y mantenedor de Watermelondb es Radek Pietruszewski (sitio web ⋅? (Twitter))
Ver todos los contribuyentes.
Watermelondb está disponible bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.