Czym jest Google Firebase

Rozpoczynając tworzenie większości aplikacji mobilnych, musimy zastanowić się nad wyborem technologii w jakiej zostanie napisany backend, zaprojektować bazę danych, działanie API itd. Co jeśli moglibyśmy pominąć te wszystkie kroki? Tu właśnie wkracza Google, ze swoim Firebase.

Z backendem w chmurach

Firebase, to tak zwana usługa Backendu (z angielskiego Backend as a Service BaaS). Oferuje ona szereg usług pozwalających twórcom aplikacji implementować podstawowe funkcjonalności natychmiastowo, bez potrzeby tworzenia własnego backendu. Ponadto, większość z usług jest oferowana za darmo!

Korzystanie z tego rozwiązania ma wiele zalet, które sprawi, że praktycznie zerowym nakładem czasu, możemy cieszyć się z pełnej funkcjonalności backendu w naszej aplikacji. Zanim przejdziemy do omówienia najciekawszych z usług oferowanych przez Firebase, przyjrzyjmy się jak zaimplementować BaaS od Googla w naszej aplikacji.

Ogień w aplikacji

Implementacja Firebase jest bardzo prosta, co należy policzyć na wielki plus. Omówimy ją krótko na przykładzie języka Java z frameworkiem Androida. Nie jest to jednak jedyny dostępny język, w którym możemy wykorzystywać funkcjonalności Firebase. W dokumentacji, znajdziemy także poradniki implementacji dla aplikacji napisanych w m.in. Swift, C++, czy Unity. Przejdźmy więc do krótkiego omówienia jak wygląda dodawanie Firebase do naszej aplikacji.

Pierwszym krokiem, który musimy wykonać, jest zarejestrowanie naszej aplikacji w konsoli Firebase, podając ID aplikacji (com.company.appname). Następnie potrzebujemy pobrać wygenerowany plik konfiguracyjny google-services.json i dodać go do projektu. By móc korzystać z odpowiednich bibliotek, musimy również dodać odpowiednie zależności do Gradle i… to tyle! Jesteśmy już w stanie korzystać z usług Firebase. By używać chociażby Google Analitics, wystarczy stworzyć odpowiedni obiekt:

Po wklejeniu tych dwóch linii kodu, Google Analitics będzie automatycznie zbierał informacje o aktywności użytkowników w naszej aplikacji!

Integrację można Firebase, można uprosić do wręcz jednego kliknięcia! Osiągniemy to, korzystając z asystenta Firebase w Android Studio. Przeprowadzi on praktycznie całą implementację za nas.

Jeśli potrzebujecie bardziej precyzyjnych informacji, odsyłam do dokumentacji Firebase dla Androida, którą znajdziecie tutaj.

Budowa aplikacji

Po szybkim omówieniu, jak dodać Firebase do naszej aplikacji, popatrzmy jakie dobrodziejstwa oferuje.

Cloud Firestore

Jest to jedna z najpopularniejszych oraz najważniejszych funkcjonalności Firebase. Cloud Firestore, to baza danych NoSQL, będąca swego rodzaju następcą Realtime Database. Jej struktura oparta jest na kolekcjach i dokumentach. Poniżej znajdziecie przykładowy kod pokazujący w jaki sposób tworzone są kolekcje i dokumenty:

Źródło: https://firebase.google.com/docs/firestore/query-data/get-data

Cloud Firestore to nie tylko baza danych NoSQL, oferuje ona także wiele ciekawych udogodnień: automatyczna synchronizacja danych w chmurze; wsparcie dla lokalnego przechowywania danych, pozwalające aplikacji na działanie w trybie offline; zautomatyzowane skalowanie bazy danych i wiele więcej.

Cloud Storage

Jest to magazyn w chmurze, cechujący się m.in. łatwością w użyciu i zautomatyzowaną kontrolą przesyłania oraz pobierania plików przez sieć – w przypadku zerwania połączenia, przesyłanie zostanie zatrzymane, a po ponownym połączeniu wznowione. Wyróżnia się też wysokim poziomem bezpieczeństwa przechowywanych danych.

Authentication

Firebase, to nie tylko obsługa plików oraz baz danych. Może on także zająć się autentykacją użytkowników, korzystających z Twojej aplikacji. Usługa oferuje kompleksowe rozwiązanie w zakresie identyfikacji tożsamości użytkownika, pozwalając na logowanie się nie tylko przy użyciu klasycznego loginu i hasła, lecz również kont Google, Facebook, Twitter, czy GitHub. Google, jest znane ze swoich rozwiązań w dziedzinie cyber-bezpieczeństwa, tak więc również Firebase wyróżnia się kompleksowymi zabezpieczeniami.

