SlideShare a Scribd company logo
Relax, it's SPA time
Mónica Rodrigues
http://netponto.org60ª Reunião Presencial - 19/03/2016
Who I am?
Mónica Rodrigues
Web development since 2010
HTML5, CSS3, AngularJs, Knockout, Asp.Net WebApi,
ASP.NET MVC, C#, SQL Server 2014
Member and Organizer
Degree in Computer Science Engineer at ISEL
Contents
• Challenge
• Solution
• Motivations vs Considerations
• Multiple page application vs SPA
• Multiple page application and SPA - Mix
• Some Javascript Frameworks
• SPA Samples
• What I need to begin
• Recomendations
• Javascript Patterns
• Demo
• References
First page – Long time ago
Today
Challenge
Users want a central place to view or take actions on
most or all content so they don’t have to waste time
navigating between pages.
Solution
Go to a SPA
Solution
Use modern web development techniques to build a
single-page app that doesn’t need to reload itself as
the user browses through it.
SPASingle Page Application
Motivations
Reach
Web app may be accessible on different platforms and devices
Responsive
Web app needs to be responsive to different screen
resolutions
Round trip
Web app does not require many round trips between client
and server
3R’s
Motivations
Better user experience
Separation of responsibilities between client and
server
Offline Applications
Considerations
The first time that the application loads is slow
Maintain Navigation, Deep linking and History
SEO (Search engine optimization) is complicated
Multiple Page Application
Page access
Returns
rendered page
Page
rendering
Single Page Application
Requests data
Returns data
DOM
processing and
manipulation
SPA and Multiple Page Application (Mix)
Products Page
Mini
SPA
Categories Page
Mini
SPA
Request data
Request data
Returns data
Returns data
Some Javascript
Frameworks and Libraries
SPA Samples
What I need to begin?
• Choose a framework or library
–Depends, what do you want to do?
• Choose a IDE and structure your folders
• Think about your application, namely
HTML structure and CSS.
• Lets start with Javascript 
–Don’t forget the best practices!!
Recomendations
• Best practices in Javascript
• Join and minify CSS files and Javascript
files
– Use a task runner – Gulp
• Learn MVVM pattern
App.js
App-users-controller.js
site.min.js
deploy
JavaScript Patterns
• Functions as abstractions
• Functions to build modules
• Functions to avoid global variables
Functions as abstractions
Functions to build modules
Revealing module
pattern
Functions to build modules
• What’s the matter with previous code?
– There are two global variables
• worker
• createWorker
These variables can be redefined in other files
Functions to avoid global variables
Reduce to 1
global
variable
But, how
can I get 0
global
variables?
Functions to avoid global variables
NetPonto Attendance Manager
SPA
Questions?
References
Angular Js
– https://angularjs.org/
Knockout
– http://knockoutjs.com/
Aurelia
– http://aurelia.io/
React
– https://facebook.github.io/react/
Backbone
– http://backbonejs.org/
Ember
– http://emberjs.com/
John Papa
– http://www.johnpapa.net/
Patrocinadores “GOLD”
Twitter: @PTMicrosoft http://www.microsoft.com/portugal
Patrocinadores “Silver”
Patrocinadores “Bronze”
http://bit.ly/netponto-aval-60
* Para quem não puder preencher durante a reunião,
iremos enviar um email com o link à tarde
Próximas reuniões presenciais
19/03/2016 – Lisboa
02/04/2016 – Porto
16/04/2016 – Lisboa
19/05/2016 – 21/05/2016 – TugaIT (Lisboa)
Reserva estes dias na agenda! :)
Thank you!
Mónica Rodrigues
Email: monica85rodrigues@gmail.com
Personal Website: http://fullhand.pt/
@Monica85Rodrig
https://pt.linkedin.com/in/monicascrodrigues
https://github.com/monica85rodrigues
https://github.com/monica85rodrigues/presentation-
netponto-spa

More Related Content

PPTX
Apply SOLID Design principles to javascript code with immediate function invo...
PPTX
Inversion of Control in MVC
PPTX
Solid principles
PPTX
Como tudo começou
PPTX
The Power Of SPA - ISCTE
PDF
NoSQL and CouchDB
PDF
SOLID design principles in Ruby
ODP
Geecon09: SOLID Design Principles
Apply SOLID Design principles to javascript code with immediate function invo...
Inversion of Control in MVC
Solid principles
Como tudo começou
The Power Of SPA - ISCTE
NoSQL and CouchDB
SOLID design principles in Ruby
Geecon09: SOLID Design Principles

Viewers also liked (6)

PDF
SOLID Design principles
PDF
SOLID PRINCIPLES
PPTX
Modelos Mentais em 10 minutos
PPTX
Refactoring Applications using SOLID Principles
PPT
SOLID Design Principles
PPTX
The SOLID Principles Illustrated by Design Patterns
SOLID Design principles
SOLID PRINCIPLES
Modelos Mentais em 10 minutos
Refactoring Applications using SOLID Principles
SOLID Design Principles
The SOLID Principles Illustrated by Design Patterns
Ad

Similar to Relax, it's spa time (20)

PPTX
Java vs javascript (XPages)
PPTX
Develop a vanilla.js spa you and your customers will love
PPTX
Angular JS - Introduction
PPTX
Single Page Applications: Your Browser is the OS!
PPTX
Developing the unknown
PDF
End to-End SPA Development Using ASP.NET and AngularJS
PPTX
Single Page Apps
PPTX
Angular JS, A dive to concepts
PDF
PPTX
web development course | web development training in Pune India
PPTX
web -development- course - Continued - Learning
PPTX
Web development Course, Web development training, Learn With Continued-Learning
PDF
Introduction To Single Page Application
PDF
Learning Single page Application chapter 1
DOC
Subhasis Java Resume
PPTX
Pearls and Must-Have Tools for the Modern Web / .NET Developer
PDF
Optimus XPages: An Explosion of Techniques and Best Practices
PPTX
Introduction to AngularJS
PPTX
Mvc presentation
PPTX
Internship softwaretraining@ijse
Java vs javascript (XPages)
Develop a vanilla.js spa you and your customers will love
Angular JS - Introduction
Single Page Applications: Your Browser is the OS!
Developing the unknown
End to-End SPA Development Using ASP.NET and AngularJS
Single Page Apps
Angular JS, A dive to concepts
web development course | web development training in Pune India
web -development- course - Continued - Learning
Web development Course, Web development training, Learn With Continued-Learning
Introduction To Single Page Application
Learning Single page Application chapter 1
Subhasis Java Resume
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Optimus XPages: An Explosion of Techniques and Best Practices
Introduction to AngularJS
Mvc presentation
Internship softwaretraining@ijse
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf

Relax, it's spa time

Editor's Notes

  • #30: Telerik Ndepend Pluralsight syncfusion
  • #32: Para quem puder ir preenchendo, assim não chateio mais logo  É importante para recebermos nós feedback, e para darmos feedback aos nossos oradores http://goqr.me/