PocketBase je odprtokodno zaledje, ki ga sestavljajo vdelana baza podatkov SQLite s preverjanjem podatkov, naročninami v realnem času in API-jem REST, ki je enostaven za uporabo. Ponuja tudi preverjanje pristnosti in shranjevanje datotek za medijske datoteke.
PocketBase je kot nalašč za projekte, za katere raje ne bi zgradili zaledja zaradi časovnih omejitev ali priročnosti, ker je popolnoma prenosljiv in zahteva minimalno nastavitev. Integrira se tudi s priljubljenimi tehnologijami, kot so Vue, Svelte, React, Angular in Flutter.
Storitve, ki jih ponuja PocketBase
PocketBase zagotavlja večino storitev, ki jih ponujajo drugi ponudniki zaledja, kot je SupaBase.
- Baza podatkov SQLite: PocketBase vključuje vdelano bazo podatkov SQLite. To se razlikuje od drugih ponudnikov zaledja, ki uporabljajo večje zbirke podatkov, kot sta PostgreSQL ali MySQL. Zaradi uporabe SQLite je PocketBase lažji. Prav tako se lahko naročite na dogodke baze podatkov v realnem času prek API-ja.
- Preverjanje pristnosti: PocketBase podpira preverjanje pristnosti e-pošte/gesla in Preverjanje pristnosti OAuth2 prek Facebooka, Googla, GitLaba in GitHuba.
- Shranjevanje datotek: Fotografije, zvočne in video datoteke lahko naložite v lokalno shrambo ali vedro S3 s pomočjo PocketBase.
- Skrbniška nadzorna plošča: Skrbniška nadzorna plošča vam omogoča ustvarjanje in upravljanje zbirk v bazi podatkov. Prav tako lahko naložite datoteke, si ogledate dnevniške datoteke in konfigurirate nastavitve za pošiljanje e-pošte,
V skladu z dokumenti lahko PocketBase zlahka služi več kot 10.000 sočasnih in trajnih storitev v realnem času. povezave na 6 virtualnih zasebnih strežnikih, zaradi česar je cenovno ugodna izbira zaledja za mala in srednja podjetja aplikacije.
Upoštevajte, da PocketBase meri samo navpično. To pomeni, da morate dodati več procesorja in RAM-a, da povečate procesorsko moč. Če imate veliko aplikacijo, razmislite o a zaledni ponudnik, kot je Firebase ki omogoča horizontalno skaliranje.
Kako začeti uporabljati PocketBase
Trenutno PocketBase ponuja dva SDK-ja:
- SDK za JavaScript, ki ga lahko uporabljate z ogrodji JavaScript, kot so Svelte, React, Vue in Angular.
- Dart SDK za Aplikacije Flutter.
Najlažji način za začetek je prenesite PocketBase. Obstaja več povezav, zato poskrbite, da boste prenesli tisto, ki je združljiva z vašim okoljem.
Ko ga prenesete, ekstrahirajte in se pomaknite do mape pocketbase. Nato zaženite ta ukaz v terminalu:
./pocketbase serve
Ta ukaz bi moral zagnati spletni strežnik na teh poteh.
- strežnik: http://127.0.0.1:8090/
- REST API: http://127.0.0.1:8090/api/
- Skrbniški uporabniški vmesnik: http://127.0.0.1:8090/_/
Pomaknite se do http://127.0.0.1:8090/_/ URL za ustvarjanje vaše prve zbirke z uporabo skrbniške nadzorne plošče.
Ustvarjanje zbirke v PocketBase
Ko prvič odprete skrbniški uporabniški vmesnik, bo zahteval e-poštni naslov in geslo za ustvarjanje skrbniškega računa.
Tukaj je videti skrbniški uporabniški vmesnik:
S klikom na Nova zbirka gumb v skrbniškem uporabniškem vmesniku bo odprl ploščo za zbiranje, ki jo lahko izpolnite s podrobnostmi za ustvarjanje nove zbirke.
Tako bi ustvarili zbirko, imenovano todos, ki jo sestavljajo naslov in izpolnjena polja:
Zbirka je lahko osnovna ali avtorska zbirka. Osnovna zbirka je privzeta vrsta zbirke in jo lahko uporabite za katero koli vrsto podatkov. Zbirka za preverjanje avtorizacije vsebuje dodatna polja za upravljanje uporabnikov, kot so uporabniško ime, e-pošta in preverjeno.
Za ustvarjanje zbirke vam ni treba uporabiti skrbniškega uporabniškega vmesnika; ustvarite ga lahko s spletnim API-jem. Dokumenti PocketBase podati primere, specifične za SDK, kako ustvariti in upravljati zbirke prek API-ja. Zbirke lahko ustvarite, si jih ogledate, posodobite, izbrišete ali uvozite.
Uporaba PocketBase v aplikaciji React
SDK za JavaScript vam omogoča interakcijo s PocketBase iz projekta React.
Če želite slediti, začnite z ustvarjanje projekta React.
Nato namestite PocketBase JavaScript SDK v svoj projekt React prek npm:
npm namestite pocketbase --save
Nato v app.js uvozite PocketBase in ga inicializirajte.
uvoz PocketBase od'pocketbase';
konst pb = novo PocketBase(' http://127.0.0.1:8090');
Za ponazoritev, kako PocketBase integrira React, boste ustvarili pomožne funkcije za aplikacijo opravil. Te funkcije bodo ustvarile, posodobile, pridobile in izbrisale elemente.
Ustvarite opravilo
V app.js ustvarite funkcijo z imenom addTodo.
konst addTodo = asinh (todo) => {
poskusi {
konst zapis = čakatičakati pb.zbirka("todos").create (todo);
vrnitev zapis;
} ulov (napaka) {
vrnitev { napaka: obvestilo o napaki };
}
};
Ta funkcija doda nov zapis v zbirko opravil.
Posodobite element Todo
Če želite posodobiti zapis v zbirki opravil, ustvarite funkcijo z imenom updateTodo in uporabite metodo posodobitve.
konst updateTodo = asinh (record_id, todo) => {
poskusi {
konst zapis = čakati pb.zbirka("todos").update (record_id, todo);
vrnitev zapis;
} ulov (napaka) {
vrnitev { napaka: obvestilo o napaki };
}
};
Funkcija updateTodo najde element opravila na podlagi ID-ja zapisa in ga posodobi z novimi podatki.
Brisanje opravila
V app.js ustvarite funkcijo z imenom deleteTodo, ki izbriše zapis v zbirki opravil.
konst deleteTodo = asinh (id_zapisa) => {
poskusi {
čakati pb.zbirka("todos").delete (record_id);
} ulov (napaka) {
vrnitev { napaka: obvestilo o napaki };
}
};
Pridobite opravilo
Pridobite lahko posamezen element opravila ali vse elemente iz zbirke.
Ta funkcija pridobi en sam element opravila po ID-ju:
konst getTodo = asinh (id_zapisa) => {
poskusi {
konst zapis = čakati pb.zbirka("todos").getOne (record_id, {
razširi: "relField1,relField2.subRelField",
});
vrnitev zapis
} ulov (napaka) {
vrnitev { napaka: obvestilo o napaki };
}
};
Medtem ko bo spodnja funkcija pridobila vse zapise v zbirki opravil:
konst getTodos = asinh (id_zapisa) => {
poskusi {
konst zapisi = čakati pb
.zbirka("todos")
.getFullList(200 /* velikost serije */, {
razvrsti: "-ustvarjeno",
});
vrnitev evidence;
} ulov (napaka) {
vrnitev { napaka: obvestilo o napaki };
}
}
Te funkcije lahko uporabite za ustvarjanje in posodabljanje uporabniškega vmesnika aplikacije.
Za podrobnejše primere glejte PocketBase records API dokumentacijo ali ustvarjeno dokumentacijo API-ja v "Admin UI > Collections > API Preview". Morali bi imeti možnost dostopa do seznama, ogleda, ustvarjanja, posodabljanja, brisanja in dokumentacije v realnem času za vašo zbirko.
Zakaj bi morali uporabljati PocketBase
PocketBase je najboljše zaledje za majhne do srednje velike projekte. Zahteva minimalno nastavitev in je enostaven za uporabo. Ponuja dva odjemalska SDK-ja – JavaScript SDK in Dart SDK – in ga lahko uporabljate v spletnih in mobilnih aplikacijah.
PocketBase je tudi samostojen in ga lahko gostite na lokalnem strežniku ali VPS. Čeprav ne podpira funkcij v oblaku, ga lahko uporabite kot ogrodje Go in ustvarite svojo aplikacijo s poslovno logiko po meri.