Hogyan lehet sikeresen API-t építeni a Firebase segítségével?

A Firebase egy 2012-ben elindított alkalmazásfejlesztő platform, amelyet a Google két évvel később vásárolt meg. Kezdetben a Firebase-t csak valós idejű alkalmazások adatbázisának tekintették, de a Google meglátta a benne rejlő lehetőségeket, és úgy döntött, hogy további szolgáltatásokat ad hozzá.

Jelenleg a Firebase egy BaaS (backend as a service) rendszer 18 szolgáltatással, amely megkönnyíti a webes és mobilalkalmazások létrehozását. A Firebase BaaS szolgáltatásait használó vállalatok között szerepel az Accenture, az Alibaba Travels, a Stack, a Twitch és az Instacart, valamint több mint 2300 másik.

A Firebase használatának előnyei

A Firebase által kínált szolgáltatások közül az első a valós idejű adatbázis volt, és továbbra is az egyik legnagyobb vonzereje. A Firebase valós idejű adatbázisait a felhő tárolja, ahol az adatokat JSON formátumban tárolják, és valós időben szinkronizálják a hozzájuk kapcsolódó összes klienssel. Akár iOS SDK-t, Android SDK-t vagy JavaScript SDK-t használ, a Firebase Realtime adatbázishoz csatlakoztatott összes alkalmazás az adatbázis egyetlen példányán osztozik, és mindig naprakész a legfrissebb adatokkal.

A Cloud Firestore egy másik érdekes Firebase-szolgáltatás. Ez egy NoSQL-dokumentum-adatbázis, amelyet arra terveztek, hogy megkönnyítse az adatok tárolását, szinkronizálását, valamint mobil- és webes alkalmazások globális szintű lekérdezését. A kapcsolódó adatok tárolására hierarchiák létrehozása és az adatok lekérésére irányuló kifejező lekérdezések lehetővé teszik a Cloud Firestore teljes potenciáljának kiaknázását. A lekérdezések viszont az eredmények mérete, nem pedig az adatkészlet mérete alapján skálázódnak. Ez lehetővé teszi az alkalmazások méretezését a kezdetektől anélkül, hogy megvárnák azt a pillanatot, amikor a szükségletek meghaladják a kapacitást.

A Firebase az előbb említett adatbázis-szolgáltatásokon túl sok egyéb mellett hosting szolgáltatásokat, fájltárolást, funkciókat (AWS Lambda-stílus) is kínál.

API létrehozása

Az API-k segítségével szolgáltatást nyújthat saját vagy harmadik féltől származó alkalmazásai számára. A Firebase lehetővé teszi, hogy egyéni szolgáltatásokat nyújtson, amelyek viszont a Firebase saját szolgáltatásait használják anélkül, hogy a szolgáltatásokhoz háttérrendszert kellene létrehozniuk. Hozzáférést kínálhat például egy Firebase valós idejű adatbázishoz harmadik féltől származó alkalmazások számára, hogy lekérdezzenek ipari érzékelők által gyűjtött információkat.

  Az uniq parancs használata Linuxon

Az API Firebase-ben való létrehozásának első lépése a Firebase konzol és adjon hozzá egy projektet a „Projekt hozzáadása” gombra kattintva, és adjon nevet az új projektnek. A Google lehetőséget ad a Google Analytics engedélyezésére az új projektben. Javasoljuk, hogy fogadja el ezt az ajánlást, mivel olyan előnyökhöz jut, mint az A/B tesztelés és a statisztikai jelentések széles választéka az API-ból.

Miután létrehozta a projektet, kiválaszthatja azokat a Firebase-szolgáltatásokat, amelyeket az API használni fog. A feladat szemléltetéséhez meglátjuk, hogyan kell használni a Firebase Realtime adatbázis-szolgáltatást.

Valós idejű adatbázis beállítása a Firebase-ben

A bal oldali navigációs sávban, a Fejlesztés részben kattintson a Valós idejű adatbázis elemre. A jobb oldalon megjelenik egy „Adatbázis létrehozása” gomb. Kattintson rá az első adatbázis létrehozásához a Firebase-ben.

Ezután az új adatbázishoz több földrajzi elhelyezkedési lehetőség közül kell választania. Válassza ki azt, amelyik a legközelebb áll a felhasználókhoz. Ez fontos szempont az API késleltetésének minimalizálása érdekében, különösen a valós idejű alkalmazásokban.

