Firebase on Google’i aren­dus­plat­vorm, mis on mõeldud mobiili- ja vee­bi­põ­histe ra­ken­duste jaoks. Platvorm on lihtne in­teg­ree­rida, vähendab aren­dus­tööd ning paistab silma au­to­maatse ska­lee­ri­mise ja reaalajas sünk­ro­ni­see­ri­mise poolest. Tüü­pi­li­sed ka­su­tus­juh­tu­mid hõlmavad män­gu­ra­ken­dusi, vest­lus­ra­ken­dusi, sot­siaal­võr­gus­tikke ning jõudluse ja ka­su­ta­mise analüüsi.

Mis on Firebase?

Firebase on Google’i aren­dus­plat­vorm, mis on spet­siaal­selt loodud veebi-, Androidi- ja iOS-ra­ken­duste jaoks. Platvorm aitab aren­da­ja­tel lahendada kolme peamist väl­ja­kut­set:

  • rakenduse kiireks loomiseks
  • rakenduse aval­da­miseks ja jäl­gi­miseks
  • ka­su­ta­jate kaa­sa­miseks.

Backend-as-a-Service la­hen­dus­ena ühendab Firebase kõik kaas­aeg­sete ja võimsate ra­ken­duste inf­ra­struk­tuuri kom­po­nen­did valmis pil­ve­tee­nuste vormis. Neid on lihtne in­teg­ree­rida ja need asendavad sageli ko­han­da­tud bac­ken­deid. Kuna tegemist on serverita la­hen­du­s­ega, ei ole vaja muretseda inf­ra­struk­tuuri haldamise, ska­lee­ri­mise ega tur­vapa­ran­duste pärast.

Milliseid funkt­sioone pakub Firebase?

Aren­dus­plat­vor­mil on ulatuslik funkt­sioo­nide valik, mis koosneb enam kui 20 erinevast Firebase’i tootest, millest osa on saadaval tasuta. Need on jagatud kahte peamisse ka­te­goo­riasse: Build ja Run. Allpool tut­vus­tame mõlema ka­te­goo­ria peamisi funkt­sioone.

Ehita

Ka­te­goo­ria „Build” hõlmab ra­ken­duste aren­da­mise tööriistu. Selle tuumaks on kaks and­me­ba­asi, mis moo­dus­ta­vad aren­dus­plat­vormi selgroo. Firebase Realtime Database (RTDB) võimaldab JSON-põhist andmete sal­ves­ta­mist ja teostab andmete sünk­ro­ni­see­ri­mist reaalajas. Cloud Firestore, tuntud ka kui Google Firestore, pakub do­ku­men­di­keskse al­ter­na­tiivi. Mõlemad on pil­ve­põ­hi­sed NoSQL-and­me­baasid. Muud funkt­sioo­nid hõlmavad:

  • Hosting ja ra­ken­duste hosting: vee­bi­ra­ken­duste ja mo­bii­li­ra­ken­duste hosting
  • Au­ten­ti­mine: võimaldab ka­su­ta­ja­tel sisse logida e-posti kaudu
  • Pil­ve­sal­ves­tus: ka­su­ta­jate loodud sisu sal­ves­ta­mine ja edas­ta­mine
  • Pil­ve­funkt­sioo­nid: muu hulgas serverita koodi täit­miseks
  • Ge­ne­ra­tiivne te­hisin­tel­lekt: te­hisin­tel­lekti põ­hi­ne­vate ra­ken­duste loomine
  • Firebase ML: mobiilne SDK (tark­va­raa­ren­dus­kit) ma­si­nõp­peks
  • Rakenduse kontroll: kaitse vo­li­ta­mata klientide juur­de­pääsu eest

Jookse

