SlideShare a Scribd company logo
Single Page Applications – A journey

About Me

About the company

Single Page Applications

AngularJS

BreezeJS

Application demo

Unit Testing

Conclusion

Any questions?
Biography – John Staveley

13 years

C#.net MVC HTML5

Strong on backend

Increasingly working on front end projects
https://www.linkedin.com/in/johnstaveley
@johnstaveley
Toriga Energy – Who, what, why?

Who are Toriga Energy?
− Compliance business

What they were trying to achieve?
− Cross platform mobile app
− Offline
− Bootstrap

Why?
− Fast adaptation to the marketplace
− Avoid app stores
How - Single Page Application?

CSS/HTML5 web page – all action takes place 'in page'

Don't get access to device features e.g. address book

Communication via $.ajax

Manifest

Local Storage to persist offline data

App settings for HTML5 – chrome removal, icon, splash
What - Initial solution

Jquery with Bootstrap
– Single page with tabbed control
Single Page Application presentation
Jobs view
Problems

jQuery
– No Navigation from job view to project view
– No Two way binding
– No deep linking

We need a framework...
But, which framework to choose?
AngularJS

Solves two way binding problem
AngularJS – How it works
Controller
View
Result!
AngularJS - Benefits

Routing – solves deep linking problem

Directives e.g. navigation control <navigation />

AngularJS versions of jquery libraries such as jquery ui,
bootstrap, kendo, signature pad - give example

More...
Demo of deep linking
Data – Initial solution

First there was: WCF web services with SQL

Not good at Rest

Inflexible

Verbose

No Metadata – validation
BreezeJS – solves data problems

To simplify creating the model on the client and persisting
changes

Client side queries

Validation

Extending the model

Only saves data that has changed
BreezeJS – get rid of the boiler plate!
Removes verbosity of web layer
Data access – Entity Framework
Unit Testing

Angular enforces separation of concerns

Angular allows Dependency injection

BDD with Jasmine and Sinon for mocking

Example
Controller to Unit Test
Unit testing code
Conclusion

Single Page Applications are great for cross platform apps
which avoid the app store

Don't benefit from intellisense

AngularJS makes your code testable

BreezeJS removes a lot of data access code
https://www.linkedin.com/in/johnstaveley
@johnstaveley
Any questions?

More Related Content

PPTX
Website development &amp; it's trends
PDF
Single Page Applications
PDF
Single page applications
PPTX
Single page application
PPTX
Single page application and Framework
PPTX
Rise of the responsive single page application
PDF
Introduction To Single Page Application
PPTX
Single Page Application (SPA) using AngularJS
Website development &amp; it's trends
Single Page Applications
Single page applications
Single page application
Single page application and Framework
Rise of the responsive single page application
Introduction To Single Page Application
Single Page Application (SPA) using AngularJS

What's hot (20)

PPTX
Making Single Page Applications (SPA) faster
PPTX
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
PPT
Top java script frameworks ppt
PPTX
PWA basics for developers
PPTX
MEAN Stack
PPTX
Web Application Development Process presented by @Cygnismedia
PPTX
Single Page Application Development with backbone.js and Simple.Web
PPTX
Latest Javascript MVC & Front End Frameworks 2017
PDF
Rise and Fall of the Frontend Developer
PPTX
Building single page applications
PDF
Web Development Presentation
PDF
Refactoring to a Single Page Application
PDF
Learning Single page Application chapter 1
PDF
MEAN Stack
PPTX
A Smooth Transition to HTML5 Using MVVM
PPTX
Web Development and Web Development technologies - Temitayo Fadojutimi
PPTX
What’s new in Visual Studio 2012 & .NET 4.5
PPTX
Windows Store Apps: Tips & Tricks
PPTX
6 web development trends to follow in 2021
PPTX
Architecture & Workflow of Modern Web Apps
Making Single Page Applications (SPA) faster
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Top java script frameworks ppt
PWA basics for developers
MEAN Stack
Web Application Development Process presented by @Cygnismedia
Single Page Application Development with backbone.js and Simple.Web
Latest Javascript MVC & Front End Frameworks 2017
Rise and Fall of the Frontend Developer
Building single page applications
Web Development Presentation
Refactoring to a Single Page Application
Learning Single page Application chapter 1
MEAN Stack
A Smooth Transition to HTML5 Using MVVM
Web Development and Web Development technologies - Temitayo Fadojutimi
What’s new in Visual Studio 2012 & .NET 4.5
Windows Store Apps: Tips & Tricks
6 web development trends to follow in 2021
Architecture & Workflow of Modern Web Apps
Ad

Viewers also liked (10)

PPT
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
PDF
Does my DIV look big in this?
PDF
Introduction to the MEAN stack
PPT
Get MEAN! Node.js and the MEAN stack
PDF
AngularJS 101 - Everything you need to know to get started
PDF
AngularJS application architecture
PPTX
AngularJS Architecture
PDF
AngularJS Basics with Example
PPTX
Introduction to Angularjs
ODP
Introduction to Angular 2
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
Does my DIV look big in this?
Introduction to the MEAN stack
Get MEAN! Node.js and the MEAN stack
AngularJS 101 - Everything you need to know to get started
AngularJS application architecture
AngularJS Architecture
AngularJS Basics with Example
Introduction to Angularjs
Introduction to Angular 2
Ad

Similar to Single Page Application presentation (20)

