Firebase – narzędzia Google do tworzenia własnych aplikacji

4 października 2017

W 2014 roku Google kupiło firmę Firebase. Startup oferował dedykowaną platformę do budowania aplikacji mobilnych z wręcz natychmiastową synchronizacją danych pomiędzy użytkownikami.

Rok temu na konferencji programistycznej Google I/O ogłoszono zunifikowaną platformę Firebase, która dostarczy nowe narzędzia oraz większą integrację z istniejącymi już usługami swojej siostrzanej, bardziej dojrzałej platformy – Google Cloud Platform.

Na tę chwilę narzędzia/usługi pozwalają na stworzenie w pełni funkcjonalnej aplikacji bez konieczności tworzenia własnego, często bardzo drogiego backendu. Dzięki automatycznemu skalowaniu zastosowanie znajdziemy w mniejszych aplikacjach, w których wymaganiem będzie zalogowany użytkownik i dostęp do bazy danych czasu rzeczywistego, jak i w dużych aplikacjach ze skomplikowaną logiką przetwarzania danych w chmurze.

Przybliżę najważniejsze usługi z punktu widzenia developera, dzięki którym niewielkim kosztem można stworzyć pełnoprawny produkt.

Realtime Database

Pierwsza usługa, dzięki której Firebase zyskał przychylność programistów i product ownerów na całym świecie. Baza danych czasu rzeczywistego, automatyczna synchronizacja danych z chmurą, możliwość przechowywania danych offline, a przede wszystkim odciążenie programistów z pisania logiki komunikacji z backendem oraz sprawdzania spójności danych.

Cloud Storage

Bardzo prosty w obsłudze (kilka linijek kodu) magazyn, który przechowuje pliki użytkowników do późniejszego wykorzystania w aplikacji.

Cloud Functions

Najnowsza usługa Firebase (faza beta), która dodaje logikę do naszego bezobsługowego backendu. Funkcje reagują na zdarzenia, które są emitowane przez inne usługi Firebase’a np. dodanie nowego wpisu do Realtime Database lub nowy plik w Cloud Storage. Możemy również obsłużyć zewnętrzne zdarzenia poprzez mechanizm tak zwanych webhooków, czyli wysłanie informacji o zdarzeniu z zewnętrznego źródła np. innej aplikacji lub serwisu pod wskazany w Firebase adres URL.

Firebase Authentication

Narzędzie daje nam wspólny interfejs do zarządzania sesją użytkowników. Co prawda nie będziemy w stanie pominąć kroku integracji bibliotek do logowania do serwisów jak Facebook, Google lub Twitter, ale już kolejne etapy, czyli zapisywanie sesji i sprawdzanie jej ważności będą stosunkowo proste i przyjemny w użyciu.

Firebase Analytics

Analityka zachowań użytkowników w aplikacji mobilnej. Od swojego webowego odpowiednika (Google Analytics) różni się przede wszystkim podejściem nastawionym na wydarzenia, a nie wyświetlenia ekranów.

Całkowicie darmowy dla mobilnych rozwiązań.

Cloud Messaging

Jeden z najbardziej angażujących elementów każdej aplikacji mobilnej. Dzięku push notyfikacjom możemy poinformować użytkowników o nowościach w naszym produkcie lub wysłać inne, spersonalizowane powiadomienia.

Co więcej daje Firebase?

Poza wyżej wymienionymi możemy wyróżnić także usługi do raportowania błędów, mierzenia wydajności oraz automatycznego testowania swoich aplikacji na rzeczywistych urządzeniach (tylko Android): Performance Monitoring, Crash Reporting, Test Lab for Android.

To z punktu widzenia programisty. A co z wymienionych przeze mnie funkcji oferuje Firebase nie-developerom?

Przede wszystkim analitykę i dane, czyli dzisiejszy „Święty Graal” dla każdej firmy, która sprzedaje swoje produkty i usługi. Dzięki Firebase Analytics można z dużą dokładnością przyjrzeć się zachowaniom naszych użytkowników o wiele dokładniej niż tylko sprawdzenie z jakiej wersji aplikacji korzystają, demografię czy miejsce zamieszkania. Możemy również sprawdzić tzw. eventy, czyli np. włożenie towaru do koszyka przez danego użytkownika. I to w czasie rzeczywistym! Tę wiedzę z kolei można dalej wykorzystywać do remarketingu.

Druga ważna funkcja to personalizacja notyfikacji push dzięki Cloud Messaging. Nasze wiadomości możemy targetować do różnych grup odbiorców lub kanałów.

Jest jeszcze co najmniej kilka funkcji ważnych z punktu widzenia marketera, jak Remote Config, AdMob, Dynamic Links, Invites, ale to już temat na oddzielny artykuł.

Jak widać, Firebase to bardzo wszechstronne narzędzie. I, jak twierdzą jego twórcy, podobno każdy z nas ma co najmniej jedną aplikację wykorzystującą usługi Firebase na swoim smartfonie – choćby Alibaba, The Economist, The New York Times, czy Shazam. A jeśli weźmiemy pod uwagę również to, że twórcy aplikacji deklarują nie tylko miłość do Androida, ale także do iOS i wprowadzają elementy integrujące te dwa systemy, to na pewno warto testować obecne i obserwować nowe usługi, które Google będzie wprowadzał w ramach Firebase.

Oczywiście pozostaje kwestia kosztów – choć dostępna jest wersja darmowa oraz rozszerzona za ok. 25 dolarów, to i tak w przypadku aplikacji, w których mamy duży ruch lub magazynowane są duże ilości danych, musimy liczyć się z dużo większymi kosztami.

Autor

Paweł Cała – senior android developer w Future Mind – software house projektujacym i tworzącym produkty mobilne, webowe oraz rozwiązania z zakresu Internetu Rzeczy. Paweł zawsze jest na bieżąco ze wszelkimi nowinkami ze świata programownia i technologii, a zdobytą wiedzą chętnie się dzieli. Wolny czas spędza uprawiając sporty ekstremalne.

 

Komentarze:

Comments

comments

Blogi

X