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上關注我們以查看我們的最新公告。