PocketBase on avatud lähtekoodiga taustaprogramm, mis koosneb manustatud SQLite andmebaasist koos andmete valideerimisega, reaalajas tellimustest ja hõlpsasti kasutatavast REST API-st. Samuti pakub see meediumifailide autentimist ja failide salvestamist.
PocketBase sobib suurepäraselt projektidele, millele te ei soovi ajapiirangu või mugavuse tõttu taustaprogrammi luua, kuna see on täiesti kaasaskantav ja nõuab minimaalset seadistamist. See integreerub ka populaarsete tehnoloogiatega, nagu Vue, Svelte, React, Angular ja Flutter.
PocketBase'i pakutavad teenused
PocketBase pakub enamikku teiste taustateenuse pakkujate, näiteks SupaBase, pakutavatest teenustest.
- SQLite andmebaas: PocketBase sisaldab manustatud SQLite andmebaasi. See erineb teistest taustateenuse pakkujatest, kes kasutavad suuremaid andmebaase, nagu PostgreSQL või MySQL. SQLite'i kasutamine muudab PocketBase'i kergemaks. Samuti saate API kaudu tellida andmebaasi reaalajas sündmusi.
- Autentimine: PocketBase toetab meili/parooli autentimist ja OAuth2 autentimine Facebooki, Google'i, GitLabi ja GitHubi kaudu.
- Failide salvestamine: PocketBase'i abil saate fotosid, heli- ja videofaile üles laadida kohalikku salvestusruumi või S3 ämbrisse.
- Administraatori armatuurlaud: Administraatori armatuurlaud võimaldab teil andmebaasis kogusid luua ja hallata. Samuti saate faile üles laadida, logifaile vaadata ja e-kirjade saatmise sätteid konfigureerida,
Dokumentide kohaselt saab PocketBase hõlpsasti teenindada 10 000+ samaaegset ja püsivat reaalajas ühendused 6 virtuaalses privaatserveris, muutes selle taskukohaseks taustavalikuks väikestele ja keskmise suurusega kasutajatele rakendusi.
Pange tähele, et PocketBase skaleerib ainult vertikaalselt. See tähendab, et töötlemisvõimsuse suurendamiseks peate lisama rohkem protsessorit ja RAM-i. Kui teil on suur rakendus, kaaluge a taustateenuse pakkuja nagu Firebase mis võimaldab horisontaalset skaleerimist.
PocketBase'iga alustamine
Praegu pakub PocketBase kahte SDK-d:
- JavaScripti SDK, mida saate kasutada JavaScripti raamistikega, nagu Svelte, React, Vue ja Angular.
- Dart SDK jaoks Flutter rakendused.
Lihtsaim viis alustamiseks on laadige alla PocketBase. Linke on mitu, seega laadige kindlasti alla see, mis teie keskkonnaga ühildub.
Kui olete selle alla laadinud, ekstraheerige ja navigeerige taskubaasi kausta. Seejärel käivitage terminalis see käsk:
./pocketbase serveerida
See käsk peaks käivitama veebiserveri nendel marsruutidel.
- Server: http://127.0.0.1:8090/
- REST API: http://127.0.0.1:8090/api/
- Administraatori kasutajaliides: http://127.0.0.1:8090/_/
Navigeerige http://127.0.0.1:8090/_/ URL oma esimese kogu loomiseks administraatori armatuurlaua abil.
Kollektsiooni loomine PocketBase'is
Administraatori kasutajaliidese esmakordsel avamisel küsib see administraatorikonto loomiseks meiliaadressi ja parooli.
Administraatori kasutajaliides näeb välja järgmine:
Klõpsates Uus kollektsioon nupp administraatori kasutajaliideses avab kogu paneeli, mille saate uue kogu loomiseks täita üksikasjadega.
Siit saate teada, kuidas saate luua pealkirjast ja täidetud väljadest koosneva kogu nimega todos.
Kogu võib olla kas põhi- või autentsuskogu. Põhikogu on vaikekogu tüüp ja saate seda kasutada mis tahes tüüpi andmete jaoks. Autentimiskogu sisaldab lisavälju kasutajate haldamiseks, nagu kasutajanimi, e-posti aadress ja kinnitatud.
Kogu loomiseks ei pea te kasutama administraatori kasutajaliidest; saate selle luua veebi API abil. PocketBase'i dokumendid pakkuda SDK-spetsiifilisi näiteid kogude loomise ja haldamise kohta API kaudu. Saate kogusid luua, vaadata, värskendada, kustutada või importida.
PocketBase'i kasutamine Reacti rakenduses
JavaScripti SDK võimaldab teil Reacti projekti kaudu PocketBase'iga suhelda.
Järgimiseks alustage Reacti projekti loomine.
Seejärel installige PocketBase JavaScript SDK oma Reacti projekti npm kaudu:
npm install pocketbase --save
Järgmisena importige failis app.js PocketBase ja lähtestage see.
importida PocketBase alates'taskubaas';
konst pb = uus PocketBase(' http://127.0.0.1:8090');
Et illustreerida, kuidas PocketBase integreerib Reacti, loote ülesanderakenduse jaoks abifunktsioonid. Need funktsioonid loovad, värskendavad, toovad ja kustutavad üksusi.
Looge ülesanne
Looge failis app.js funktsioon nimega addTodo.
konst addTodo = asünkr (todo) => {
proovi {
konst rekord = ootamaootama pb.collection("todos").loo (todo);
tagasi rekord;
} püüda (viga) {
tagasi { viga: error.message };
}
};
See funktsioon lisab kogusse todos uue kirje.
Ülesandeüksuse värskendamine
Ülesannete kogus oleva kirje värskendamiseks looge funktsioon nimega updateTodo ja kasutage värskendusmeetodit.
konst updateTodo = asünkr (kirje_id, ülesanne) => {
proovi {
konst rekord = ootama pb.collection("todos").update (kirje_id, ülesanne);
tagasi rekord;
} püüda (viga) {
tagasi { viga: error.message };
}
};
Funktsioon updateTodo leiab kirje ID alusel ülesande üksuse ja värskendab seda uute andmetega.
Ülesandeüksuse kustutamine
Looge failis app.js funktsioon nimega deleteTodo, mis kustutab ülesandekogust kirje.
konst deleteTodo = asünkr (kirje_id) => {
proovi {
ootama pb.collection("todos").delete (kirje_id);
} püüda (viga) {
tagasi { viga: error.message };
}
};
Todo üksuse toomine
Saate tuua kogust ühe ülesande või kõik üksused.
See funktsioon hangib ühe ülesande üksuse ID järgi:
konst getTodo = asünkr (kirje_id) => {
proovi {
konst rekord = ootama pb.collection("todos").getOne (kirje_id, {
laiendada: "relField1,relField2.subRelField",
});
tagasi rekord
} püüda (viga) {
tagasi { viga: error.message };
}
};
Kuigi allolev funktsioon hangib kõik ülesandekogu kirjed:
konst getTodos = asünkr (kirje_id) => {
proovi {
konst rekordid = ootama pb
.collection("todos")
.getFullList(200 /* partii suurus */, {
sorteeri: "-loodud",
});
tagasi rekordid;
} püüda (viga) {
tagasi { viga: error.message };
}
}
Neid funktsioone saate kasutada rakenduse kasutajaliidese loomiseks ja värskendamiseks.
Üksikasjalikumate näidete saamiseks vaadake PocketBase'i kirjete API dokumentatsiooni või loodud API dokumentatsiooni jaotises „Administraatori kasutajaliides > Kogud > API eelvaade“. Teil peaks olema juurdepääs oma kogu loendile, vaatamiseks, loomiseks, värskendamiseks, kustutamiseks ja reaalajas dokumentatsioonile.
Miks peaksite PocketBase'i kasutama
PocketBase on parim taustaprogramm väikeste ja keskmiste projektide jaoks. See nõuab minimaalset seadistamist ja seda on lihtne kasutada. See pakub kahte kliendi SDK-d – JavaScript SDK ja Dart SDK – ning saate seda kasutada veebi- ja mobiilirakendustes.
PocketBase on ka isehostitav ja saate seda majutada kohalikus serveris või VPS-is. Kuigi see ei toeta pilvefunktsioone, saate seda kasutada Go raamistikuna ja luua oma kohandatud äriloogikaga rakenduse.