Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A PocketBase egy nyílt forráskódú háttérrendszer, amely egy beágyazott SQLite adatbázisból, adatellenőrzéssel, valós idejű előfizetésekből és egy könnyen használható REST API-ból áll. Hitelesítést és fájltárolást is kínál a médiafájlokhoz.

A PocketBase tökéletes olyan projektekhez, amelyekhez nem szeretne háttérrendszert építeni sem az idő szűke, sem a kényelem miatt, mert teljesen hordozható, és minimális beállítást igényel. Olyan népszerű technológiákkal is integrálható, mint a Vue, Svelte, React, Angular és Flutter.

A PocketBase által nyújtott szolgáltatások

A PocketBase biztosítja a legtöbb olyan szolgáltatást, amelyet más háttérszolgáltatók, például a SupaBase kínálnak.

  • SQLite adatbázis: A PocketBase beágyazott SQLite adatbázist tartalmaz. Ez eltér a többi háttérszolgáltatótól, amelyek nagyobb adatbázisokat használnak, mint például a PostgreSQL vagy a MySQL. Az SQLite használata könnyebbé teszi a PocketBase-t. Valós idejű adatbáziseseményekre is előfizethet egy API-n keresztül.
    instagram viewer
  • Hitelesítés: A PocketBase támogatja az e-mail/jelszó hitelesítést, és OAuth2 hitelesítés Facebookon, Google-on, GitLabon és GitHubon keresztül.
  • Fájltárolás: A PocketBase segítségével fényképeket, hang- és videofájlokat tölthet fel a helyi tárhelyre vagy egy S3 tárolóba.
  • Rendszergazdai irányítópult: Az adminisztrátori irányítópult segítségével gyűjteményeket hozhat létre és kezelhet az adatbázisban. Feltölthet fájlokat, megtekintheti a naplófájlokat, és konfigurálhatja az e-mailek küldésének beállításait,

A dokumentumok szerint a PocketBase könnyen kiszolgálhat 10 000+ egyidejű és állandó, valós időben kapcsolatok 6 virtuális magánszerveren, így megfizethető háttérválasztás a kis és közepes felhasználók számára alkalmazások.

Vegye figyelembe, hogy a PocketBase csak függőlegesen skálázódik. Ez azt jelenti, hogy több CPU-t és RAM-ot kell hozzáadnia a feldolgozási teljesítmény növeléséhez. Ha nagy pályázata van, fontolja meg a háttérszolgáltató, mint a Firebase amely lehetővé teszi a vízszintes méretezést.

A PocketBase használatának első lépései

Jelenleg a PocketBase két SDK-t biztosít:

  • JavaScript SDK, amelyet olyan JavaScript-keretrendszerekkel használhat, mint a Svelte, React, Vue és Angular.
  • Dart SDK ehhez Flutter alkalmazások.

A legegyszerűbb módja annak, hogy elinduljon töltse le a PocketBase-t. Számos hivatkozás található, ezért mindenképpen azt töltse le, amelyik kompatibilis a környezetével.

Miután letöltötte, bontsa ki, és navigáljon a pocketbase mappába. Ezután futtassa ezt a parancsot egy terminálon:

./pocketbase szolgál

Ez a parancs elindít egy webszervert ezeken az útvonalakon.

  • Szerver: http://127.0.0.1:8090/
  • REST API: http://127.0.0.1:8090/api/
  • Adminisztrációs felület: http://127.0.0.1:8090/_/

Navigáljon a http://127.0.0.1:8090/_/ URL az első gyűjtemény létrehozásához az adminisztrációs irányítópulton.

Gyűjtemény létrehozása a PocketBase-ben

Amikor először nyitja meg az adminisztrátori felhasználói felületet, az e-mail címet és jelszót kér a rendszergazdai fiók létrehozásához.

Így néz ki az adminisztrációs felület:

Kattintson a Új kollekció gomb az adminisztrációs felületen megnyit egy gyűjteménypanelt, amelyet kitölthet a részletekkel új gyűjtemény létrehozásához.

Így hozhat létre egy címből és kitöltött mezőkből álló todos nevű gyűjteményt:

A gyűjtemény lehet alap- vagy hitelesítő gyűjtemény. Az alapgyűjtemény az alapértelmezett gyűjteménytípus, amelyet bármilyen típusú adathoz használhat. A hitelesítési gyűjtemény extra mezőket tartalmaz a felhasználók kezeléséhez, mint például a felhasználónév, az e-mail cím és az ellenőrzött.