Cloud Functions

Jeśli potrzebujesz serwera, który ma odpowiadać również za logikę twojej aplikacji, Firebase i w tym przypadku Ci pomoże. Cloud Functions uchroni Cię przed potrzebą samodzielnego tworzenia, utrzymywania oraz skalowania własnego backendu. Jedyne co potrzebujesz zrobić, to samodzielnie napisać swoje funkcje w Node.js. Będą one automatycznie uruchamiane przez inne usługi Firebase. Przykładowo, po przesłaniu zdjęcia do Cloud Storage przez użytkownika, możesz przetworzyć je przy użyciu właśnie Cloud Functions. Pozwala to połączyć pozostałe funkcjonalności, według własnych potrzeb.

Cloud Messaging

Usługa ta pozwala na wysyłanie użytkownikom, wiadomości oraz powiadomień na ich urządzenia. Do dyspozycji mamy mechanizmy pozwalające na tworzenie grup docelowych dla wysyłanych powiadomień oraz dostosowanie ich treści.

Jakość aplikacji

Jak wiadomo, nie samym wdrażaniem nowych funkcjonalności programista stoi – bugi to chleb powszedni. Każde narzędzie ułatwiające walkę z nimi, jest zawsze mile widziane. Na tym polu Firebase również dorzuca swoje trzy grosze.

Crashlitics

Pierwszą z usług, która ułatwia dbanie o jakość aplikacji, to Crashlitics. Jest to system pozwalający na śledzenie wszelakich błędów w twojej aplikacji, które występują na urządzeniach użytkowników. Po pierwsze, Crashlitics automatycznie wysyła raporty o błędach w czasie rzeczywistym, dzięki czemu stale jesteśmy na bieżąco z funkcjami aplikacji, które potrzeba poprawić. Ponadto usługa ta pozwala na filtrowanie i kategoryzowanie błędów oraz udostępnia logi błędów z urządzenia, co znacząco ułatwia poznanie przyczyn błędu.

Test Lab

Kolejną ciekawą usługą jest Test Lab. Oferuje on możliwość uruchamiania zautomatyzowanych testów, na fizycznych oraz wirtualnych urządzeniach. Uważam, że dla początkującego developera, jest to jedna z ciekawszych funkcjonalności Firebase. Pozawala ona w prosty sposób wyłapywać błędy, chociażby poprzez uruchamianie tzw. „testu małpy”, w którym program wciska wszystkie możliwe przyciski dostępne w aktywnościach aplikacji i wpisuje w pola tekstowe, podane przez nas dane. Ponadto test ten nie potrzebuje dodatkowego pisania kodu, wystarczy jedynie wrzucić plik apk. Po wykonaniu takiego testu, generowane są raporty o napotkanych błędach wraz z logami oraz tworzone są diagramy aktywności, pokazujące przejścia między aktywnościami. Nie raz pozwoliło mi to, wyłapać błąd o którego istnieniu nie miałem pojęcia.

Rozwój aplikacji

Firebase, to nie tylko ułatwia samo tworzenie aplikacji, lecz również śledzenie aktywności użytkowników. Służy do tego Google Analitics, które pozwala na tworzenie wydarzeń powiązanych z korzystaniem z aplikacji. Firebase jest również zintegrowany z AdMob oraz Google Ads, co pozwala na proste zarządzanie reklamami w aplikacji oraz kampaniami marketingowymi w innych serwisach.

Podsumowanie

Wymienione powyżej usługi, to nie wszystko co ma do zaoferowania Firebase, jest tego znacznie więcej! Ponadto produkt ten jest stale rozwijany, o czym świadczy chociażby zaprezentowany jakiś czas temu ML Kit – Biblioteki do uczenia maszynowego dla aplikacji mobilnych.

Firebase to z pewnością ciekawa usługa, która może przypaść do gustu wielu deweloperom. Nie dość, że pozwala ona uprościć proces produkcyjny aplikacji, to pomaga również w utrzymaniu jakości produktu. Jeśli jesteście gotowi na rozpoczęcie przygody z Firebase, zapraszam was do zapoznania się z dokumentacją i życzę wam przyjemnego tworzenia aplikacji 😊.

Jeżeli chcecie dowiedzieć się więcej o podstawowych narzędziach dla deweloperów, zapraszam Was do poniższego artykułu.

You Might Also Like
Dodaj komentarz