SlideShare a Scribd company logo
Building SPAs with AngularJS
Cezar Carneiro
Front-End Development
Before:
● Very few tools and technologies;
● Limited ability with JavaScript, HTML and CSS;
● Low expectation from JavaScript;
● We used to hate of Internet Explorer;
Now:
● We still hate Internet Explorer;
● Use of JavaScript as main language;
● Infinity of tools and technologies;
Single Page Applications
“Single Page Applications (SPA) are built on
expanding reach via the browser, reducing
round tripping, and enhancing User Experience
(UX) [...] you can build a SPA that supports
robust business applications. Angular,
Durandal, and Ember are three great SPA
presentation frameworks that lead the way in
this area.”
John Papa, Google Dev.
Expert, Microsoft MVPJohn Papa
Single Page Applications - Tiers
Server API HTTP
View
Rendering
Persistency
Models
Routes
Events
Handling
I18n
Front-End
Back-End
● MV-whatever structure on the client.
● Interactions are treated on the page.
● Most of the time the server only serves
the static resources of the application.
● The SPA usually relies on a HTTP
API.
● In some cases the server might pre-
render a view for SEO purposes.
● The API may be hosted on the same
server of the application.
Single Page Applications - Layers
How MVC works in a SPA
Front End Tools
● Organize Dependencies
Package Managers: NPM, Bower;
● Run Tasks
Task Runners: Gulp.js,
Grunt.js;
● Develop
Frameworks: AngularJS,
Backbone, React, Bootstrap,
Foundation, Font-Awesome;
● Debug
Sourcemaps + Browser, Batarang;
● Deploy
Heroku, AWS, DigitalOcean;
➔ Started in 2009;
➔ By Miško Hevery and Adam Abrons, (Brat Tech LLC);
➔ Sponsored by Google;
➔ Open to the community;
➔ Version 1.3.15 (till the date of this presentation);
➔ Very attractive to back-enders;
Proposal
● Web applications properly structured;
● Complete solution, free of dependencies;
● High level of abstraction;
● Declarative approach;
Out There
28/may/2015 07/aug/2014
Google searches:
Contributors:
➔Dependency Injection
➔Data Binding
➔Form Validation
➔{{ Expressions }}
➔Bootstrapping
➔Routing
➔i18n and l10n
AngularJS - Features
Two-way data-binding
➔Unnecessary complexity;
➔Dirty Checking;
➔Full DOM parsing;
➔The Angular Way;
AngularJS - Cons
AngularJS - Components
➔Modules;
➔Controllers;
➔Services;
➔Filters;
➔Directives;
➔Views;
➔Partials;
➔etc
AngularJS 2.0
➔No retrocompatibility;
➔Many concepts were
dropped;
➔New concepts come to
existence;
➔Substantial performance
improvement;
Demo
Yoda Sentence Converter
Input: Active voice sentence;
Output: Same sentence on
the passive voice;
index.html
➔ Instantiation
the main
module of the
app;
➔ Loads static
resources;
➔ Is only the
framing;
Module
➔ Declaration of the module ‘yoda-converter’ (main module);
➔ Requiring the module ‘ngRoute’;
➔ Declaring the routes of the application;
View
➔ Instantiates
the controller
(line 1);
➔ Binding of
the model
(lines 5, 10
and 12);
➔ Click Event
(line 6);
➔ Use of
expressions
(lines 10 and
12);
Controller
➔ Initialization of the model ‘sentence’ (line 5);
➔ Declaration of the click listener (line 10);
➔ Call to the service (line 11);
➔ Updates the model ‘sentence’ (line 13);
Service
➔ Declaration of
the function
‘converting’ (line
4);
➔ Return of a $http
promise (line 5);
➔ Cases of
success and
error of the
promise (lines
15 and 17);
Thanks for watching
github.com/cezar-carneiro
cezargcarneiro@gmail.com

More Related Content

PPTX
Single Page Application (SPA) using AngularJS
PDF
React js vs angularjs
PDF
Rise and Fall of the Frontend Developer
PDF
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
PDF
React vs Angular, who wins the competition?
PPTX
Interoperability of components built with different frameworks
PDF
Single page applications
PDF
Single Page Applications
Single Page Application (SPA) using AngularJS
React js vs angularjs
Rise and Fall of the Frontend Developer
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
React vs Angular, who wins the competition?
Interoperability of components built with different frameworks
Single page applications
Single Page Applications

What's hot (20)

