SlideShare una empresa de Scribd logo
1 de 180
Descargar para leer sin conexión
About me
• 15+ years in software
engineering
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
• 5 years in FinTech
(RBC, HSBC, Berenberg, Rabo)
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
• 5 years in FinTech
(RBC, HSBC, Berenberg, Rabo)
• ACM - semi
fi
nalist
About me
Scope
Serverless…
Scope
Serverless…
• Authentication
Scope
Serverless…
• Authentication
• Database and data storages
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
• Machine Learning
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
• Machine Learning
• and more
Why Serverless Backend?
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
• Resource-intensive
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
• Resource-intensive
• High costs
Advantages of Serverless Backend Solutions
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
• Easy scalability
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
• Easy scalability
• Low maintenance
Ideal for
Ideal for
• Early-stage startups with dynamic products
Ideal for
• Early-stage startups with dynamic products
• Solo developers working on hobby projects
Ideal for
• Early-stage startups with dynamic products
• Solo developers working on hobby projects
• Mature teams working on proofs of concept
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
What is Firebase?
• A comprehensive app
development platform by Google
What is Firebase?
• A comprehensive app
development platform by Google
• Provides serverless backend
infrastructure
What is Firebase?
• A comprehensive app
development platform by Google
• Provides serverless backend
infrastructure
• O
ff
ers a suite of tools and
services for app development
What is Firebase?
Key Firebase Features
Key Firebase Features
Firebase Authentication
Key Firebase Features
Firebase Authentication
Realtime Database
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Firebase ML
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Firebase ML
and more…
Benefits of Using Firebase
Benefits of Using Firebase
• Simpli
fi
es backend development
Benefits of Using Firebase
• Simpli
fi
es backend development
• Speeds up app development and deployment
Benefits of Using Firebase
• Simpli
fi
es backend development
• Speeds up app development and deployment
• Easily integrates with popular frontend frameworks
Secure User Authentication
Firebase Authentication
Overview
Firebase Authentication
• A comprehensive authentication
solution
Overview
Firebase Authentication
• A comprehensive authentication
solution
• Supports multiple authentication
providers (e.g., email/password,
Google, Facebook, Twitter, etc.)
Overview
Firebase Authentication
• A comprehensive authentication
solution
• Supports multiple authentication
providers (e.g., email/password,
Google, Facebook, Twitter, etc.)
• Simpli
fi
es user management and
security
Overview
Setting Up Firebase Authentication
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
• built custom or use open source UI
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
• built custom or use open source UI
• Framework utility libraries like https://github.com/angular/angular
fi
re
What happens when user sign-in
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
• … so we can focus on your users and not the sign-in infrastructure.
Best Practices for Secure Authentication
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
• Implement multi-factor authentication (MFA) where possible
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
• Implement multi-factor authentication (MFA) where possible
• Regularly monitor and review user access logs
Choosing the Right Database
Realtime Database vs Firestore
Firebase
• A NoSQL, cloud-hosted database
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
• Realtime data synchronization
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
• Realtime data synchronization
• JSON data storage
Realtime Database
• A NoSQL, cloud-hosted database
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
• Complex data structures
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
• Complex data structures
• Apps with multiple sub-collections
Firestore
Implementation in Angular
Step 1: Firebase SDK integration
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
• Add Firebase con
fi
g to environments variables
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
• Add Firebase con
fi
g to environments variables
• Con
fi
gure @NgModule for the AngularFireModule
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
• De
fi
ne data models in your Angular app to represent your data structure
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
• De
fi
ne data models in your Angular app to represent your data structure
• Create services to handle database operations (e.g., create, read, update,
delete)
Data Operations
Realtime Database
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
• Update data: this.db.object('/path/to/data').update(updatedData)
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
• Update data: this.db.object('/path/to/data').update(updatedData)
• Delete data: this.db.object('/path/to/data').remove()
Data Operations
Firestore
Data Operations
Firestore
• Import and inject AngularFirestore in your service
Data Operations
Firestore
• Import and inject AngularFirestore in your service
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
• Update data: this.afs.doc('/path/to/data').update(updatedData)
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
• Update data: this.afs.doc('/path/to/data').update(updatedData)
• Delete data: this.afs.doc('/path/to/data').delete()
Extend with Cloud Functions
What are Cloud Functions?
What are Cloud Functions?
• Serverless, event-driven functions
What are Cloud Functions?
• Serverless, event-driven functions
• Supports Node.js, Python, and Go
What are Cloud Functions?
• Serverless, event-driven functions
• Supports Node.js, Python, and Go
• Automatically scales with your app's usage
Benefits and Use Cases
Benefits and Use Cases
• Execute custom server-side logic without managing servers
Benefits and Use Cases
• Execute custom server-side logic without managing servers
• Perform data validation, data transformation, or data aggregation
Benefits and Use Cases
• Execute custom server-side logic without managing servers
• Perform data validation, data transformation, or data aggregation
• Respond to events from Firebase services (e.g., Firestore, Realtime Database,
Authentication)
Setting Up & Deploying
Cloud Functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
• Deploy Functions firebase deploy --only functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
• Deploy Functions firebase deploy --only functions
• Monitor Functions
Calling Cloud Functions
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
• Initialize Firebase with your project con
fi
guration
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
• Initialize Firebase with your project con
fi
guration
• Call Functions:
Use firebase.functions().httpsCallable('functionName') to create a
reference to the function, and call it with the call() method
Example in Node.js:
and calling it from Angular
Example in Node.js:
and calling it from Angular
const functions = require('firebase-functions');
exports.myFunction = functions.https.onCall((data, context) => {
// function body
});
Example in Node.js:
and calling it from Angular
const functions = require('firebase-functions');
exports.myFunction = functions.https.onCall((data, context) => {
// function body
});
import { AngularFireFunctions } from '@angular/fire/functions';
// ...
constructor(private fns: AngularFireFunctions) {}
// ...
const callable = this.fns.httpsCallable('myFunction');
callable({ /* data */ }).toPromise().then(console.log);
Exploring Additional Firebase
Capabilities
Firebase Extensions
Firebase Extensions
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Bene
fi
ts
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
• Pre-trained models for common
ML tasks
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
• Pre-trained models for common
ML tasks
• Custom model deployment and
hosting
Firebase ML
for Common ML Tasks
Pre-built APIs
for Common ML Tasks
• Image Labelling
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
• Barcode Scanning
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
• Barcode Scanning
• Landmark Recognition
Pre-built APIs
… Deployment and Hosting
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
• App downloads custom model
from Firebase and uses it
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
• App downloads custom model
from Firebase and uses it
• Hosts and serves custom
models
Custom Model …
Other Firebase Features
Other Firebase Features
• Storage
Other Firebase Features
• Storage
• Analytics
Other Firebase Features
• Storage
• Analytics
• Hosting
Other Firebase Features
• Storage
• Analytics
• Hosting
• Remote Con
fi
g
Other Firebase Features
• Storage
• Analytics
• Hosting
• Remote Con
fi
g
• … and many more
Working with React, VueJS, and more
or cross-framework compatibility
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
• VueJS: vue
fi
re, vuex
fi
re
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
• VueJS: vue
fi
re, vuex
fi
re
• General resources: Firebase documentation, community examples, tutorials
Conclusion
Key Points
Key Points
• Firebase simpli
fi
es serverless backend development
Key Points
• Firebase simpli
fi
es serverless backend development
• Provides a suite of tools and services, such as Authentication, Realtime
Database, Firestore, Cloud Functions, and Firebase ML
Key Points
• Firebase simpli
fi
es serverless backend development
• Provides a suite of tools and services, such as Authentication, Realtime
Database, Firestore, Cloud Functions, and Firebase ML
• Compatible with popular frontend frameworks like Angular, React, and VueJS
What next
What next
• Leverage Firebase to build scalable, cost-e
ff
ective backend solutions for your
mobile or web apps
What next
• Leverage Firebase to build scalable, cost-e
ff
ective backend solutions for your
mobile or web apps
• Experiment with di
ff
erent Firebase features to
fi
nd the best combination for
your projects
Q&A
Thanks!

