This presentation was given at the Mar 11, 2014 AngularJS meetup talk at Google. The talk covered the DreamFactory open source REST API platform, Angular's built-in services for making API calls, and a new open source Angular module called angular-dreamfactory for consuming REST APIs for SQL, NoSQL, BLOB storage, and remote web services.
3. 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
11. But What About the Server?
SQL, NoSQL,
PaaS
REST Services
HTML5 / Native App
Devices
JSON
?
12. We Make Enterprise Apps
Less Code
Flexible Deployment
Mobile Architecture
Existing Data
User Management
Our Wish List…
13. 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
14. 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
20. 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
23. 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
24. Server Calls with Angular
$http – wraps XMLHttpRequest object
$resource – supports RESTful data model
Restangular – service to handle RESTful
resources easily
25. 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
30. 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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