Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

PocketBase je open-source backend pozostávajúci zo vstavanej databázy SQLite s overením údajov, predplatným v reálnom čase a ľahko použiteľným REST API. Ponúka tiež autentifikáciu a ukladanie súborov pre mediálne súbory.

PocketBase je ideálny pre projekty, pre ktoré by ste radšej nevybudovali backend z dôvodu časových obmedzení alebo pohodlia, pretože je úplne prenosný a vyžaduje minimálne nastavenie. Tiež sa integruje s populárnymi technológiami ako Vue, Svelte, React, Angular a Flutter.

Služby poskytované spoločnosťou PocketBase

PocketBase poskytuje väčšinu služieb ponúkaných inými backendovými poskytovateľmi, ako je SupaBase.

  • SQLite databázy: PocketBase obsahuje vstavanú databázu SQLite. To sa líši od iných poskytovateľov backendu, ktorí používajú väčšie databázy ako PostgreSQL alebo MySQL. Použitie SQLite robí PocketBase ľahším. Môžete sa tiež prihlásiť na odber udalostí databázy v reálnom čase prostredníctvom rozhrania API.
  • instagram viewer
  • Overenie: PocketBase podporuje autentifikáciu e-mailom/heslom a Overenie OAuth2 cez Facebook, Google, GitLab a GitHub.
  • Ukladanie súborov: Pomocou PocketBase môžete nahrať fotografie, audio a video súbory do lokálneho úložiska alebo do S3 bucketu.
  • Panel správcu: Panel správcu vám umožňuje vytvárať a spravovať kolekcie v databáze. Môžete tiež nahrať súbory, zobraziť súbory denníka a nakonfigurovať nastavenie pre odosielanie e-mailov,

Podľa dokumentov môže PocketBase ľahko obsluhovať viac ako 10 000 súbežných a trvalých služieb v reálnom čase pripojenia na 6 virtuálnych privátnych serveroch, čo z neho robí cenovo dostupnú backendovú voľbu pre malé a stredné podniky aplikácie.

Všimnite si, že PocketBase sa mení iba vertikálne. To znamená, že na zvýšenie výpočtového výkonu musíte pridať viac CPU a RAM. Ak máte veľkú aplikáciu, zvážte a backend poskytovateľa ako Firebase ktorý umožňuje horizontálne škálovanie.

Začíname s PocketBase

V súčasnosti PocketBase poskytuje dve súpravy SDK:

  • Súprava JavaScript SDK, ktorú môžete použiť s rámcami JavaScriptu, ako sú Svelte, React, Vue a Angular.
  • Dart SDK pre Flutter aplikácie.

Najjednoduchší spôsob, ako začať, je stiahnite si PocketBase. Existuje niekoľko odkazov, takže si stiahnite ten, ktorý je kompatibilný s vaším prostredím.

Po stiahnutí rozbaľte a prejdite do priečinka pocketbase. Potom spustite tento príkaz v termináli:

./pocketbase slúžiť

Tento príkaz by mal spustiť webový server na týchto cestách.

  • Server: http://127.0.0.1:8090/
  • REST API: http://127.0.0.1:8090/api/
  • Používateľské rozhranie správcu: http://127.0.0.1:8090/_/

Prejdite na http://127.0.0.1:8090/_/ URL na vytvorenie prvej kolekcie pomocou administračného panela.

Vytvorenie zbierky v PocketBase

Pri prvom otvorení používateľského rozhrania správcu sa zobrazí výzva na zadanie e-mailovej adresy a hesla na vytvorenie účtu správcu.

Takto vyzerá používateľské rozhranie správcu:

Kliknutím na Nová kolekcia tlačidlo v používateľskom rozhraní správcu otvorí panel kolekcie, ktorý môžete vyplniť podrobnosťami a vytvoriť novú kolekciu.

Takto vytvoríte kolekciu s názvom todos pozostávajúcu z názvu a vyplnených polí:

Kolekcia môže byť základná alebo overená zbierka. Základná kolekcia je predvolený typ kolekcie a môžete ju použiť pre akýkoľvek typ údajov. Kolekcia overenia obsahuje ďalšie polia na správu používateľov, ako sú používateľské meno, e-mail a overenie.

