This document provides an introduction and overview of Firebase. It discusses how Firebase is a fully managed platform for building mobile and web apps that provides features like data synchronization, authentication, messaging, storage and analytics. It outlines Firebase's cross-platform capabilities and focus on developer experience. Several core Firebase features are described in more detail, including the realtime database, authentication, storage, hosting, remote config and analytics. Hands-on coding demos are presented using Firebase with Android, IoT devices and the web.
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Introduction to Firebase with Android and Beyond...
1. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Introduction to Firebase
With Android and Beyond…
Kasper Løvborg Jensen
2. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Kasper Løvborg Jensen
Chief Wizard, Founder
Leafcastle Labs
Associate Professor
Aarhus University School of Engineering
Lead / Lab Commander
ORBIT Lab
Organizer
Google Developer Group Aarhus
@KasperLJKasper@LeafcastleLabs.com
4. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Outline
• Introduction
– What is Firebase?
– What can I use it for?
– How do I get started?
• Tech demos/hacks
– Android
– IoT devices
– Web
• Discussion
5. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Firebase
“Firebase is a fully managed platform for
building iOS, Android, and web apps that
provides automatic data synchronization,
authentication services, messaging, file
storage, analytics, and more. Starting with
Firebase is an efficient way to build or
prototype mobile backend services”
https://cloud.google.com/solutions/mobile/mobile-app-backend-services#firebase
15. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Firebase Realtime Database
• Cloud based, NoSQL
• Offline mode
• Synchs in realtime with clients
• Store data/objects as JSON
• Security Rules for security and data
validation
19. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Hosting
• Static web content
• CLI tools for easy setup and deployment
• Free SSL build in
• CDN for global delivery
• Versioning and roll-backs
• Hosted at *.firebaseapp.com
– Can transition to custom domain
24. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Test Lab
• Cloud based test infrastructure for real
devices
• Run test on configuration matrix and get
results: logs, video, screen dumps
• Supports: Espresso, Robotium, …
https://firebase.google.com/docs/test-lab/
30. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Cloud Messaging
• Firebase Cloud Messaging (FCM)
– Formerly known as GCM
• Send Messages
– Notification (for user)
– Data (for app)
https://firebase.google.com/docs/cloud-messaging/
31. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Notifications
• Send notifications to app users
• Fine-grained control
• Integrated with Analytics
Source: Google
36. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Just Firebase
https://cloud.google.com/solutions/mobile/mobile-app-backend-services
37. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Using App Engine
https://cloud.google.com/solutions/mobile/mobile-app-backend-services
38. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Custom Server
(Formerly known as Managed VMs)
https://cloud.google.com/solutions/mobile/mobile-app-backend-services
49. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Firebase on ESP8266/Arduino
• FirebaseArduino library
• ESP8266 Arduino core
• “The Arduino library is under
heavy development,
experimental, unversioned
and its API is not stable”
https://github.com/googlesamples/firebase-arduino
https://github.com/esp8266/Arduino
50. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Setup()!
Based on: https://github.com/googlesamples/firebase-arduino/tree/master/examples/
FirebaseRoom_ESP8266
51. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Loop()!
Based on: https://github.com/googlesamples/firebase-arduino/tree/master/examples/
FirebaseRoom_ESP8266
53. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Web Interface
• Plain old HTML, CSS and JavaScript
• FirebaseJS 3.4.1
• Hosted on Firebase
62. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Getting Started
• Create project (Firebase console)
• Add Android and configure
• Download and add google-services.json
to your Android project
66. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
FirebaseUI
• FirebaseListAdapter
• FirebaseRecyclerViewadapter
• “FirebaseUI plans to add several more
features, including standard auth
controls, pagination/infinite scroll, and
navigation”
https://github.com/firebase/FirebaseUI-Android
69. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Firebase Assistant
• Step by step guide
• Links to Firebase console
– Auto-configure / fill
• Configures Gradle and imports
70. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Where to go from here?
• https://firebase.google.com/
• Firebase developer channel on Youtube
– Google I/O 2016 videos
– DevBytes
• Firebase code labs
– We are doing one right now!
• Join ORBIT Lab / attend GDG Garage
71. Kasper Løvborg Jensen
Leafcastle Labs | Aarhus University
Firebase at Google I/O’16
• Introducing Firebase
https://www.youtube.com/watch?
v=ySmWlU9j3j4
• Firebase Overview
https://www.youtube.com/watch?
v=tb2GZ3Bh4p8
• Firebase SDK for Android
https://www.youtube.com/watch?
v=AJqakuas_6g