Opublikowane 13 maja 2017 4 minuty
bookmark_border

Firebase

Nowa i ciekawa technologia od Google, poniekąd zastępująca tradycyjny backend. Czy to rewolucja?

Firebase to platforma do naprawdę szybkiego tworzenia aplikacji. Znacie zasadę DRY (Don't repeat yourself)? Firebase jest właśnie od tego. Pomyślcie, elementy jakie składają się na backend bardzo często się powtarzają. W prawie każdej aplikacji mamy bazę danych, hosting i uwierzytelnianie. Oczywiście napisanie tych systemów nie stanowi problemu dla korporacji, ale mniejsze zespoły powinny zerknąć na to okiem.

Infografika tego co składa się na Firebase

Firebase to nie tylko gotowe funkcjonalności, to również znacznie narzędzia do prowadzenia kampanii reklamowej naszej aplikacji. Zaproszenia, AdWords, analityka --- cały potencjał ekosystemu Google w jednym miejscu.

Firebase może być także wykorzystywany jako narzędzie do developmentu. Test Lab to miejsce gdzie możemy przetestować swoją aplikację na różnych urządzeniach, coś co jest bardzo trudne w przypadku Androida. Dostępny mamy też crash reporting.

Firebase swoje API głównie prowadzi (na maj 2017) dla 5 systemów: Web, skierowany do posiadaczy komputerów, obsługiwany językiem JavaScript, Android, iOS i tych, których jeszcze tak dawno nie było --- C++ i Unity. Brakuje czegoś dla was? Nie szkodzi, społeczność Firebase już zdążyła stworzyć nieoficjalne API dla różnych języków (m.in. Python, Go, C#).

Firebase ma też API serwerowe dla Node.js, Java i Pythona. Pozwala to na pełny dostęp do bazy z zewnętrznej aplikacji, wysyłać wiadomości Firebase Cloud Messaging czy generować swoje tokeny do autoryzacji. Firebase można więc potraktować jako mikroserwis.

Nie wszystko jest takie kolorowe

Firebase nie jest darmowy, to dosyć oczywiste, ale to jaką kontrolę mamy nad tymi wydatkami może budzić obawy. Floodowanie aplikacji wydaje się dużym zagrożeniem, a zablokowanie takiego ruchu wcale może nie być takie łatwe.

Kolejnym problemem jest baza danych jaką udostępnia nam Firebase. Ma ona postać drzewka, takiego JSONa. Ma to kilka plusów jak i minusów. Zaletą jest prostota takiego rozwiązania, ale minusem jest wymóg naprawdę przemyślenia tego jak będziemy składować dane, aby nie pobierać całego drzewka. Reguły zabezpieczające są w koncepcie bardzo proste, ale w rzeczywistości może to sprawiać problem.

EOF

Czy to koniec pisania backendu? Nie, ale to droga do większej ilości innowacyjnych aplikacji, bo właśnie o to chodzi w Firebase, aby jak najszybciej zamienić pomysł w rzeczywisty produkt. Zamiast zaprzątać sobie głowę nudnymi elementami naszej programistycznej układanki warto móc skupić się na prawdziwym problemie. Osobiście polecam sprawdzić!

Bartosz Wiśniewski

Full Stack do wszystkiego (serio). Z programowaniem mam do czynienia już od ponad 5 lat. Zajmowałem się tworzeniem aplikacji mobilnych i gier. Lubię Pythona, Go i JavaScript (ale tą dobrą stronę). Czasem buduję zabawki z Arduino.