Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

PocketBase je open-source backend sestávající z vestavěné databáze SQLite s ověřováním dat, předplatnými v reálném čase a snadno použitelným REST API. Nabízí také ověřování a ukládání souborů pro mediální soubory.

PocketBase je ideální pro projekty, pro které byste raději nevytvářeli backend z důvodu časových omezení nebo pohodlí, protože je zcela přenosný a vyžaduje minimální nastavení. Integruje se také s populárními technologiemi jako Vue, Svelte, React, Angular a Flutter.

Služby poskytované společností PocketBase

PocketBase poskytuje většinu služeb nabízených jinými backendovými poskytovateli, jako je SupaBase.

  • SQLite databáze: PocketBase obsahuje vestavěnou databázi SQLite. Tím se liší od ostatních poskytovatelů backendu, kteří používají větší databáze jako PostgreSQL nebo MySQL. Díky použití SQLite je PocketBase lehčí. Můžete se také přihlásit k odběru databázových událostí v reálném čase prostřednictvím rozhraní API.
  • instagram viewer
  • Autentizace: PocketBase podporuje ověřování e-mailem/heslem a Ověření OAuth2 přes Facebook, Google, GitLab a GitHub.
  • Ukládání souborů: Fotografie, audio a video soubory můžete nahrávat do místního úložiště nebo do S3 bucketu pomocí PocketBase.
  • Admin panel: Panel správce umožňuje vytvářet a spravovat kolekce v databázi. Můžete také nahrávat soubory, zobrazovat soubory protokolu a konfigurovat nastavení pro odesílání e-mailů,

Podle dokumentů může PocketBase snadno obsluhovat 10 000+ souběžných a trvalých v reálném čase připojení na 6 virtuálních privátních serverech, což z něj činí dostupnou volbu backendu pro malé a střední podniky aplikací.

Všimněte si, že PocketBase měří pouze svisle. To znamená, že musíte přidat více CPU a RAM, abyste zvýšili výpočetní výkon. Pokud máte velkou aplikaci, zvažte a poskytovatel backendu, jako je Firebase který umožňuje horizontální měřítko.

Začínáme s PocketBase

V současné době PocketBase poskytuje dvě sady SDK:

  • Sada JavaScript SDK, kterou můžete použít s frameworky JavaScript, jako jsou Svelte, React, Vue a Angular.
  • Dart SDK pro Aplikace Flutter.

Nejjednodušší způsob, jak začít, je stáhněte si PocketBase. Existuje několik odkazů, takže si stáhněte ten, který je kompatibilní s vaším prostředím.

Jakmile si ji stáhnete, rozbalte a přejděte do složky pocketbase. Poté spusťte tento příkaz v terminálu:

./pocketbase sloužit

Tento příkaz by měl spustit webový server na těchto trasách.

  • Server: http://127.0.0.1:8090/
  • REST API: http://127.0.0.1:8090/api/
  • Uživatelské rozhraní správce: http://127.0.0.1:8090/_/

Přejděte na http://127.0.0.1:8090/_/ URL k vytvoření první sbírky pomocí řídicího panelu správce.

Vytvoření kolekce v PocketBase

Při prvním otevření uživatelského rozhraní správce se zobrazí výzva k zadání e-mailové adresy a hesla pro vytvoření účtu správce.

Takto vypadá uživatelské rozhraní správce:

Kliknutím na Nová kolekce tlačítko v uživatelském rozhraní správce otevře panel sbírky, do kterého můžete vyplnit podrobnosti a vytvořit novou sbírku.

Takto vytvoříte sbírku nazvanou todos skládající se z názvu a vyplněných polí:

Sbírka může být buď základní, nebo auth sbírka. Základní kolekce je výchozí typ kolekce a můžete ji použít pro jakýkoli typ dat. Kolekce ověřování obsahuje další pole pro správu uživatelů, jako je uživatelské jméno, e-mail a ověřeno.

