TripLit是一个开源数据库,可实时同步服务器和浏览器之间的数据。
TripLit提供了一个实时同步数据存储,您可以将其作为打字条包放入应用程序中。 TripLit处理将您的数据存储在服务器上,并将查询智能同步到客户端。我们将这种类型的系统称为“完整堆栈数据库” - 您可以在此处查看我们向本新范式的本地第一个社区的演示文稿。
Triplit汇集了:
实时同步,并在属性级别进行增量更新和冲突解决
?由成熟的客户端数据库供电的本地缓存
?用管理仪表板耐用的服务器端存储
?可插入的存储提供商,例如SQLite,IndexedDB,LevelDB,内存等
?乐观的更新使每次互动都感觉很快
?复杂数据模型的关系查询
?具有自动重新连接和一致性保证的离线模式
?失败更新的回滚和重试管理
数据安全和打字稿自动完成的模式
?在服务器上执行的授权,以供阅读和写入
? CRDT支持的协作/多人游戏
?使用DELTA补丁的低潜伏期与最小网络流量
简单的API ,用于查询和突变的香草JavaScript和React中的数据
✅完全开源!
在triplit/packages中,您可以找到电动列表的各种项目:
开始一个新项目。
npm create triplit-app@latest my-app或将依赖项添加到现有项目中。
npm install --save-dev @triplit/cli
npm run triplit init在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 ;启动三圈开发同步服务器。
npm run triplit dev这将输出一些重要的环境变量,您的应用将需要与服务器同步。将它们添加到您的.env文件中(下面的Vite示例)。
VITE_TRIPLIT_SERVER_URL=http://localhost:6543
VITE_TRIPLIT_TOKEN=copied-in-from-triplit-dev在应用程序中定义查询(下面的React示例)。
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 >
);
}启动您的应用程序,打开另一个浏览器选项卡,然后实时观看数据同步。
在此处阅读完整的入门指南。有关更详细和解释的教程,请查看本分步指南,以使用Triplit,vite和React构建实时TODO应用程序。
如果您有兴趣及早访问TripLit Cloud(目前正在开发人员预览中),请在此处注册以加入候补名单。
取得联系的最好方法是加入我们的不和谐!我们在这里回答问题,帮助开发人员开始使用TripLit并预览新功能。
您可以在Twitter/X上关注我们以查看我们的最新公告。