PPTX
Benefits of developing single page web applications using angular js
PDF
AngularJS best-practices
DOCX
Single Page Application
PPTX
Benefits of developing a Single Page Web Applications using AngularJS
PDF
Fundamentals and Implementations of Angular JS with renowned Technology Platf...
PDF
Crash Course in AngularJS + Ionic (Deep dive)
PPTX
Anjular js
PPT
AngularJS Brownbag
PDF
AngularJS : Superheroic Javascript MVW Framework
PDF
Angular js mobile jsday 2014 - Verona 14 may
PDF
7 effective reasons why you should use angular js for mobile app development
PPTX
Benefits of AngularJS Development for Your Business - APPNWEB Technologies
PPTX
A brief description about Angular
PDF
A white paper on Fundamentals and Implementations of Angular JS
PDF
Advantages of AngularJS over jQuery
PPTX
AngularJS Introduction (Talk given on Aug 5 2013)
PPTX
Single page applications with AngularJS
PDF
React js vs angularjs
PPTX
AngularJS Introduction
PPTX
AngularJS Anatomy & Directives
Benefits of developing single page web applications using angular js
AngularJS best-practices
Single Page Application
Benefits of developing a Single Page Web Applications using AngularJS
Fundamentals and Implementations of Angular JS with renowned Technology Platf...
Crash Course in AngularJS + Ionic (Deep dive)
Anjular js
AngularJS Brownbag
AngularJS : Superheroic Javascript MVW Framework
Angular js mobile jsday 2014 - Verona 14 may
7 effective reasons why you should use angular js for mobile app development
Benefits of AngularJS Development for Your Business - APPNWEB Technologies
A brief description about Angular
A white paper on Fundamentals and Implementations of Angular JS
Advantages of AngularJS over jQuery
AngularJS Introduction (Talk given on Aug 5 2013)
Single page applications with AngularJS
React js vs angularjs
AngularJS Introduction
AngularJS Anatomy & Directives

More from John Staveley (17)

PPTX
Demystifying gRPC in .Net by John Staveley
PPTX
Image and Audio Detection using Edge Impulse
PPTX
Product and Customer Development
PPTX
Getting started with satellite IoT
PPTX
IoT on Raspberry PI v1.2
PPTX
IoT on Raspberry Pi
PPTX
Birdwatching using a Raspberry pi, Azure IoT Hub and Cognitive services
PPTX
DevSecOps - automating security
PPT
Azure functions and container instances
PPT
Non nullable reference types in C#8
PPT
Graph databases and SQL Server 2017
PPT
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
PPT
Why you should use Type script and EcmaScript 6
PPT
Updated Mvc Web security updated presentation
PPT
Web security leeds sharp dot netnotts
PPT
Design Patterns - LFM and POM
PPT
Web security presentation
Demystifying gRPC in .Net by John Staveley
Image and Audio Detection using Edge Impulse
Product and Customer Development
Getting started with satellite IoT
IoT on Raspberry PI v1.2
IoT on Raspberry Pi
Birdwatching using a Raspberry pi, Azure IoT Hub and Cognitive services
DevSecOps - automating security
Azure functions and container instances
Non nullable reference types in C#8
Graph databases and SQL Server 2017
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Why you should use Type script and EcmaScript 6
Updated Mvc Web security updated presentation
Web security leeds sharp dot netnotts
Design Patterns - LFM and POM
Web security presentation

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPTX
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
GamePlan Trading System Review: Professional Trader's Honest Take
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Monthly Chronicles - July 2025
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced Soft Computing BINUS July 2025.pdf
MYSQL Presentation for SQL database connectivity

Single Page Application presentation

  • 1. Single Page Applications – A journey  About Me  About the company  Single Page Applications  AngularJS  BreezeJS  Application demo  Unit Testing  Conclusion  Any questions?
  • 2. Biography – John Staveley  13 years  C#.net MVC HTML5  Strong on backend  Increasingly working on front end projects https://www.linkedin.com/in/johnstaveley @johnstaveley
  • 3. Toriga Energy – Who, what, why?  Who are Toriga Energy? − Compliance business  What they were trying to achieve? − Cross platform mobile app − Offline − Bootstrap  Why? − Fast adaptation to the marketplace − Avoid app stores
  • 4. How - Single Page Application?  CSS/HTML5 web page – all action takes place 'in page'  Don't get access to device features e.g. address book  Communication via $.ajax  Manifest  Local Storage to persist offline data  App settings for HTML5 – chrome removal, icon, splash
  • 5. What - Initial solution  Jquery with Bootstrap – Single page with tabbed control
  • 8. Problems  jQuery – No Navigation from job view to project view – No Two way binding – No deep linking  We need a framework...
  • 9. But, which framework to choose?
  • 10. AngularJS  Solves two way binding problem
  • 11. AngularJS – How it works Controller View Result!
  • 12. AngularJS - Benefits  Routing – solves deep linking problem  Directives e.g. navigation control <navigation />  AngularJS versions of jquery libraries such as jquery ui, bootstrap, kendo, signature pad - give example  More...
  • 13. Demo of deep linking
  • 14. Data – Initial solution  First there was: WCF web services with SQL  Not good at Rest  Inflexible  Verbose  No Metadata – validation
  • 15. BreezeJS – solves data problems  To simplify creating the model on the client and persisting changes  Client side queries  Validation  Extending the model  Only saves data that has changed
  • 16. BreezeJS – get rid of the boiler plate! Removes verbosity of web layer
  • 17. Data access – Entity Framework
  • 18. Unit Testing  Angular enforces separation of concerns  Angular allows Dependency injection  BDD with Jasmine and Sinon for mocking  Example
  • 21. Conclusion  Single Page Applications are great for cross platform apps which avoid the app store  Don't benefit from intellisense  AngularJS makes your code testable  BreezeJS removes a lot of data access code https://www.linkedin.com/in/johnstaveley @johnstaveley