Triplit es una base de datos de código abierto que sincroniza los datos entre el servidor y el navegador en tiempo real.
Triplit proporciona un almacén de datos de sincronización en tiempo real que puede llevar a su aplicación como un paquete TypeScript. Triplit manejas almacenando sus datos en el servidor y sincroniza de manera inteligente sus consultas con sus clientes. Llamamos a este tipo de sistema una "base de datos de pila completa" : puede ver nuestra presentación a la primera comunidad local en este nuevo paradigma aquí.
Triplit reúne:
Sincronización en tiempo real con actualizaciones incrementales y resolución de conflictos a nivel de propiedad
? Garante de almacenamiento local alimentado por una base de datos completa del lado del cliente
? Almacenamiento duradero del lado del servidor con un tablero de administración
? Proveedores de almacenamiento conectables como SQLite, IndexedDB, LevelDB, Memoria, etc.
? Actualizaciones optimistas para que cada interacción se sienta rápido
? Consulta relacional para modelos de datos complejos
? Modo fuera de línea con garantías automáticas de reconexión y consistencia
? Gestión de reversiones y reintentos en actualizaciones fallidas
Esquemas para la seguridad de los datos y el autocompleto de tipografía
? Autorización que se aplica en el servidor tanto para leer como para escribir
? Colaboración/multijugador alimentado por CRDTS
? ️ Baja latencia con tráfico de red mínimo utilizando parches delta
API simple para consultar y mutar datos tanto en Vanilla JavaScript como en React.
✅ ¡ Totalmente de código abierto!
En triplit/packages puede encontrar los diversos proyectos que alimentan triplican:
Comience un nuevo proyecto.
npm create triplit-app@latest my-appO agregue las dependencias a un proyecto existente.
npm install --save-dev @triplit/cli
npm run triplit init Defina un esquema en my-app/triplit/schema.ts .
import { Schema as S , ClientSchema } from '@triplit/client' ;
export const schema = {
todos : {
schema : S . Schema ( {
id : S . Id ( ) ,
text : S . String ( ) ,
completed : S . Boolean ( { default : false } ) ,
} ) ,
} ,
} satisfies ClientSchema ;Inicie el servidor de sincronización de desarrollo triplicado.
npm run triplit dev Esto generará algunas variables ambientales importantes que su aplicación necesitará sincronizar con el servidor. Agrégalos a su archivo .env (ejemplo de vite a continuación).
VITE_TRIPLIT_SERVER_URL=http://localhost:6543
VITE_TRIPLIT_TOKEN=copied-in-from-triplit-devDefina una consulta en su aplicación (reaccionar el ejemplo a continuación).
import { TriplitClient } from '@triplit/client' ;
import { useQuery } from '@triplit/react' ;
import { schema } from '../triplit/schema' ;
const client = new TriplitClient ( {
schema ,
serverUrl : import . meta . env . VITE_TRIPLIT_SERVER_URL ,
token : import . meta . env . VITE_TRIPLIT_TOKEN ,
} ) ;
function App ( ) {
const { results : todos } = useQuery ( client . query ( 'todos' ) ) ;
return (
< div >
{ Array . from ( todos . values ( ) ) . map ( ( todo ) => (
< div key = { todo . id } >
< input
type = "checkbox"
checked = { todo . completed }
onChange = { ( ) =>
client . update ( 'todos' , todo . id , ( todo ) => ( {
todo . completed = ! todo . completed ,
} )
}
/ >
{ todo . text }
</ div >
) ) }
</ div >
);
}Inicie su aplicación, abra otra pestaña del navegador y vea la sincronización de datos en tiempo real.
Lea la guía completa de inicio aquí. Para obtener un tutorial aún más detallado y explicativo, consulte esta guía paso a paso para construir una aplicación TODO en tiempo real con triplicado, vite y reaccionar.
Si está interesado en obtener acceso temprano a Triplit Cloud (actualmente en la vista previa del desarrollador), regístrese aquí para unirse a la lista de espera.
¡La mejor manera de ponerse en contacto es unirse a nuestra discordia! Estamos aquí para responder preguntas, ayudar a los desarrolladores a comenzar con triplicado y obtener una vista previa de nuevas funciones.
Puede seguirnos en Twitter/X para ver nuestros últimos anuncios.