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.
Tartalomjegyzék
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 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.
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.
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.