A következő lépés az adatbázis alapvető biztonsági szabályainak konfigurálása. Választhatja a zárolt módot, majd szükség szerint hozzárendelheti a hozzáférési engedélyeket, vagy választhatja a teszt módot, amely lehetővé teszi az összes olvasást és írást.

Kezdje a teszt mód opcióval, hogy ne bonyolítsa le a biztonsági beállításokat az elején. Később bármikor létrehozhat szabályokat a biztonsági konfiguráció pontosabb beállításához.

Amint befejezi az adatbázis konfigurálását, a megfelelő API is engedélyezve lesz a személyes konzol API-k és szolgáltatások szakaszában a Google Cloud Platformban.

A Firebase API programozása

Ezen a ponton már beállította a Firebase-konzolon a projekt alapvető elemeit. A következő lépés az API kód ​​megírása. Ehhez inicializálnia kell a Firebase tárhelyét és funkcióit a helyi számítógépen. A Firebase-tools-t az npm használatával telepítheti:

npm install -g firebase-tools

Ezután bejelentkezhet a Firebase-be, és inicializálhatja projektjét a következő parancsokkal:

firebase login firebase init

Megjelenik egy üdvözlőképernyő, amelyen a Firebase tájékoztatja Önt arról, hogy melyik mappában lesz inicializálva a projekt, és megjelenik a lehetőségek menüje.

Ebben a menüben válassza a Funkciók és tárhely lehetőséget (a Tárhely opció lehetővé teszi, hogy egyéni URL-t kapjon a fejlesztendő API-hoz). Ezután válassza ki a listából a korábban létrehozott Firebase alkalmazást, majd válassza ki a használni kívánt nyelvet. Web API fejlesztéséhez választhatja a JavaScriptet.

Ha csomagfüggőségeket használ, telepítse azokat az npm segítségével a függvények mappába. Ezután elkezdheti írni a függvények kódját. Ne felejtse el tartalmazni a firebase-functions és a firebase-admin csomagokat, valamint minden más szükséges csomagot:

import * as functions from 'firebase-functions'; 
import * as admin from 'firebase-admin';

A valós idejű adatbázis használatához meg kell adnia annak URL-címét a JavaScript SDK inicializálása során. Az URL a Firebase-konzol Realtime Database részében található. A formátumáról ismerheti fel:

https://<database-name>.<region>.firebasedatabase.app

A következő kódrészletet használhatja az SDK inicializálására, lecserélve a projekt konfigurációs objektumának megfelelő adatokat:

var config = {
  apiKey: "apiKey",
  authDomain: "projectId.firebaseapp.com",
  databaseURL: "https://databaseName.firebaseio.com",
  storageBucket: "bucket.appspot.com"
};
firebase.initializeApp(config);
var database = firebase.database();

Miután megírta az API-függvény kódját, itt az ideje a telepítésnek. Mielőtt azonban ezt megtenné, végre kell hajtania néhány módosítást a firebase.json fájlban, hozzáadva a következő sorokat, a projektkonfigurációnak megfelelően módosítva:

"rewrites": [
     {
       "source": "/api/v1/**",
       "function": "webApi"
     }
]

A következő lépés a telepítés. Az első alkalommal, amikor teljes telepítést kell végrehajtania, a következő parancs végrehajtásával:

firebase deploy

A következő telepítéseknél csak a funkciókat tudja majd telepíteni az –only functions paraméter használatával.

  6 Megbízható minden-az-egyben prémium biztonsági szoftver személyes használatra

A telepítési parancs végrehajtása után a Firebase parancssori felület megjeleníti a függvényei HTTP-végpontjainak URL-címét a terminálban, amelyek segítségével meghívhatja az API-kat egy webalkalmazásból. Az URL tartalmazza a projekt azonosítóját és a HTTP funkció régióját. Például a következő URL-cím felhasználható egy cikklekérdezési függvény meghívására az itemid=1 paraméterként történő átadásával:

https://us-central1-apiproject-8753c.cloudfunctions.net/itemQuery?itemid=1

A funkció végrehajtásához nyissa meg az URL-t a megfelelő paraméterekkel egy böngészőben.

