Nasleduje muj osobni nazor:
Hlavnim prinosem Firebase je to, ze to v podstate umoznuje pristupovat do databaze primo z klientske aplikace, takze neni nutne vytvaret na serveru vrstvu API a tedy hlavne nejsou potreba backend developeri.
Obecne bych rekl, ze se to hodi spise pro mensi aplikace a tomu take odpovida pouziti. V dusledku se totiz backend kod duplikuje na kazde platforme (iOS, Android, Web).
Pokud nekomu chybely pokrocilejsi query, tak je to naznak, ze meli vice investovat do vyvoje backend API. Nikoliv prijit s novym serverless frameworkem.
Daleko vetsi problem mate jinde. Databaze jsou velmi dobre prave v praci s daty - predevsim v jejich rychlem ziskavani. Jenze to je prevazne jen nepatrna cast toho, co s temi daty chcete delat. Pak mate dve moznosti - cast/celou aplikacni logiku implementovat prostredky databaze, coz je pomerne neohrabane, a s casto velmi tragickym dopadem na vykon. Alternativne muzete veskerou logiku implementovat v klientovi, jenze to prozmenu vede na problemy typu jak zaridit aby nejaka externi aplikace mohla se systemem spolupracovat = volat i jeho nedatabazove casti.
Proto ten aplikacni server, ktery zaridi jednotne prostredi bez ohledu na zpusob komunikace. Sytem muze mit jak desktopoveho klienta, mobilniho klienta, webove rozhrani atd. a to vse vyuziva aplikacni server === konzistentni chovani. Je pak jedno jestli vystaveni faktury spustite z webu nebo z telefonu, vysledek je identicky.
Bohuzel, mnozi vyvojari neco takoveho nedokazi nejen implementovat ale ani pochopit. Pravidelne se setkavam s SW, kde vysledek kazde jedne akce je zavisly na tom, odkud ji zavolate, a to klidne i v ramci jednoho klienta.
Tedy asi ziji v jine dimenzi, ale primy pristup do databaze umoznuje snad kazda existujici databaze. Nevim o zadne pouzivanejsi ktera by to jiz drahne let neumela. Jednoduse mate klienta a databazi = dvouvrstva architektura. Casteji se ale pouziva trivrstva = klient, aplikacni server, databaze. Ma to nekolik dobrych duvodu, at uz vykon, bezpecnost, lepsi spravovatelnost atd.
To je presne to, o cem jsem mluvil. Jakmile toho potrebujete vic, mela by se zacit vytvaret ta vrstva mezi klientem a databazi, tj. backend. Primy pristup do DB samozrejme podporuji vsechny DB (jak jinak by do nich backend pristupoval), ale bezpecnost, tj. vytvareni uzivatelskych uctu a prav pro kazdeho uzivatele je docela slusny bottleneck.
"Hlavnim prinosem Firebase je to, ze to v podstate umoznuje pristupovat do databaze primo z klientske aplikace..."
To je prinos? Nie je to nahodou bad practice? Ci uz z pohlady security alebo z pohladu cistoty kodu. Aj ked v tom druhom pripade nie je problem si vo frontende napisat maly API... ale to uz zase skodi cistote kodu, tak neviem.
>>Pokud nekomu chybely pokrocilejsi query, tak je to naznak, ze meli vice investovat do vyvoje backend API
Jako business requirement to asi nebylo osamocene, resp. za tim asi nejaky prachy byly. Myslim si to, protoze jinak by to asi Google neimplementoval, ne?
Mozna muze byt driverem najaka strategie, ale spis to bude jen o prime poptavce a jejim snadnym nasycenim.