K vytvoření kolekce nemusíte používat uživatelské rozhraní pro správu; můžete jej vytvořit pomocí webového rozhraní API. Dokumenty PocketBase poskytnout příklady specifické pro sadu SDK, jak vytvářet a spravovat kolekce prostřednictvím rozhraní API. Kolekce můžete vytvářet, zobrazovat, aktualizovat, odstraňovat nebo importovat.

Použití PocketBase v aplikaci React

JavaScript SDK umožňuje interakci s PocketBase z projektu React.

Chcete-li pokračovat, začněte tím vytvoření projektu React.

Poté nainstalujte PocketBase JavaScript SDK do svého projektu React prostřednictvím npm:

npm install pocketbase --save

Dále do app.js importujte PocketBase a inicializujte ji.

import PocketBase z'pocketbase';
konst pb = Nový PocketBase(' http://127.0.0.1:8090');

Abyste ilustrovali, jak PocketBase integruje React, vytvoříte pomocné funkce pro úkolovou aplikaci. Tyto funkce budou vytvářet, aktualizovat, načítat a odstraňovat položky.

Vytvořte položku úkolu

V app.js vytvořte funkci s názvem addTodo.

konst addTodo = asynchronní (todo) => {
Snaž se {
konst záznam = čekatčekat pb.collection("todos").vytvořit (todo);
vrátit se záznam;
 } chytit (chyba) {
vrátit se { chyba: chybové hlášení };
 }
};

Tato funkce přidá nový záznam do kolekce úkolů.

Aktualizujte položku úkolu

Chcete-li aktualizovat záznam v kolekci úkolů, vytvořte funkci nazvanou updateTodo a použijte metodu aktualizace.

konst updateTodo = asynchronní (id_záznamu, úkol) => {
Snaž se {
konst záznam = čekat pb.collection("todos").update (id_záznamu, úkol);
vrátit se záznam;
 } chytit (chyba) {
vrátit se { chyba: chybové hlášení };
 }
};

Funkce updateTodo najde úkol na základě ID záznamu a aktualizuje ho novými daty.

Smazat položku úkolu

V app.js vytvořte funkci s názvem deleteTodo, která odstraní záznam v kolekci úkolů.

konst deleteTodo = asynchronní (id_záznamu) => {
Snaž se {
čekat pb.collection("todos").delete (id_záznamu);
 } chytit (chyba) {
vrátit se { chyba: chybové hlášení };
 }
};

Získejte položku úkolu

Můžete načíst jeden úkol nebo všechny položky z kolekce.

Tato funkce načte jednu položku úkolu podle ID:

konst getTodo = asynchronní (id_záznamu) => {
Snaž se {
konst záznam = čekat pb.collection("todos").getOne (id_záznamu, {
rozšířit: "relField1,relField2.subRelField",
});
vrátit se záznam
 } chytit (chyba) {
vrátit se { chyba: chybové hlášení };
 }
};

Zatímco funkce níže načte všechny záznamy v kolekci úkolů:

konst getTodos = asynchronní (id_záznamu) => {
Snaž se {
konst záznamy = čekat pb
.sbírka("todos")
.getFullList(200 /* objem várky */, {
seřadit: "-vytvořený",
});
vrátit se evidence;
} chytit (chyba) {
vrátit se { chyba: chybové hlášení };
}
}

Tyto funkce můžete použít k vytvoření a aktualizaci uživatelského rozhraní aplikace.

Pro podrobnější příklady viz API pro záznamy PocketBase dokumentaci nebo vygenerovanou dokumentaci API v "Uživatelské rozhraní správce > Kolekce > Náhled API". Měli byste mít přístup k seznamu, prohlížet, vytvářet, aktualizovat, mazat a dokumentovat v reálném čase ke své sbírce.

Proč byste měli používat PocketBase

PocketBase je nejlepší backend pro malé až střední projekty. Vyžaduje minimální nastavení a snadno se používá. Nabízí dvě klientské sady SDK – JavaScript SDK a Dart SDK – a můžete ji použít ve webových a mobilních aplikacích.

PocketBase je také samohostitelná a můžete ji hostovat na místním serveru nebo VPS. I když nepodporuje cloudové funkce, můžete jej použít jako rámec Go a vytvořit si vlastní aplikaci s vlastní obchodní logikou.