Más contenido relacionado

Similar a Workshop "Building Modern Web Applications with Firebase (and Angular)", Arman Murzabulatov

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Vadym Kazulkin
 
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...DevSecCon
 
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant BeniwalAgile Testing Alliance
 
IOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserIOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserAmazon Web Services
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Amazon Web Services
 
Global Azure Bootcamp Montreal 2017
Global Azure Bootcamp Montreal 2017Global Azure Bootcamp Montreal 2017
Global Azure Bootcamp Montreal 2017Guy Barrette
 
IOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserIOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserAmazon Web Services
 
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017Amazon Web Services
 
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasDotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasPlain Concepts
 
Firebase in action 2021
Firebase in action 2021Firebase in action 2021
Firebase in action 2021NhanNguyen534
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Amazon Web Services
 
CI/CD Pipelines for Your Infrastructure...as Code!
CI/CD Pipelines for Your Infrastructure...as Code!CI/CD Pipelines for Your Infrastructure...as Code!
CI/CD Pipelines for Your Infrastructure...as Code!Harvey Bendaña
 

Similar a Workshop "Building Modern Web Applications with Firebase (and Angular)", Arman Murzabulatov (20)

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
 
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
 
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
 
IOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserIOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink Dispenser
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
 
Global Azure Bootcamp Montreal 2017
Global Azure Bootcamp Montreal 2017Global Azure Bootcamp Montreal 2017
Global Azure Bootcamp Montreal 2017
 
IOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink DispenserIOT328_Building an AWS IoT-Enabled Drink Dispenser
IOT328_Building an AWS IoT-Enabled Drink Dispenser
 
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017
Building an AWS IoT-Enabled Drink Dispenser - IOT328 - re:Invent 2017
 
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasDotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
 
Firebase in action 2021
Firebase in action 2021Firebase in action 2021
Firebase in action 2021
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Fire up your mobile app!
Fire up your mobile app!Fire up your mobile app!
Fire up your mobile app!
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013
 
CI/CD Pipelines for Your Infrastructure...as Code!
CI/CD Pipelines for Your Infrastructure...as Code!CI/CD Pipelines for Your Infrastructure...as Code!
CI/CD Pipelines for Your Infrastructure...as Code!
 

Más de Fwdays

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...Fwdays
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...Fwdays
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...Fwdays
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...Fwdays
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...Fwdays
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...Fwdays
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...Fwdays
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra MyronovaFwdays
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...Fwdays
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...Fwdays
 

Más de Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

Workshop "Building Modern Web Applications with Firebase (and Angular)", Arman Murzabulatov

  • 1.
  • 3. • 15+ years in software engineering About me
  • 4. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS About me
  • 5. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup About me
  • 6. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup • 5 years in FinTech (RBC, HSBC, Berenberg, Rabo) About me
  • 7. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup • 5 years in FinTech (RBC, HSBC, Berenberg, Rabo) • ACM - semi fi nalist About me
  • 11. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud
  • 12. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud • Machine Learning
  • 13. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud • Machine Learning • and more
  • 15. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure
  • 16. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming
  • 17. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming • Resource-intensive
  • 18. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming • Resource-intensive • High costs
  • 19. Advantages of Serverless Backend Solutions
  • 20. Advantages of Serverless Backend Solutions • Cost-e ff ective
  • 21. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development
  • 22. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development • Easy scalability
  • 23. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development • Easy scalability • Low maintenance
  • 25. Ideal for • Early-stage startups with dynamic products
  • 26. Ideal for • Early-stage startups with dynamic products • Solo developers working on hobby projects
  • 27. Ideal for • Early-stage startups with dynamic products • Solo developers working on hobby projects • Mature teams working on proofs of concept
  • 35. • A comprehensive app development platform by Google What is Firebase?
  • 36. • A comprehensive app development platform by Google • Provides serverless backend infrastructure What is Firebase?
  • 37. • A comprehensive app development platform by Google • Provides serverless backend infrastructure • O ff ers a suite of tools and services for app development What is Firebase?
  • 40. Key Firebase Features Firebase Authentication Realtime Database
  • 41. Key Firebase Features Firebase Authentication Realtime Database Firestore
  • 42. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions
  • 43. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions Firebase ML
  • 44. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions Firebase ML and more…
  • 45. Benefits of Using Firebase
  • 46. Benefits of Using Firebase • Simpli fi es backend development
  • 47. Benefits of Using Firebase • Simpli fi es backend development • Speeds up app development and deployment
  • 48. Benefits of Using Firebase • Simpli fi es backend development • Speeds up app development and deployment • Easily integrates with popular frontend frameworks
  • 51. Firebase Authentication • A comprehensive authentication solution Overview
  • 52. Firebase Authentication • A comprehensive authentication solution • Supports multiple authentication providers (e.g., email/password, Google, Facebook, Twitter, etc.) Overview
  • 53. Firebase Authentication • A comprehensive authentication solution • Supports multiple authentication providers (e.g., email/password, Google, Facebook, Twitter, etc.) • Simpli fi es user management and security Overview
  • 54. Setting Up Firebase Authentication
  • 55. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 56. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 57. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 58. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 59. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 60. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 61. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows
  • 62. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
  • 63. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in)
  • 64. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in) • built custom or use open source UI
  • 65. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in) • built custom or use open source UI • Framework utility libraries like https://github.com/angular/angular fi re
  • 66. What happens when user sign-in
  • 67. What happens when user sign-in • Step 1: Information about the user is returned via callbacks.
  • 68. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID
  • 69. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session
  • 70. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session
  • 71. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session • … so we can focus on your users and not the sign-in infrastructure.
  • 72. Best Practices for Secure Authentication
  • 73. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries
  • 74. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries • Implement multi-factor authentication (MFA) where possible
  • 75. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries • Implement multi-factor authentication (MFA) where possible • Regularly monitor and review user access logs
  • 76. Choosing the Right Database
  • 77. Realtime Database vs Firestore
  • 78. Firebase • A NoSQL, cloud-hosted database Realtime Database
  • 79. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection Realtime Database
  • 80. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps Realtime Database
  • 81. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices Realtime Database
  • 82. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps Realtime Database
  • 83. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps • Realtime data synchronization Realtime Database
  • 84. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps • Realtime data synchronization • JSON data storage Realtime Database
  • 85. • A NoSQL, cloud-hosted database Firestore
  • 86. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support Firestore
  • 87. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing Firestore
  • 88. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections Firestore
  • 89. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps Firestore
  • 90. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps • Complex data structures Firestore
  • 91. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps • Complex data structures • Apps with multiple sub-collections Firestore
  • 92. Implementation in Angular Step 1: Firebase SDK integration
  • 93. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re
  • 94. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re • Add Firebase con fi g to environments variables
  • 95. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re • Add Firebase con fi g to environments variables • Con fi gure @NgModule for the AngularFireModule
  • 96. Implementation in Angular Step 2: Setting up and con fi guring databases
  • 97. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console
  • 98. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console • De fi ne data models in your Angular app to represent your data structure
  • 99. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console • De fi ne data models in your Angular app to represent your data structure • Create services to handle database operations (e.g., create, read, update, delete)
  • 101. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service
  • 102. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service
  • 103. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges()
  • 104. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData)
  • 105. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData) • Update data: this.db.object('/path/to/data').update(updatedData)
  • 106. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData) • Update data: this.db.object('/path/to/data').update(updatedData) • Delete data: this.db.object('/path/to/data').remove()
  • 108. Data Operations Firestore • Import and inject AngularFirestore in your service
  • 109. Data Operations Firestore • Import and inject AngularFirestore in your service
  • 110. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges()
  • 111. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData)
  • 112. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData) • Update data: this.afs.doc('/path/to/data').update(updatedData)
  • 113. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData) • Update data: this.afs.doc('/path/to/data').update(updatedData) • Delete data: this.afs.doc('/path/to/data').delete()
  • 114. Extend with Cloud Functions
  • 115. What are Cloud Functions?
  • 116. What are Cloud Functions? • Serverless, event-driven functions
  • 117. What are Cloud Functions? • Serverless, event-driven functions • Supports Node.js, Python, and Go
  • 118. What are Cloud Functions? • Serverless, event-driven functions • Supports Node.js, Python, and Go • Automatically scales with your app's usage
  • 120. Benefits and Use Cases • Execute custom server-side logic without managing servers
  • 121. Benefits and Use Cases • Execute custom server-side logic without managing servers • Perform data validation, data transformation, or data aggregation
  • 122. Benefits and Use Cases • Execute custom server-side logic without managing servers • Perform data validation, data transformation, or data aggregation • Respond to events from Firebase services (e.g., Firestore, Realtime Database, Authentication)
  • 123. Setting Up & Deploying Cloud Functions
  • 124. Setting Up & Deploying Cloud Functions • Install Firebase CLI
  • 125. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions
  • 126. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions
  • 127. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions • Deploy Functions firebase deploy --only functions
  • 128. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions • Deploy Functions firebase deploy --only functions • Monitor Functions
  • 130. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app
  • 131. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app • Initialize Firebase with your project con fi guration
  • 132. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app • Initialize Firebase with your project con fi guration • Call Functions: Use firebase.functions().httpsCallable('functionName') to create a reference to the function, and call it with the call() method
  • 133. Example in Node.js: and calling it from Angular
  • 134. Example in Node.js: and calling it from Angular const functions = require('firebase-functions'); exports.myFunction = functions.https.onCall((data, context) => { // function body });
  • 135. Example in Node.js: and calling it from Angular const functions = require('firebase-functions'); exports.myFunction = functions.https.onCall((data, context) => { // function body }); import { AngularFireFunctions } from '@angular/fire/functions'; // ... constructor(private fns: AngularFireFunctions) {} // ... const callable = this.fns.httpsCallable('myFunction'); callable({ /* data */ }).toPromise().then(console.log);
  • 139. Chatbot with PaLM API Latest extension
  • 140. Chatbot with PaLM API Latest extension
  • 141. Chatbot with PaLM API Latest extension
  • 142. Chatbot with PaLM API Latest extension
  • 143. Chatbot with PaLM API Latest extension
  • 145. Bene fi ts • Leverage Google's machine learning capabilities Firebase ML
  • 146. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs Firebase ML
  • 147. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs • Pre-trained models for common ML tasks Firebase ML
  • 148. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs • Pre-trained models for common ML tasks • Custom model deployment and hosting Firebase ML
  • 149. for Common ML Tasks Pre-built APIs
  • 150. for Common ML Tasks • Image Labelling Pre-built APIs
  • 151. for Common ML Tasks • Image Labelling • Text Recognition Pre-built APIs
  • 152. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking Pre-built APIs
  • 153. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection Pre-built APIs
  • 154. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection • Barcode Scanning Pre-built APIs
  • 155. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection • Barcode Scanning • Landmark Recognition Pre-built APIs
  • 156. … Deployment and Hosting Custom Model …
  • 157. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase Custom Model …
  • 158. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase • App downloads custom model from Firebase and uses it Custom Model …
  • 159. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase • App downloads custom model from Firebase and uses it • Hosts and serves custom models Custom Model …
  • 162. Other Firebase Features • Storage • Analytics
  • 163. Other Firebase Features • Storage • Analytics • Hosting
  • 164. Other Firebase Features • Storage • Analytics • Hosting • Remote Con fi g
  • 165. Other Firebase Features • Storage • Analytics • Hosting • Remote Con fi g • … and many more
  • 166. Working with React, VueJS, and more or cross-framework compatibility
  • 167. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic
  • 168. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks
  • 169. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase
  • 170. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase • VueJS: vue fi re, vuex fi re
  • 171. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase • VueJS: vue fi re, vuex fi re • General resources: Firebase documentation, community examples, tutorials
  • 174. Key Points • Firebase simpli fi es serverless backend development
  • 175. Key Points • Firebase simpli fi es serverless backend development • Provides a suite of tools and services, such as Authentication, Realtime Database, Firestore, Cloud Functions, and Firebase ML
  • 176. Key Points • Firebase simpli fi es serverless backend development • Provides a suite of tools and services, such as Authentication, Realtime Database, Firestore, Cloud Functions, and Firebase ML • Compatible with popular frontend frameworks like Angular, React, and VueJS
  • 178. What next • Leverage Firebase to build scalable, cost-e ff ective backend solutions for your mobile or web apps
  • 179. What next • Leverage Firebase to build scalable, cost-e ff ective backend solutions for your mobile or web apps • Experiment with di ff erent Firebase features to fi nd the best combination for your projects