Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

PocketBase este un backend open-source care constă dintr-o bază de date SQLite încorporată cu validare a datelor, abonamente în timp real și un API REST ușor de utilizat. De asemenea, oferă autentificare și stocare de fișiere pentru fișierele media.

PocketBase este perfect pentru proiectele pentru care ai prefera să nu construiești un backend fie din cauza constrângerilor de timp, fie din cauza confortului, deoarece este complet portabil și necesită o configurare minimă. De asemenea, se integrează cu tehnologii populare precum Vue, Svelte, React, Angular și Flutter.

Servicii furnizate de PocketBase

PocketBase oferă majoritatea serviciilor oferite de alți furnizori de backend precum SupaBase.

  • Baza de date SQLite: PocketBase include o bază de date SQLite încorporată. Acest lucru diferă de alți furnizori de backend care folosesc baze de date mai mari, cum ar fi PostgreSQL sau MySQL. Utilizarea SQLite face PocketBase mai ușor. De asemenea, vă puteți abona la evenimentele bazei de date în timp real printr-un API.
    instagram viewer
  • Autentificare: PocketBase acceptă autentificarea e-mail/parolă și Autentificare OAuth2 prin Facebook, Google, GitLab și GitHub.
  • Stocare fisiere: Puteți încărca fotografii, fișiere audio și video în stocarea locală sau într-o găleată S3 folosind PocketBase.
  • Tabloul de bord administrativ: Tabloul de bord Administrator vă permite să creați și să gestionați colecții în baza de date. De asemenea, puteți încărca fișiere, vizualiza fișiere jurnal și configura setările pentru trimiterea de e-mailuri,

Conform documentelor, PocketBase poate servi cu ușurință peste 10.000 de servicii concomitente și persistente în timp real conexiuni pe 6 servere private virtuale, ceea ce îl face o alegere backend accesibilă pentru mici și mijlocii aplicatii.

Rețineți că PocketBase se scalează doar pe verticală. Aceasta înseamnă că trebuie să adăugați mai mult CPU și RAM pentru a crește puterea de procesare. Dacă aveți o aplicație mare, luați în considerare a furnizor de backend precum Firebase care permite scalarea orizontală.

Noțiuni introductive cu PocketBase

În prezent, PocketBase oferă două SDK-uri:

  • Un SDK JavaScript pe care îl puteți utiliza cu cadre JavaScript precum Svelte, React, Vue și Angular.
  • Un SDK Dart pentru Aplicații flutter.

Cel mai simplu mod de a începe este să descărcați PocketBase. Există mai multe link-uri, așa că asigurați-vă că îl descărcați pe cel compatibil cu mediul dvs.

După ce l-ați descărcat, extrageți și navigați la folderul pocketbase. Apoi rulați această comandă într-un terminal:

./pocketbase serve

Această comandă ar trebui să pornească un server web pe aceste rute.

  • Server: http://127.0.0.1:8090/
  • API REST: http://127.0.0.1:8090/api/
  • Interfața de utilizare admin: http://127.0.0.1:8090/_/

Navigați la http://127.0.0.1:8090/_/ URL pentru a crea prima colecție folosind tabloul de bord de administrare.

Crearea unei colecții în PocketBase

Prima dată când deschideți interfața de administrare, acesta vă va cere o adresă de e-mail și o parolă pentru a crea un cont de administrator.

Iată cum arată interfața de utilizare admin:

Făcând clic pe Colecție nouă butonul din interfața de utilizare admin va deschide un panou de colecție pe care îl puteți completa cu detalii pentru a crea o nouă colecție.

Iată cum ați crea o colecție numită todos, constând dintr-un titlu și câmpuri completate:

O colecție poate fi fie o colecție de bază, fie o colecție autentică. O colecție de bază este tipul de colecție implicit și o puteți utiliza pentru orice tip de date. O colecție de autentificare conține câmpuri suplimentare pentru a gestiona utilizatorii, cum ar fi numele de utilizator, e-mailul și verificarea.