Ka­te­goo­rias „Käi­vi­ta­mine” leiate ra­ken­duste käi­vi­ta­mise, jälgimise ja op­ti­mee­ri­mise tööriistu. Nende hulka kuuluvad:

  • Firebase pil­ve­sõ­nu­mid (FCM): push-tea­vi­tuste saatmine
  • Ra­ken­duste le­vi­ta­mine: ülevaade bee­ta­tes­ti­mise prog­ram­mist mo­biilp­lat­vormide ka­su­ta­jate poolt
  • Cras­h­ly­tics: jälgige ja parandage tõrkeid reaalajas
  • Google Analytics: ra­ken­duste põhjalik analüüs
  • A/B-testimine: ka­su­ta­ja­ko­ge­muse pa­ran­da­mine
  • Test lab: pil­veinf­ra­struk­tuur ra­ken­duste tes­ti­miseks
  • Kaug­kon­fi­gu­rat­sioon: ra­ken­duste per­so­na­li­see­ri­mine ja uuen­da­mine ilma uuen­dus­teta
  • Ra­ken­dus­e­si­se­sed sõnumid: kon­teks­ti­põ­hi­sed sõnumid
  • Jõudluse seire: ana­lüü­sige oma rakenduse jõudlust

Firebase’i eelised ja puudused

Firebase koondab mitmed backend-teenused ühte platvormi, kii­ren­da­des oluliselt ra­ken­duste aren­da­mist. Samal ajal kaovad sellised ülesanded nagu serveri haldamine, ska­lee­ri­mine ja pa­ran­da­mine. Siiski võib tihe seos Google’i öko­süs­tee­miga ja ka­su­tus­põ­hine hin­na­mu­del kaasa tuua piiran­guid ja et­te­nä­ge­ma­tuid kulusid.

Firebase’i eeliste ülevaade

  • Kii­ren­da­tud arendus: valmis backend-kom­po­nen­did, nagu and­me­baasid või au­ten­ti­mine, või­mal­da­vad kes­ken­duda pigem ra­ken­duste aren­da­misele ja ka­su­ta­ja­lii­de­sele kui inf­ra­struk­tuuri nullist üles ehi­ta­misele. See vähendab oluliselt ra­ken­da­mise aega.
  • Sujuv reaalajas sünk­ro­ni­see­ri­mine: Realtime Database sünk­ro­ni­see­rib andmeid kliendi ra­ken­duste vahel reaalajas. See võimaldab in­te­rak­tiiv­seid funkt­sioone, nagu live-chat, ilma lisatööta.
  • Au­to­maatne ska­lee­ri­ta­vus: tänu pil­ve­põ­hi­sele ar­hi­tek­tuu­rile kohandab Firebase ressursse dü­naa­mi­li­selt vastavalt ka­su­tus­ma­hule. Jõudlus jääb sta­biil­seks isegi liikluse tipp­het­ke­del ilma käsitsi sek­ku­miseta.
  • Plat­vor­mi­ülene tugi: Firebase võimaldab plat­vor­mi­ülest arendust ja toetab veebi-, Android- ja iOS-rakendusi, samuti Flutterit, Unityt ja C++. See välistab vajaduse mitme backend-rakenduse haldamise järele ja võimaldab ver­sioo­nide tsent­ra­li­see­ri­tud haldamist.
  • Kõi­ke­hõl­mav ana­lüü­tika: Firebase Analytics pakub ük­sik­as­ja­likku ülevaadet ka­su­ta­jate käi­tu­mi­sest. Eel­de­fi­nee­ri­tud juht­pa­neelide ja sündmuste abil on võimalik varakult tuvastada trende ja op­ti­mee­rida rakendusi andmete põhjal.

Firebase’i puuduste ülevaade

  • Ei ole avatud läh­te­koo­diga: Firebase’i lähtekood ei ole avalikult kät­te­saa­dav, mis takistab aren­da­ja­tel luua oma laiendusi põ­hisüs­tee­mile. Siiski on GitHubis saadaval palju raa­ma­tu­ko­gusid ja SDK-sid.
  • Tarnija sõltuvus: sügav in­teg­rat­sioon Google’i öko­süs­tee­miga raskendab hilisemat üle­mi­ne­kut teistele plat­vormi­dele, sidudes teid pikaks ajaks Firebase’iga. See võib olla prob­lee­miks eelkõige suurte ra­ken­duste puhul.
  • Saadaval on ainult NoSQL-and­me­baasid: aren­dus­plat­vorm ei paku võimalust tugineda re­lat­sioo­ni­lis­tele and­me­baasi­mu­de­li­tele.
  • Kulude eba­kind­lus: Ka­su­ta­misel põhineva hin­na­mu­deli tõttu võib lõplike kulude prog­noo­si­mine olla mõnikord keeruline, eriti et­te­ar­va­ma­tute juur­de­pää­su­must­rite puhul.
  • Piiratud pä­rin­gu­või­ma­lu­sed: keerukad päringud nõuavad sageli töö­mee­to­deid või väliseid tööriistu, kuna algne pä­rin­gu­funkt­sio­naal­sus on piiratud.