Na vytvorenie kolekcie nemusíte používať používateľské rozhranie správcu; môžete vytvoriť pomocou webového rozhrania API. Dokumenty PocketBase poskytnúť príklady špecifické pre súpravu SDK, ako vytvárať a spravovať kolekcie prostredníctvom rozhrania API. Môžete vytvárať, zobrazovať, aktualizovať, mazať alebo importovať kolekcie.

Používanie PocketBase v aplikácii React

JavaScript SDK vám umožňuje interakciu s PocketBase z projektu React.

Ak chcete pokračovať, začnite tým vytvorenie projektu React.

Potom nainštalujte PocketBase JavaScript SDK vo svojom projekte React cez npm:

npm install pocketbase --save

Ďalej v app.js importujte PocketBase a inicializujte ho.

importovať PocketBase od'pocketbase';
konšt pb = Nový PocketBase(' http://127.0.0.1:8090');

Na ilustráciu toho, ako PocketBase integruje React, vytvoríte pomocné funkcie pre aplikáciu úloh. Tieto funkcie budú vytvárať, aktualizovať, získavať a mazať položky.

Vytvorte položku úlohy

V app.js vytvorte funkciu s názvom addTodo.

konšt addTodo = async (todo) => {
skúste {
konšt záznam = čakaťčakať pb.collection("todos").vytvoriť (todo);
vrátiť záznam;
 } chytiť (chyba) {
vrátiť { chyba: chybná správa };
 }
};

Táto funkcia pridá nový záznam do zbierky úloh.

Aktualizujte položku úlohy

Ak chcete aktualizovať záznam v kolekcii úloh, vytvorte funkciu s názvom updateTodo a použite metódu aktualizácie.

konšt updateTodo = async (id_záznamu, úlohy) => {
skúste {
konšt záznam = čakať pb.collection("todos").aktualizácia (id_záznamu, úlohy);
vrátiť záznam;
 } chytiť (chyba) {
vrátiť { chyba: chybná správa };
 }
};

Funkcia updateTodo nájde položku úlohy na základe ID záznamu a aktualizuje ju novými údajmi.

Odstrániť položku úlohy

V app.js vytvorte funkciu s názvom deleteTodo, ktorá odstráni záznam v kolekcii úloh.

konšt deleteTodo = async (id_záznamu) => {
skúste {
čakať pb.collection("todos").vymazať (id_záznamu);
 } chytiť (chyba) {
vrátiť { chyba: chybná správa };
 }
};

Získajte položku úlohy

Môžete získať jednu položku úlohy alebo všetky položky z kolekcie.

Táto funkcia načíta jednu položku úlohy podľa ID:

konšt getTodo = async (id_záznamu) => {
skúste {
konšt záznam = čakať pb.collection("todos".getOne (id_záznamu, {
rozšíriť: "relField1,relField2.subRelField",
});
vrátiť záznam
 } chytiť (chyba) {
vrátiť { chyba: chybná správa };
 }
};

Zatiaľ čo funkcia nižšie načíta všetky záznamy v kolekcii úloh:

konšt getTodos = async (id_záznamu) => {
skúste {
konšt záznamy = čakať pb
.kolekcia("todos")
.getFullList(200 /* veľkosť dávky */, {
zoradiť: "-vytvorené",
});
vrátiť záznamy;
} chytiť (chyba) {
vrátiť { chyba: chybná správa };
}
}

Tieto funkcie môžete použiť na vytvorenie a aktualizáciu používateľského rozhrania aplikácie.

Podrobnejšie príklady nájdete na PocketBase zaznamenáva API dokumentáciu alebo vygenerovanú dokumentáciu rozhrania API v časti „Používateľské rozhranie správcu > Kolekcie > Náhľad rozhrania API“. Mali by ste mať prístup k zoznamu, prezeraniu, vytváraniu, aktualizácii, odstraňovaniu a dokumentácii k vašej zbierke v reálnom čase.

Prečo by ste mali používať PocketBase

PocketBase je najlepší backend pre malé a stredné projekty. Vyžaduje minimálne nastavenie a ľahko sa používa. Ponúka dve klientske súpravy SDK – JavaScript SDK a Dart SDK – a môžete ju použiť vo webových a mobilných aplikáciách.

PocketBase je tiež samohostiteľná a môžete ju hostiť na lokálnom serveri alebo VPS. Aj keď nepodporuje cloudové funkcie, môžete ho použiť ako rámec Go a vytvoriť si vlastnú aplikáciu s vlastnou obchodnou logikou.