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

PPTX
Angular 2 and NativeScript
PPTX
NativeScript and Angular
PDF
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
PDF
NativeScript 環境のインストールとはじめてのプロジェクト実行
PPTX
Nativescript with angular 2
PDF
Code Once; Run Everywhere - A Beginner’s Journey with React Native
PPTX
NCDevCon 2017 - Cross Platform Mobile Apps
PPTX
The Javascript Ecosystem
Angular 2 and NativeScript
NativeScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript 環境のインストールとはじめてのプロジェクト実行
Nativescript with angular 2
Code Once; Run Everywhere - A Beginner’s Journey with React Native
NCDevCon 2017 - Cross Platform Mobile Apps
The Javascript Ecosystem

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

PDF
Flutter vs Java Graphical User Interface Frameworks - text
PPTX
PDF
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
PPTX
Electron - cross platform desktop applications made easy
PPTX
React Native
PDF
Cross Platform Mobile App Development
PPTX
Mobile Application and Developments.pptx
PPT
Cross-platform mobile dev with Mono
PDF
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
PPTX
Lecture 1 Introduction to React Native.pptx
PPTX
Build Your First iPhone or Android App with Telerik AppBuilder
PPTX
Developing a Modern Mobile App Strategy
PDF
Building Cross-Platform Mobile Apps
PPTX
React nativebeginner1
PDF
iOS Development Survival Guide for the .NET Guy
PPTX
From React to React Native - Things I wish I knew when I started
PPTX
Cross-Platform Development using Angulr JS in Visual Studio
PPTX
What's new in Visual Studio for Mac for .NET Developers
PPTX
Basic iOS Training with SWIFT - Part 1
PDF
Introducing J2ME Polish
Flutter vs Java Graphical User Interface Frameworks - text
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Electron - cross platform desktop applications made easy
React Native
Cross Platform Mobile App Development
Mobile Application and Developments.pptx
Cross-platform mobile dev with Mono
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Lecture 1 Introduction to React Native.pptx
Build Your First iPhone or Android App with Telerik AppBuilder
Developing a Modern Mobile App Strategy
Building Cross-Platform Mobile Apps
React nativebeginner1
iOS Development Survival Guide for the .NET Guy
From React to React Native - Things I wish I knew when I started
Cross-Platform Development using Angulr JS in Visual Studio
What's new in Visual Studio for Mac for .NET Developers
Basic iOS Training with SWIFT - Part 1
Introducing J2ME Polish
Ad

More from Jen Looper (19)

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

Recently uploaded (20)

PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPT
Project quality management in manufacturing
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Well-logging-methods_new................
PDF
Digital Logic Computer Design lecture notes
PPTX
Construction Project Organization Group 2.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Welding lecture in detail for understanding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
OOP with Java - Java Introduction (Basics)
Embodied AI: Ushering in the Next Era of Intelligent Systems
Project quality management in manufacturing
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Lecture Notes Electrical Wiring System Components
Operating System & Kernel Study Guide-1 - converted.pdf
UNIT 4 Total Quality Management .pptx
Mechanical Engineering MATERIALS Selection
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Well-logging-methods_new................
Digital Logic Computer Design lecture notes
Construction Project Organization Group 2.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CYBER-CRIMES AND SECURITY A guide to understanding
Welding lecture in detail for understanding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
bas. eng. economics group 4 presentation 1.pptx
OOP with Java - Java Introduction (Basics)

Ignite your app development with Angular, NativeScript and Firebase