Nu trebuie să utilizați interfața de utilizare pentru a crea o colecție; puteți crea unul folosind API-ul web. Documente PocketBase oferiți exemple specifice SDK-ului despre cum să creați și să gestionați colecții prin intermediul API-ului. Puteți crea, vizualiza, actualiza, șterge sau importa colecții.

Utilizarea PocketBase într-o aplicație React

SDK-ul JavaScript vă permite să interacționați cu PocketBase dintr-un proiect React.

Pentru a urma, începe prin crearea unui proiect React.

Apoi, instalați SDK-ul PocketBase JavaScript în proiectul dvs. React prin npm:

npm install pocketbase --save

Apoi, în app.js, importați PocketBase și inițializați-l.

import PocketBase din„bază de buzunar”;
const pb = nou PocketBase(' http://127.0.0.1:8090');

Pentru a ilustra modul în care PocketBase integrează React, veți crea funcțiile de ajutor pentru o aplicație de făcut. Aceste funcții vor crea, actualiza, prelua și șterge elemente.

Creați un articol de lucru

În app.js, creați o funcție numită addTodo.

const addTodo = asincron (tot) => {
încerca {
const înregistrare = așteaptăașteaptă pb.collection("todos").crea (todo);
întoarcere record;
 } captură (eroare) {
întoarcere { eroare: error.message };
 }
};

Această funcție adaugă o înregistrare nouă în colecția todos.

Actualizați un articol de lucru

Pentru a actualiza o înregistrare din colecția todo, creați o funcție numită updateTodo și utilizați metoda de actualizare.

const updateTodo = asincron (record_id, tot) => {
încerca {
const înregistrare = așteaptă pb.collection("todos").actualizare (record_id, todo);
întoarcere record;
 } captură (eroare) {
întoarcere { eroare: error.message };
 }
};

Funcția updateTodo găsește elementul de făcut pe baza ID-ului înregistrării și îl actualizează cu noile date.

Ștergeți un element de lucru

În app.js, creați o funcție numită deleteTodo care șterge o înregistrare din colecția todo.

const deleteTodo = asincron (record_id) => {
încerca {
așteaptă pb.collection("todos").delete (record_id);
 } captură (eroare) {
întoarcere { eroare: error.message };
 }
};

Preluați un articol de lucru

Puteți prelua un singur articol de făcut sau toate articolele din colecție.

Această funcție preia un singur element de făcut după id:

const getTodo = asincron (record_id) => {
încerca {
const înregistrare = așteaptă pb.collection("todos").getOne (record_id, {
extinde: „relField1,relField2.subRelField”,
});
întoarcere record
 } captură (eroare) {
întoarcere { eroare: error.message };
 }
};

În timp ce funcția de mai jos va prelua toate înregistrările din colecția todo:

const getTodos = asincron (record_id) => {
încerca {
const înregistrări = așteaptă pb
.Colectie("todos")
.getFullList(200 /* dimensiunea lotului */, {
fel: "-creată",
});
întoarcere înregistrări;
} captură (eroare) {
întoarcere { eroare: error.message };
}
}

Puteți utiliza aceste funcții pentru a crea și actualiza interfața de utilizare a aplicației.

Pentru exemple mai detaliate, consultați PocketBase records API documentația sau documentația API generată în „Interfața de utilizare admin > Colecții > Previzualizare API”. Ar trebui să puteți accesa lista, vizualiza, crea, actualiza, șterge și documentația în timp real pentru colecția dvs.

De ce ar trebui să utilizați PocketBase

PocketBase este cel mai bun backend pentru proiecte mici și medii. Necesită o configurare minimă și este ușor de utilizat. Oferă două SDK-uri client — un SDK JavaScript și un SDK Dart — și îl puteți utiliza în aplicații web și mobile.

PocketBase este, de asemenea, auto-găzduit și îl puteți găzdui pe un server local sau un VPS. Deși nu acceptă funcții cloud, îl puteți folosi ca cadru Go și vă puteți crea propria aplicație cu o logică de afaceri personalizată.