Mil­lis­tele ra­ken­dus­tele sobib Firebase?

Olgu tegemist bac­ken­dide loomise, testimise, hostimise või ra­ken­duste jäl­gi­mi­sega: Firebase pakub ko­han­da­tud lahendusi ra­ken­duste aren­dus­tsükli eri­ne­va­teks etap­pi­deks. Mõned po­pu­laar­se­mad ra­ken­dus­alad on järgmised:

  • Reaalajas vestlused ja suhtlus: Firebase Realtime Database’i abil saab sõnumeid klientide vahel reaalajas sünk­ro­ni­see­rida, mis teeb platvormi ideaal­seks vest­lus­ra­ken­duste, reaalajas tu­gi­süs­teemide ja mees­kon­na­töö­riis­tade jaoks.
  • Mo­bii­li­ra­ken­dused ja push-teated: Firebase Cloud Messaging võimaldab push-teadete usal­dus­väär­set edas­ta­mist ja au­to­ma­ti­see­ri­mist, et suu­ren­dada ka­su­ta­jate kaasatust ja suhtlust.
  • Kasutuse analüüs ja jõudluse ülevaade: Firebase Analytics pakub põh­ja­likke mõõdikuid ka­su­ta­jate käitumise ja ra­ken­duste jõudluse ana­lüü­si­miseks. Neid andmeid hinnates saate ka­su­ta­ja­ko­ge­must pidevalt op­ti­mee­rida.
  • Mitme mängijaga mängud ja reaalajas suhtlus: tänu reaalajas and­me­baasile on Firebase ideaalne mängude bac­ken­di­dele, mis nõuavad suhtluse kohest sünk­ro­ni­see­ri­mist. Firebase võimaldab skooride ja män­gusünd­muste kohest sünk­ro­ni­see­ri­mist, hoides kõik osalejad alati kursis.
  • Sot­siaal­võr­gus­ti­kud ja ühenduse plat­vor­mid: in­teg­ree­ri­tud au­ten­ti­mis­tee­nu­sed – Google, Facebook või X (endine Twitter) – liht­sus­ta­vad re­gist­ree­ri­mist ja sis­se­lo­gi­mist, samas kui NoSQL and­me­baasid toetavad paind­likke profiili- ja feed-struk­tuure.

Soo­vi­ta­ta­vad la­hen­dused Firebase’i al­ter­na­tiivi­dena

Firebase pakub laia valikut funkt­sioone ja palju eeliseid, kuid sellel on ka mõned puudused. Sõltuvalt projekti nõuetest ja hos­tin­gu­kesk­kon­nast võib ideaalne valik olla mõni teine lahendus. Kõige levinumad al­ter­na­tiivid on järgmised:

  • MongoDB: ho­ri­son­taalne ska­lee­ri­ta­vus tagab paind­lik­kuse
  • MariaDB: ideaalne and­me­ma­hu­kate ra­ken­duste jaoks
  • DynamoDB: Amazon poolt täie­li­kult hallatav andmebaas
  • Couchbase: do­ku­men­di­põ­hine, mä­lu­si­se­ses vahemälus ja sujuvalt ska­lee­ri­tav
  • MySQL: tun­nus­ta­tud re­lat­sioo­ni­line and­me­ba­asi haldamise süsteem, mis on väga ka­su­ta­ja­sõb­ra­lik
  • Apache Cassandra: Op­ti­maalne suurte and­me­mah­tude jaoks
Go to Main Menu