Ne feledje, hogy az éles környezetben való üzembe helyezéshez elő kell fizetni a Firebase Blaze-csomagra, amely felosztó-kirovó alapú, amint az a Firebase árképzési oldalán olvasható. Ez egy utólagos számlázási szolgáltatás, ami azt jelenti, hogy minden hónap végén számlázunk a használatért.

Ha nem rendelkezik Blaze-előfizetéssel, a deploy parancs nem jeleníti meg az API URL-címét. Ehelyett megjelenik egy üzenet, amely tájékoztatja arról, hogy elő kell fizetnie a Blaze-tervre, ha a futási környezetbe kívánja telepíteni. Ebben az esetben továbbra is használhatja a Firebase Local Emulation Suite alkalmazásokat a helyi gépen történő alkalmazások létrehozására és tesztelésére, ahelyett, hogy a Firebase éles környezetbe telepítené azokat. A helyi tesztelés hasznos az alkalmazásfejlesztés során felmerülő szükségtelen költségek elkerülése érdekében, mivel minden tesztfutás terhelést vonhat maga után a fiókjában.

Helyi tesztelés és prototípuskészítés

A Local Emulator Suite eszköz integrált felhasználói felületet kínál, amely egyszerűvé és hasznossá teszi a prototípuskészítést az alkalmazások teszteléséhez a helyi gépen.

  A Netflix vezérlése a telefonról

Az Emulator Suite felhasználói felülettel többek között tesztelheti adatbázis-terveit, Cloud Functions munkafolyamatait, elemezheti a háttérszolgáltatások teljesítményét, és értékelheti a biztonsági szabályok változásait. Ez alapvetően egy biztonságos homokozó, amellyel tesztelheti az API-funkcióit, mielőtt elküldi azt egy éles környezetbe.

A függvények emulálásához vagy az alkalmazás helyi teszteléséhez futtassa a Firebase emulators:start parancsot. A Firestore Emulator használatához telepíteni kell a Java-t. Ha nincs meg, akkor innen telepítheti itt.

A Firestore Emulator meghívásakor a parancs egy URL-t ad vissza, amely lehetővé teszi az Emulator Suite felhasználói felületének megnyitását a böngészőben. Alapértelmezés szerint ez az URL a localhost:4000 lesz, de ez gépenként eltérő lehet.

Ezenkívül kap egy teljes URL-t a HTTP-funkcióhoz. Ez az URL a következőhöz hasonlóan fog kinézni:

http://localhost:5001/apiproject-8753c/us-central1/itemQuery

csak rajta lesz a projekt neve, a függvény neve, és lehet, hogy más portszámmal is rendelkezik a helyi gépen.

A funkció teszteléséhez másolja ki az emulátor által visszaadott URL-t, hozzáadva a szükséges paramétereket (pl. ?itemid=1), és írja be a böngésző új lapjára. Az API végrehajtásának eredményei az Emulator Suite felhasználói felületén jelennek meg.

A Naplók lapon új naplók jelennek meg, amelyek jelzik, hogy az itemQuery() függvény végrehajtásra került. Ha a függvény új adatokat generál a Firestore adatbázisban, akkor azt a Firestore lapon fogja látni.

Még nagyobb nyilvánosságot kap az API-ja számára

Ha azt szeretné, hogy az Ön által fejlesztett API-k népszerűvé váljanak, a Firebase ebben is segíthet. Nemcsak azért, mert lehetővé teszi az alkalmazás gyorsabb felépítését, ami sok munkát levesz a háttérszolgáltatások beindításából és futtatásából, hanem azáltal is, hogy segít a termék pozicionálásában. Hogyan lehetséges ez? Egyszerűen azért, mert a Firebase-hez társított alkalmazások jobb helyen állnak a keresési rangsorban, mint más alkalmazások.

Vegye figyelembe a Firebase alkalmazásindexelő API-ját is. Ez az eszköz javítja az alkalmazáshivatkozások keresési rangsorát, és segít a felhasználóknak megtalálni a kívánt tartalmat. Ezenkívül a Telepítés gombot az alkalmazás kezdőlapjának gombja után helyezi el, így az érdeklődő felhasználók egy kattintásnyira vannak attól, hogy az alkalmazás felhasználóivá váljanak.

Összefoglalva, a Firebase nem csak olyan háttérszolgáltatásokat kínál Önnek, amelyek drámaian felgyorsítják az API fejlesztését, hanem amint az elkészült, és a világ számára elérhetővé válik, segít népszerűsíteni – és pénzt keresni vele.