SlideShare a Scribd company logo
Ignite your app
development:
F i r e b a s e + N a t i v e S c r i p t + A n g u l a r 2
J E N L O O P E R
D E V E L O P E R A D V O C AT E , T E L E R I K / P R O G R E S S
@ J E N L O O P E R
Ignite your app development with Angular, NativeScript and Firebase
$whoami
Ph.D. … in Medieval French
Retrained!
Programmer 14 yrs+
ladeezfirstmedia.com, thinglearn.com
Now DevRel@Telerik
I’m a developer & I like mobile apps!
I like NativeScript
NativeScript
F O R M O B I L E A P P S
What is NativeScript?
A runtime for building and running native iOS,
Android, and (soon) Windows Universal apps
with a single, JavaScript code base with or without
using Angular JS.
No cross compilation
!=
Direct access to native APIs
via JS
!=
!=
No DOM
Why NativeScript?
• Skills reuse
• JavaScript and CSS
• Angular2
• Code reuse
• npm modules, 3rd-party iOS and Android libraries
• Easily use native APIs
• No wrappers to access native APIs
• Use native UI elements
• Open source
• Supported in Telerik Platform
• Bridge
JavaScript Virtual Machine
NativeScript Android example
output:
JavaScript
NativeScript iOS example
JavaScript
Ignite your app development with Angular, NativeScript and Firebase
Runs on V8 JavaScript VM
Runs on JavaScriptCore VM
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and Firebase
NativeScript modules
Code Modules Platform API
2016
Ignite your app development with Angular, NativeScript and Firebase
Example: NativeScript file module
Putting it all together
Style with CSS
Define UI with XML Logic with JavaScript
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and Firebase
Two ways to use NativeScript
1)
2)
Command Line Interface (CLI)
• Use Command Prompt (Win) or
Terminal (Mac, Linux)
• Free, Part of open source project
• Requires installation, local environment setup to
build for iOS/Android (requires Mac for iOS)
• Integrates with Visual Studio Code (via plugin)
WHY: More control, Free, Integrate with
existing IDEs/code editors
WHO: More technical developers used to
using CLI, Open source developers
Telerik Platform
• Use AppBuilder or Screen Builder
• Subscription required
• Build in the cloud (no local install
required)
• Easiest way to get started
• Full support for {N}
WHY: Richer tooling, Easier setup,
Platform integrated
WHO: Less technical developers, Prefer
Platform integrations, Windows
developers targeting iOS
Two ways to write NativeScript
1)
2)
Standard JS + CSS + XML
Angular 2
Angular 2
A R C H I T E C T U R E / F R A M E W O R K
Ignite your app development with Angular, NativeScript and Firebase
Mix Well
Ignite your app development with Angular, NativeScript and Firebase
Tobias
Bosch
Hristo
Deshev
Why NativeScript + Angular 2?
• Angular 1 = a technology that relies on browser tech to
manipulate the DOM.
• NativeScript has no DOM to manipulate
• Angular 2 decoupled the Angular framework from the
DOM
• The door is open to new mobile-friendly tech to
leverage this newly decoupled framework!!
A standard {N} app snippet
<!-- main.xml -->
<page>
<StackLayout>
<Button text= "Hello World" tap= "showAlert" />
</StackLayout>
</page>
/* main.js */
var dialogs = require("ui/dialogs");
exports.showAlert = function() {
dialogs.alert({ message: "NativeScript rocks!" });
};
Same functionality, {N} + ng2
// main.ts
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {Component, View} from "angular2/angular2";
import {dialogs} from "ui/dialogs";
@Component({})
@View({
directives: [],
template: `
<stack-layout>
<button
(tap)="showAlert()"
text="Hello World"></button>
</stack-layout>
`
})
class HelloPage {
showAlert() {
dialogs.alert({ message: "NativeScript rocks!" });
}
}
export function loaded() {
nativeScriptBootstrap(HelloPage, []);
}
The big picture
XMLHttpRequest
<NS Module>
Native
iOS call
Native
Android call
iOS App Android App
The bigger picture ({N}+NG2)
HTTP
<Angular Component>
XMLHttpRequest
<NS Module>
Native
iOS call
Native
Android call
Ajax call
iOS App Android App Web App
XMLHttpRequest
<Browser>
Android iOS
Web
Angular 2 advanced seed
• http://bit.ly/nativescript-angular-seed
One syntax for all
Attribute Binding: [attribute]
Event Binding: (event)
Intercepting input: #idhandler
Conditions: *ng-if="expression"
Loops: *ng-for="expression"
Styling: [class.myStyle]="expression"
The difference is in the UI
Web UI !=
Mobile UI
Native Layouts
Absolute Dock Grid Stack Wrap
Firebase
B A C K E N D
ZOMG Firebase!
Firebase at Google.io
What’s new with Firebase?
Announcements from Google.io: Firebase 3.0
• Firebase analytics
• Google Cloud Messaging is becoming Firebase Cloud
Messaging (push notification service)
• AdMob integration
• Remote Storage
• Hot push! Firebase Remote Config
• (as always) Firebase realtime database
• Firebase hosting
• Firebase authentication (social logins)
Firebase for mobile apps
Firebase at Google.io
Firebase + Nativescript
Quick demo…
Twitter freaks out
Firebase + NativeScript
Let’s build!
You need a plugin from this guy
Can we talk?
@jenlooper
http://www.ladeezfirstmedia.com
Telerik DevRel @progressSW
jen.looper@progress.com

More Related Content

Similar to Ignite your app development with Angular, NativeScript and Firebase (20)

