2. Kako to izgleda bez Firebase?
Kompleksna arhitektura za manji projekat
- Kreiranje relacione baze
- Pisanje SQL
- Kreiranje REST servisa u Spring, .NET,
- Pisanje gomile slicnog koda za obicne operacije
dodavanje, menjanje, brisanje i citanje iz baze
- Deploy na server svega toga
- Plaćanje servera
3. Sve na jednom mestu
- skup alata za izgradnju,
poboljšanje i razvoj vaše
aplikacije
- kreiran od strane Google-a
- njegove alate koriste mnogi
startapi, ali i veći projekti
Šta je Firebase?
4. - Lako prijavljivanje i registracija
- Čuvanje slika jaja i šablona
- Baza podataka sa obaveštavanjem u realnom
vremenu
- Analitika i crashevi
- Deljenje linkova između korisnika
- Troškovi samo 3$ i lako skaliranje na veći broj
korisnika
Šta to može da se napravi?
20 hiljada korisnika za 12 dana.
5. Ovo je grupa alata u kojoj ćemo pričati kako možete u
potpunosti da zamenite sve što vam je potrebno sa
backend strane
Build alati
Razvoj backend infrastukture
6. Firebase Authentication
- Standardna registracija preko
imejla i šifre.
- Povezivanje sa već
postojećim nalozima kao što
su google, facebook, apple i
drugi.
- Firebase.auth.currentUser
8. Firestore database
- Fleksibilna, skalabilna i nerelaciona baza podataka
- Offline mode
- Baza se sastoji od kolekcija i dokumenata.
- Kolekciju mozemo da uporedimo sa tabelom u relacionoj bazi.
- U našem slučaju bi to bili podaci o svim jajima.
- Svaka kolekcija u sebi ima dokument, koji zapravo predstavlja jedno jaje.
NoSQL baza podataka
10. Rad nad podacima
FirebaseFirestore.getInstance()
.collection("eggs")
.orderBy("xp", Query.Direction.DESCENDING)
.limit(10)
.whereEqualTo("previousOwner", "")
.whereEqualTo("competing", true)
.get()
.await()
U par linija
Povlačenje 10 najboljih igrača koji nisu izgubili jaje, a žele da se
takmiče
FirebaseFirestore.getInstance()
.collection(Const.COLLECTION_GAMES)
.add(
Game(
host = Player(
egg = egg,
name = fullName,
id = userId
)
)
).await()
Kreiranje nove igre
12. Firebase storage
U njega možemo da čuvamo sve
podatke koji su nam potrebni.
Za Egg Smash smo koristili
Storage kako bismo čuvali slike
jaja, ali i šablone koje smo
ručno dodali kroz konzolu
Čuvanje fajlova
Glide.with(view.context)
.load(FirebaseStorage.getInstance()
.reference
.child(egg.image))
.into(view.iv_egg)
13. Ostali alati za kreiranje
Uz firebase lako možemo da imamo hosting naše web aplikacije tako da ono
što napravite za kratko vreme objavite da bude svima dostupno.
Cloud funkcije možete da koristite tako što ćete u javascript otkucati
endpoint i pozvati endpoint ili podesiti da se on automatski trigeruje svaki
put kada se izmeni određena kolekcija.
Takođe tu su i Machine learning algoritmi koje možete iskoristiti za vašu
ideju.
Hosting, Cloud functions i Machine learning
14. Ovo je grupa alata koja će vam pomoći da šaljete
aplikaciju testerima, pratite potrebe vaših korisnika i
otkrivate rane bagove.
Analitika i monitoring
Poboljšavanje kvaliteta aplikacije
15. App distribution
- Omogućava lako testiranje tako što se na brz način aplikacije šalju
testerima pre objavljivanja na prodavnice.
- Preko mejla ili preko linka sa kojim neko može da postane tester i skine
aplikaciju
- Na lak način mogu da se prate poslate verzije, release notes i grupe
testera
Deljenje aplikacija sa testerima
16. - Svaka aplikacija ima bagove, a vi želite da bude prvi koji će saznati o njima.
- Firebase Crashlytics vam omogućava da odmah vidite sve detalje gde je
pukla aplikacija.
- Dobiješ stacktrace, vreme i koji uređaj
Crashlytics
Praćenje bagova
17. - Uz analitiku imate
mogućnost da pratite
mnoge parametre o
vašoj aplikaciji i tako da
je unapređujete.
- Implementira se
jednostavno, a podaci
su dostupni odmah
Analitika
18. Ovo je grupa alata koja će vam pomoći da dođete do
što više korisnika i da ih zadržite u vašoj aplikaciji.
Rast aplikacije
Prikupiti što više korisnika
19. Push notifikacije (FCM)
Ukoliko želite da korisnicima stižu notifikacije Firebase vam i to dosta
olakšava.
Mi smo to iskoristili tako što korisnik dobije notifikaciju čim ga neko
izazove na borbu, pa protivnik može odmah da se priključi i da odigraju
partiju
Slanje obaveštenja korisnicima
20. Potrebno vam je da se pročuje za vašu
aplikaciju. Ovaj alat vam omogućava da
naprivate linkove koji će moći da odvedu
korisnika da instalira aplikaciju ili ukoliko je
već ima da mu otvori specifičan ekran
unutar vaše aplikacije.
Mi smo to iskoristili tako što napravimo
novu borbu, a protivnik klikom na link
može da se priključi toj borbi.
Firebase Dynamic links
Slanje linkova do aplikacije
21. Kada je standardni pristup bolji?
Kada ideja poraste
Onog momenta kada potvrdite
svoju ideju i želite da proširite
projekat
- Zahteva puno relacija između
entiteta
- Poslovna logika na jednom
mestu
- Skalabilnost poslovne logike
22. Android Chat u 10 koraka - Codelab
Fireship Youtube kanal
Firebase zvanični Youtube kanal
Zvanična uputstva za Firebase
Prvi koraci za Android programiranje
Github - Red Voznje Novi Sad Android i iOS
Sledeći koraci
Tutorijali, dokumentacija, prva aplikacija
23. Hvala na pažnji!
Anja Gašić
linkedin.com/in/gasicanja/
Nikola
Samardžija
linkedin.com/in/nikolasamardzija
5