Gyűjtemény létrehozásához nem szükséges az adminisztrátori felületet használnia; létrehozhat egyet a Web API segítségével. PocketBase dokumentumok SDK-specifikus példákat adjon a gyűjtemények API-n keresztüli létrehozására és kezelésére. Gyűjteményeket hozhat létre, tekinthet meg, frissíthet, törölhet vagy importálhat.

A PocketBase használata React alkalmazásban

A JavaScript SDK lehetővé teszi a PocketBase-sel való interakciót egy React projektből.

A követéshez kezdje el React projekt létrehozása.

Ezután telepítse a PocketBase JavaScript SDK-t React projektjébe npm-en keresztül:

npm install pocketbase --save

Ezután az app.js-ben importálja a PocketBase-t, és inicializálja.

import PocketBase tól től'zsebbázis';
const pb = új PocketBase(' http://127.0.0.1:8090');

Annak szemléltetésére, hogy a PocketBase hogyan integrálja a Reactot, létrehozza a segédfunkciókat egy teendő alkalmazáshoz. Ezek a funkciók elemeket hoznak létre, frissítenek, visszakeresnek és törölnek.

Hozzon létre egy teendőt

Az app.js fájlban hozzon létre egy addTodo nevű függvényt.

const addTodo = async (teendő) => {
próbáld ki {
const rekord = várjavárja pb.collection("todos").create (todo);
Visszatérés rekord;
 } fogás (hiba) {
Visszatérés { hiba: hiba üzenet };
 }
};

Ez a funkció egy új rekordot ad a todos gyűjteményhez.

Feladatelem frissítése

A teendőgyűjteményben lévő rekord frissítéséhez hozzon létre egy updateTodo nevű függvényt, és használja a frissítési módszert.

const updateTodo = async (rekord_azonosító, teendő) => {
próbáld ki {
const rekord = várja pb.collection("todos").update (record_id, todo);
Visszatérés rekord;
 } fogás (hiba) {
Visszatérés { hiba: hiba üzenet };
 }
};

Az updateTodo funkció a rekordazonosító alapján megkeresi a teendőt, és frissíti az új adatokkal.

Teendőelem törlése

Az app.js fájlban hozzon létre egy deleteTodo nevű függvényt, amely töröl egy rekordot a teendőgyűjteményből.

const deleteTodo = async (rekord_azonosító) => {
próbáld ki {
várja pb.collection("todos").delete (record_id);
 } fogás (hiba) {
Visszatérés { hiba: hiba üzenet };
 }
};

Szerezzen le egy Todo elemet

Lekérhet egyetlen teendőt vagy a gyűjtemény összes elemét.

Ez a függvény egyetlen teendőt kér le az azonosító alapján:

const getTodo = async (rekord_azonosító) => {
próbáld ki {
const rekord = várja pb.collection("todos").getOne (record_id, {
kiterjed: "relField1,relField2.subRelField",
});
Visszatérés rekord
 } fogás (hiba) {
Visszatérés { hiba: hiba üzenet };
 }
};

Míg az alábbi funkció a teendőgyűjtemény összes rekordját lekéri:

const getTodos = async (rekord_azonosító) => {
próbáld ki {
const rekordok = várja pb
.Gyűjtemény("todos")
.getFullList(200 /* csomó méret */, {
fajta: "-létrehozva",
});
Visszatérés feljegyzések;
} fogás (hiba) {
Visszatérés { hiba: hiba üzenet };
}
}

Ezekkel a funkciókkal létrehozhatja és frissítheti az alkalmazás felhasználói felületét.

Részletesebb példákért lásd a PocketBase rekordok API dokumentációt vagy a generált API-dokumentációt az „Admin UI > Collections > API Preview” részben. El kell érnie a listát, megtekintheti, létrehozhatja, frissítheti, törölheti és a gyűjtemény valós idejű dokumentációját.

Miért érdemes a PocketBase-t használni?

A PocketBase a legjobb háttérrendszer kis és közepes projektekhez. Minimális beállítást igényel, és könnyen használható. Két kliens SDK-t kínál – egy JavaScript SDK-t és egy Dart SDK-t –, és használhatja webes és mobilalkalmazásokban.

A PocketBase önkiszolgáló is, és helyi szerveren vagy VPS-en is tárolhatja. Bár nem támogatja a felhőfunkciókat, használhatja Go keretrendszerként, és létrehozhatja saját alkalmazását egyéni üzleti logikával.