PDF
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
PPTX
Nativescript
Software Infrastructure
 
PDF
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
DevClub_lv
 
PPTX
Electron - cross platform desktop applications made easy
Ulrich Krause
 
PPTX
React Native
Heber Silva
 
PDF
Cross Platform Mobile App Development
Annmarie Lanesey
 
PPTX
Mobile Application and Developments.pptx
GevitaChinnaiah
 
PPT
Cross-platform mobile dev with Mono
Craig Dunn
 
PDF
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Applitools
 
PPTX
Lecture 1 Introduction to React Native.pptx
GevitaChinnaiah
 
PPTX
Build Your First iPhone or Android App with Telerik AppBuilder
Jeffrey T. Fritz
 
PPTX
Developing a Modern Mobile App Strategy
Todd Anglin
 
PDF
Building Cross-Platform Mobile Apps
Troy Miles
 
PPTX
React nativebeginner1
Oswald Campesato
 
PDF
iOS Development Survival Guide for the .NET Guy
Nick Landry
 
PPTX
From React to React Native - Things I wish I knew when I started
sparkfabrik
 
PPTX
Cross-Platform Development using Angulr JS in Visual Studio
Mizanur Sarker
 
PPTX
What's new in Visual Studio for Mac for .NET Developers
Jon Galloway
 
PPTX
Basic iOS Training with SWIFT - Part 1
Manoj Ellappan
 
PDF
Introducing J2ME Polish
Adam Cohen-Rose
 
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
DevClub_lv
 
Electron - cross platform desktop applications made easy
Ulrich Krause
 
React Native
Heber Silva
 
Cross Platform Mobile App Development
Annmarie Lanesey
 
Mobile Application and Developments.pptx
GevitaChinnaiah
 
Cross-platform mobile dev with Mono
Craig Dunn
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Applitools
 
Lecture 1 Introduction to React Native.pptx
GevitaChinnaiah
 
Build Your First iPhone or Android App with Telerik AppBuilder
Jeffrey T. Fritz
 
Developing a Modern Mobile App Strategy
Todd Anglin
 
Building Cross-Platform Mobile Apps
Troy Miles
 
React nativebeginner1
Oswald Campesato
 
iOS Development Survival Guide for the .NET Guy
Nick Landry
 
From React to React Native - Things I wish I knew when I started
sparkfabrik
 
Cross-Platform Development using Angulr JS in Visual Studio
Mizanur Sarker
 
What's new in Visual Studio for Mac for .NET Developers
Jon Galloway
 
Basic iOS Training with SWIFT - Part 1
Manoj Ellappan
 
Introducing J2ME Polish
Adam Cohen-Rose
 

More from Jen Looper (19)

PPTX
The Last Saree: AI and Material Culture
Jen Looper
 
PPTX
Computer Science for Kids: A Storytelling Approach
Jen Looper
 
PPTX
Staying Fresh and Avoiding Burnout
Jen Looper
 
PPTX
Game On With NativeScript
Jen Looper
 
PPTX
Sharing Code between Web and Mobile Apps
Jen Looper
 
PDF
Beacons, Plants, Boxes
Jen Looper
 
PPTX
Hackathon Slides
Jen Looper
 
PPTX
Using Beacons in a Mobile App - IoT Nearables
Jen Looper
 
PPT
Swipe Left for NativeScript
Jen Looper
 
PPTX
Crafting an Adventure: The Azure Maya Mystery
Jen Looper
 
PPTX
Re-Building a Tech Community - Post Pandemic!
Jen Looper
 
PPTX
Building a Tech Community in Ten Easy Steps
Jen Looper
 
PPTX
Becoming a Green Developer
Jen Looper
 
PPTX
Azure Static Web Apps
Jen Looper
 
PPTX
Creating a Great Workshop
Jen Looper
 
PPTX
The Ethics of Generative AI: A Humanist's Guide
Jen Looper
 
PPTX
Zero to Hipster with the M.I.K.E. Stack
Jen Looper
 
PPTX
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Jen Looper
 
PPTX
Telerik AppBuilder Presentation for TelerikNEXT Conference
Jen Looper
 
The Last Saree: AI and Material Culture
Jen Looper
 
Computer Science for Kids: A Storytelling Approach
Jen Looper
 
Staying Fresh and Avoiding Burnout
Jen Looper
 
Game On With NativeScript
Jen Looper
 
Sharing Code between Web and Mobile Apps
Jen Looper
 
Beacons, Plants, Boxes
Jen Looper
 
Hackathon Slides
Jen Looper
 
Using Beacons in a Mobile App - IoT Nearables
Jen Looper
 
Swipe Left for NativeScript
Jen Looper
 
Crafting an Adventure: The Azure Maya Mystery
Jen Looper
 
Re-Building a Tech Community - Post Pandemic!
Jen Looper
 
Building a Tech Community in Ten Easy Steps
Jen Looper
 
Becoming a Green Developer
Jen Looper
 
Azure Static Web Apps
Jen Looper
 
Creating a Great Workshop
Jen Looper
 
The Ethics of Generative AI: A Humanist's Guide
Jen Looper
 
Zero to Hipster with the M.I.K.E. Stack
Jen Looper
 
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Jen Looper
 
Telerik AppBuilder Presentation for TelerikNEXT Conference
Jen Looper
 
Ad

Recently uploaded (20)

PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PPTX
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPT
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
PPTX
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PPTX
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
Day2 B2 Best.pptx
helenjenefa1
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
Ad

Ignite your app development with Angular, NativeScript and Firebase