PDF
Anatomy of a Progressive Web App
PPT
Single Page Application presentation
PDF
Developing SPI applications using Grails and AngularJS
PPTX
Latest Javascript MVC & Front End Frameworks 2017
PPTX
React vs angular what to choose for your app
PPTX
Architecture & Workflow of Modern Web Apps
PDF
Ajax World West
PPTX
Single-page applications and Grails
PDF
Why angular?
PDF
Progressive Web Apps – The Future of the Web World
PPTX
What’s new in LightSwitch 2013?
PPTX
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
PDF
Refactoring to a Single Page Application
PPT
Top java script frameworks ppt
PPTX
Website development & it's trends
PDF
Frameworks for Web Development
PDF
ReactJS or Angular
PDF
Jquery react angular
PPTX
Progressive Web Apps
PPTX
Angular overview
Anatomy of a Progressive Web App
Single Page Application presentation
Developing SPI applications using Grails and AngularJS
Latest Javascript MVC & Front End Frameworks 2017
React vs angular what to choose for your app
Architecture & Workflow of Modern Web Apps
Ajax World West
Single-page applications and Grails
Why angular?
Progressive Web Apps – The Future of the Web World
What’s new in LightSwitch 2013?
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Refactoring to a Single Page Application
Top java script frameworks ppt
Website development & it's trends
Frameworks for Web Development
ReactJS or Angular
Jquery react angular
Progressive Web Apps
Angular overview
Ad

Similar to Building SPAs with AngularJS (20)

PPTX
Tech io spa_angularjs_20130814_v0.9.5
PPTX
Benefits of developing single page web applications using angular js
PPTX
AngularJS 1.x - your first application (problems and solutions)
PPTX
Angular jS Introduction by Google
 
PDF
End to-End SPA Development Using ASP.NET and AngularJS
PPTX
Angular Js
PDF
AngularJS : Superheroic Javascript MVW Framework
PDF
Getting Started With AngularJS
PPTX
Angular js 1.3 basic tutorial
PPTX
Single page applications with AngularJS
PDF
AngularJS for Beginners
PDF
What are the reasons behind growing popularity of AngularJS.pdf
PPTX
Angular Js Advantages - Complete Reference
PDF
Getting Started with AngularJS
PPT
AngularJS Brownbag
PPTX
AngularJs (1.x) Presentation
PDF
Evolution and History of Angular as Web Development Platform.pdf
PDF
Where and Why Use Angular for Web Development?
PPTX
AngularJS is awesome
PPTX
Intro to AngularJS
Tech io spa_angularjs_20130814_v0.9.5
Benefits of developing single page web applications using angular js
AngularJS 1.x - your first application (problems and solutions)
Angular jS Introduction by Google
 
End to-End SPA Development Using ASP.NET and AngularJS
Angular Js
AngularJS : Superheroic Javascript MVW Framework
Getting Started With AngularJS
Angular js 1.3 basic tutorial
Single page applications with AngularJS
AngularJS for Beginners
What are the reasons behind growing popularity of AngularJS.pdf
Angular Js Advantages - Complete Reference
Getting Started with AngularJS
AngularJS Brownbag
AngularJs (1.x) Presentation
Evolution and History of Angular as Web Development Platform.pdf
Where and Why Use Angular for Web Development?
AngularJS is awesome
Intro to AngularJS
Ad

Recently uploaded (20)

PDF
AI in Product Development-omnex systems
PDF
System and Network Administraation Chapter 3
PDF
Become an Agentblazer Champion Challenge Kickoff
PPTX
AIRLINE PRICE API | FLIGHT API COST |
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
top salesforce developer skills in 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Build Multi-agent using Agent Development Kit
PDF
Best Practices for Rolling Out Competency Management Software.pdf
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
Presentation of Computer CLASS 2 .pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
System and Network Administration Chapter 2
PPTX
L1 - Introduction to python Backend.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
AI in Product Development-omnex systems
System and Network Administraation Chapter 3
Become an Agentblazer Champion Challenge Kickoff
AIRLINE PRICE API | FLIGHT API COST |
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
top salesforce developer skills in 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Build Multi-agent using Agent Development Kit
Best Practices for Rolling Out Competency Management Software.pdf
Materi_Pemrograman_Komputer-Looping.pptx
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Odoo POS Development Services by CandidRoot Solutions
Online Work Permit System for Fast Permit Processing
Presentation of Computer CLASS 2 .pptx
Softaken Excel to vCard Converter Software.pdf
System and Network Administration Chapter 2
L1 - Introduction to python Backend.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf

Building SPAs with AngularJS