Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Firebase & Angular
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ciro Nunes
August 10, 2016
Programming
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firebase & Angular
Demo:
http://github.com/cironunes/quote-of-the-day
Ciro Nunes
August 10, 2016
More Decks by Ciro Nunes
See All by Ciro Nunes
Rust Front-end with Yew
cironunes
0
100
Type safe CSS with Reason
cironunes
0
160
What I've learned building automated docs for Ansarada's design system
cironunes
0
100
Beyond ng new
cironunes
2
250
Animate your Angular apps
cironunes
0
470
Sweet Angular, good forms never felt so good
cironunes
0
120
Sweet Angular, good forms never felt so good
cironunes
0
330
Progressive Angular apps
cironunes
3
960
Angular: Um framework. Mobile & desktop.
cironunes
1
620
Other Decks in Programming
See All in Programming
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
460
Agents on Rails - Rails at Scale 2026
irinanazarova
0
310
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
250
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
230
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
260
カツオ、ご期待ください
suneo3476
0
130
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
460
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.2k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
290
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Bash Introduction
62gerente
615
220k
Navigating Team Friction
lara
192
16k
The Cult of Friendly URLs
andyhume
79
7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Are puppies a ranking factor?
jonoalderson
2
4k
Code Reviewing Like a Champion
maltzj
528
40k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Transcript
None
@cironunesdev CIRO NUNES
None
Create and deploy TODAY WE WILL AN APP using Firebase
& Angular 2
MINUTES ! 60
http://super-quote-of-the-day.firebaseapp.com
None
None
None
None
None
None
None
None
1. Creating the app and uploading images 3. Deploying the
app 2. Exploring the realtime database
CONSOLE
None
STORAGE
None
1. Creating the app and uploading images 3. Deploying the
app 2. Exploring the realtime database
REALTIME DATABASE
None
None
1. Creating the app and uploading images 3. Deploying the
app 2. Exploring the realtime database
CLI
~ $ npm install -g firebase-tools CLI
~ $ npm install -g firebase-tools CLI ~ $ firebase
login
~ $ npm install -g firebase-tools CLI ~ ~ $
firebase init # start a new project
~ $ npm install -g firebase-tools CLI ~ ~ $
firebase init ~ $ firebase deploy
HOSTING
None
2.0-RC6
1. Overview of main features 3. Implementing authentication 2. Integrating
with Firebase
DATA BINDING http://jsbin.com/hayiyuyeve/edit?html,js,output
DATA BINDING http://jsbin.com/hayiyuyeve/edit?html,js,output
DATA BINDING http://jsbin.com/hayiyuyeve/edit?html,js,output
<input type="text" id="message-field"> <h2>Hello, <span id="message-text"></span><h2> DATA BINDING http://jsbin.com/hayiyuyeve/edit?html,js,output
<input type="text" id="message-field"> <h2>Hello, <span id="message-text"></span><h2> var $messageField = document.querySelector('#message-field')
var $messageText = document.querySelector('#message-text') $messageField.value = 'Ciro' $messageText.innerText = 'Ciro' $messageField.addEventListener('keyup', function(e) { $messageText.innerText = e.target.value }, false) DATA BINDING http://jsbin.com/hayiyuyeve/edit?html,js,output
DATA BINDING @Component({ selector: 'my-greeting', template: ` <input type="text" [(ngModel)]="hero.name">
<h2>Hello, {{hero.name}}</h2> `, }) export class Greeting { constructor() { this.hero = { name: 'Ciro' } } } http://plnkr.co/edit/MGnF3Ta5IOPYYAyXjFpl?p=preview
DATA BINDING DEPENDENCY INJECTION DIRECTIVES COMPONENTS ROUTER AHEAD OF TIME
COMPILATION FORMS TESTABILITY {
1. Overview of main features 3. Implementing authentication 2. Integrating
with Firebase
None
None
~ $ npm i -g angular-cli@webpack
~ $ npm i -g angular-cli@webpack ~ $ ng new
quote-day
~ $ npm i -g angular-cli@webpack ~ ~ $ ng
serve
~ $ npm i -g angular-cli@webpack ~ ~ ~ $
ng test
~ $ npm i -g angular-cli@webpack ~ ~ ~ ~
$ ng build --prod
"AngularFire2"
~ $ npm i —-save angularfire2 firebase
import { AngularFireModule } from 'angularfire2';
import { AngularFireModule } from 'angularfire2'; ... @NgModule({ imports: [
AngularFireModule.initializeApp( firebaseConfig, firebaseAuthConfig ) ] })
const firebaseConfig = { apiKey: "...", authDomain: "...", databaseURL: "...",
storageBucket: "..." };
const firebaseConfig = { apiKey: "...", authDomain: "...", databaseURL: "...",
storageBucket: "..." }; const firebaseAuthConfig = { provider: AuthProviders.Facebook, method: AuthMethods.Popup };
quotes: FirebaseListObservable<any>; constructor(private af: AngularFire) { this.quotes = this.af.database() .list('quotes');
}
quotes: FirebaseListObservable<any>; constructor(private af: AngularFire) { this.quotes = this.af.database() .list('quotes');
} <ul> <li *ngFor="let quote of quotes | async"> {{quote.message}} </li> </ul>
1. Overview of main features 3. Implementing authentication 2. Integrating
with Firebase
AUTH
None
user = null; constructor(private af: AngularFire) { this.af.auth .subscribe(user =>
{...}); }
user = null; constructor(private af: AngularFire) { this.af.auth .subscribe(user =>
{...}); } login() { this.af.auth.login(); } logout() { this.af.auth.logout(); }
github.com/cironunes/quote-of-the-day GET THE CODE
DANKE SCHÖN @cironunesdev ✌