SlideShare a Scribd company logo
1 of 32
Download to read offline
Ben Busse
benbusse@dreamfactory.com
Angular + REST Made
Simple
Agenda
Why REST Services?
Angular + REST
angular-dreamfactory demo
Your Correspondent
Technology evangelist at
dreamfactory
We use Angular a lot (web and
mobile)
Engineering manager mobile gaming
Product manager enterprise SaaS
Decade working with REST services
K. Chiu
The Evolution of Apps
Web Apps – Click, Get a Page
SQL
App Server
Web App
Browser
HTML
ClientServer
HTML Contains Everything
Graphics
Layout
Scripting
Text
Data
iPhone Ships in 2007
Mobile Era Begins
Thick Client Apps
SQL, NoSQL,
PaaS
REST Services
HTML5 / Native
Devices
JSON
ClientServer
From HTML to JSON
95% Size
Reduction
{
"employees": [
{"name":"John"},
{"name":"Anna"},
{"name":"Peter"}
]
}
CSS / Sass
AngularUI
Bootstrap
Foundation
Ionic
Javascript
Angular
Backbone
Ember
jQuery
Knockout
Sencha
Rapid Innovation on the Client
But What About the Server?
SQL, NoSQL,
PaaS
REST Services
HTML5 / Native App
Devices
JSON
?
We Make Enterprise Apps
Less Code
Flexible Deployment
Mobile Architecture
Existing Data
User Management
Our Wish List…
We Wanted
Less Code REST APIs Provided
Flexible Deployment
Open Source, Install
Anywhere
Mobile Architecture REST & JSON
Existing Data SQL, NoSQL, BLOB, Remote
User Management Roles, Auth, Access Control
It Didn’t Exist
State of the Art…
1) Build REST APIs By Hand
2) Build Security By Hand
3) Build User Management By Hand
Repeat for every new project
We Open Sourced
DreamFactory Services Platform
(DSP)
Native Mobile
SQL
MySQL, Postgres, SQL
Server, Oracle, DB2
Automatically
Provides REST API
Hook Up Any
Backend System
NoSQL
MongoDB, CouchDB,
DynamoDB, Azure
Tables
Files
S3, Rackspace, OpenSta
ck,
Azure, Local
DSP
HTML5 & JS
Free & Open Source
• Apache License
• Hosted
• Cloud
• On Premises
Unified REST API
Developer
Single interface
Security model
User permissions
DSP Files
NoSQL
SQL
REST + JSON
External
Integration
Simple Development Paradigm
Service
Platform
Client Side
REST JSON
Less Code, More Consistency
Before
BackendTeamFronendTeam
Install
DSP
Design
UI
Build &
Test
App
Deliver
Configure
Server &
Software
Design
REST APIs
Build
REST APIs
Design
UI
Build &
Test App
Test REST
APIs
Deliver
Now
Bitnami Installers
http://bitnami.com/stack/dreamfact
ory
Free Hosted DSP
www.dreamfactory.co
m
Anatomy of an Angular App
Module
Config
Routes
View
Directives
Controller
Factory
Service
Provider
Value
$scope
• Keep Data for Lifetime of App
(Singleton)
• Created as Needed (Lazy Loaded)
• Share Data Across Controllers
• Built-In Services / Write Your Own
Server Calls with Angular
$http – wraps XMLHttpRequest object
$resource – supports RESTful data model
Restangular – service to handle RESTful
resources easily
angular-dreamfactory
Open source Angular module
Dynamically generated when app loads
Integrates your app with DSP REST services
Built on $http service (no $scope.apply
required)
Add a REST service to DSP and instantly
available
DreamFactory.api.service.method
Nice Angular Examples
egghead.io
ng-newsletter.com
The AngularJS Magazine
AngularJS-Learning
Good Book
$scope
Two-way data binding
-----------------------------
Services
CORS
Authentication
Routing
Promises
Demo Time!
Demo Recap
angular-dreamfactory tutorial
http://blog.dreamfactory.com/tutorial-angular-
and-rest-made-simple
$resource tutorial
http://www.dreamfactory.com/angularjs-example
New DSP Features
Server-side events and JS scripting
RAML support
Record CRUD security (by user and role)
LDAP / Active Directory / SAML
Multi-tenant VM
Resources
Tutorial
http://blog.dreamfactory.com/tutorial-angular-and-rest-made-simple
Trivia App code
https://github.com/dreamfactorysoftware/trivia_app
angular-dreamfactory library
https://github.com/dreamfactorysoftware/angular-dreamfactory
Cordova mobile app
https://github.com/dreamfactorysoftware/mobile-dreamfactory-app
Developer resources
http://www.dreamfactory.com/developers
Cloud Academy quizzes
https://cloudacademy.com/dreamfactory
Thank You!
QUESTIONS
benbusse@dreamfactory.com
@benbusse

More Related Content

Recently uploaded

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 

Recently uploaded (20)

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 

AngularJS and REST Made Simple

Editor's Notes

  1. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  2. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  3. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  4. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  5. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  6. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  7. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  8. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  9. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  10. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  11. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  12. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  13. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  14. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  15. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  16. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps
  17. Standards-based service palettePre-built and portableInstalls on any cloud or enterprise datacenter under open source Apache licenseEnables enterprises to quickly deploy secure mobile applications using their own infrastructureAbstracts back-end complexity so small teams of client developers can build mobile apps