SlideShare una empresa de Scribd logo
1 de 21
SPA
Brown Bag Session by Arthur Fung
We work hard! We deserve it! Oh yeah!
Date: 3/31 - 4/4
Place: Napa Valley
Duration: 1 week!
Fee: Priceless
TACPOINT
IS
AWESOME
WHAT IS SPA??
NICE TRY PEOPLE!
Single Page Application
A single-page application (SPA), also
known as single-page interface (SPI), is
a web application or web site that fits on
a single web page with the goal of
providing a more fluid user experience
akin to a desktop application.
Desktop
● Fast Response
● Capable of rendering
portion of the UI
● More interactive with the
user
● Cross Platform
● Universally accessible
● Instantly updated and
distributed
Traditional
Website
● Platform Specific.
● Only accessible on
installed machine
● Needs users to manually
update the application
● Slow. Page Flash.
● Universally accessible
● Instantly updated and
distributed
In fact, SPA can
provide the best of
BOTH worlds.
Example: Gmail
Example: Merchant Locator
What is a Single Page Application?
● Fluid transitions between page, richer
interaction between UI componenets. No
page refresh
● Application logic in the client
● Fetch Data on demand
● Dynamic Data Loading, usually with Rest API
● Back/Forward Button works as expected
● Support bookmark
● Ability to go offline
Advantages of SPA
● Responsive, Native Appplication Feel. No page blink.
● Faster UI, More Interactive
● More work on client side, offloading the server
responsibility
● REST endpoints are more general purpose
● Perfect for supporting multiple platofmrs, since UI is just
another client
● Share benefits from both desktop and web app
Traditional vs SPA
Traditional vs SPA
Model View Controller
● The Model, which provides the data and business rules
of the application.
● The View, which provides the sensory (usually visual,
but also often audio) representation of the Model’s data.
● The Controller, which converts requests from the user
into commands that
● update the Model and/or View of an application.
● Our SPA moves as much of the application to the
browser as possible.
● The whole MVC moves to the client
Q&A
What is the goal?
● Provide a radically faster and widely accessible getting started
experience
● Be opinionated out of the box, but get out of the way quickly as
requirements sstart to diverge from the defailts
● Provide a range of non-functional features that are common to large
classes of projects
○ Embedded Servers
○ Security
○ Metrics
○ Externalized Configuration
● Absolutely no code generation and no requirement for XML
● Convension over configuration
Introducing Spring Boot
Sample Code
@Controller
class Controller
{
@RequestMapping("/")
@ResponseBody
String getHome(){ return "Hello
World"; }
}
Instructions
1. Clone the project from
Git Hub
2. Open Eclipse and Import
the project
3. Run
https://github.com/spring-projects/spring-boot
Why MVC Framework on the Front-End?
● Avoid Re-inventing the wheel
● We ALL suck at Javascript
● Follow best practice. Avoid Spaghetti Code
● Modular Code and Scalibility
● DOM Manipulation + Templating + Routing
Examples: Backbone.js, Ember.js, AngularJS,
Spine, CanJS, React.js
Stop relying on JQuery my friend!
What is AngularJS?
● Client Side Browser App Framework
● Open Source
● MVC Framework on the browser
git clone https://github.com/spring-
guides/gs-consuming-rest-angularjs.git
THE
END

Más contenido relacionado

La actualidad más candente

Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.jsTechMagic
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!Baharika Sopori
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA Pramendra Gupta
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_ForceBolt
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react nativeModusJesus
 
Express JS Rest API Tutorial
Express JS Rest API TutorialExpress JS Rest API Tutorial
Express JS Rest API TutorialSimplilearn
 
Responsive web designing
Responsive web designingResponsive web designing
Responsive web designingAanand Bohara
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.jsGökhan Sarı
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorialMohammed Fazuluddin
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
Introduce yourself to java 17
Introduce yourself to java 17Introduce yourself to java 17
Introduce yourself to java 17ankitbhandari32
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLJayant Surana
 

La actualidad más candente (20)

Flutter introduction
Flutter introductionFlutter introduction
Flutter introduction
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
 
Express js
Express jsExpress js
Express js
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA
 
Tech Talk on ReactJS
Tech Talk on ReactJSTech Talk on ReactJS
Tech Talk on ReactJS
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Rwd ppt
Rwd pptRwd ppt
Rwd ppt
 
Express JS Rest API Tutorial
Express JS Rest API TutorialExpress JS Rest API Tutorial
Express JS Rest API Tutorial
 
Responsive web designing
Responsive web designingResponsive web designing
Responsive web designing
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.js
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Introduce yourself to java 17
Introduce yourself to java 17Introduce yourself to java 17
Introduce yourself to java 17
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQL
 
React Workshop
React WorkshopReact Workshop
React Workshop
 

Destacado

Single Page Web
Single Page WebSingle Page Web
Single Page Web종복 박
 
JS Single-Page Web App Essentials
JS Single-Page Web App EssentialsJS Single-Page Web App Essentials
JS Single-Page Web App EssentialsSergey Bolshchikov
 
AngularJS - The Next Big Thing?
AngularJS - The Next Big Thing?AngularJS - The Next Big Thing?
AngularJS - The Next Big Thing?Tom Hombergs
 
Getting Single Page Application Security Right
Getting Single Page Application Security RightGetting Single Page Application Security Right
Getting Single Page Application Security RightPhilippe De Ryck
 
A different thought AngularJS
A different thought AngularJSA different thought AngularJS
A different thought AngularJSAmit Thakkar
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
 
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft Graph
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft GraphSharePoint Saturday Paris 2016 - AngularJS with the Microsoft Graph
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft GraphSébastien Levert
 
Let your website a ride of AngularJS
Let your website a ride of AngularJSLet your website a ride of AngularJS
Let your website a ride of AngularJSMike Taylor
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Jollen Chen
 
Gettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSGettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSArmin Vieweg
 
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)Gary Arora
 

Destacado (19)

Single Page Web
Single Page WebSingle Page Web
Single Page Web
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
 
JS Single-Page Web App Essentials
JS Single-Page Web App EssentialsJS Single-Page Web App Essentials
JS Single-Page Web App Essentials
 
ES2015 Quiz
ES2015 QuizES2015 Quiz
ES2015 Quiz
 
AngularJS - The Next Big Thing?
AngularJS - The Next Big Thing?AngularJS - The Next Big Thing?
AngularJS - The Next Big Thing?
 
Getting Single Page Application Security Right
Getting Single Page Application Security RightGetting Single Page Application Security Right
Getting Single Page Application Security Right
 
A different thought AngularJS
A different thought AngularJSA different thought AngularJS
A different thought AngularJS
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
 
AngularJS
AngularJSAngularJS
AngularJS
 
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft Graph
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft GraphSharePoint Saturday Paris 2016 - AngularJS with the Microsoft Graph
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft Graph
 
Let your website a ride of AngularJS
Let your website a ride of AngularJSLet your website a ride of AngularJS
Let your website a ride of AngularJS
 
The AngularJS way
The AngularJS wayThe AngularJS way
The AngularJS way
 
AngularJS
AngularJSAngularJS
AngularJS
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
 
Angular js
Angular jsAngular js
Angular js
 
Gettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSGettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJS
 
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
Benefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJSBenefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJS
 

Similar a Single page application

[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA StudioCedCommerce
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsAnjaliTanpure1
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsAkshay Sharma
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
 
web, spa vs traditional - 2016
web, spa vs traditional - 2016web, spa vs traditional - 2016
web, spa vs traditional - 2016Yauheni Nikanovich
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback frameworkThomas Papaspiros
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHPJohn Paul Ada
 
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...E-Commerce Berlin EXPO
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web AppRobert Robinson
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For StartupsIdo Green
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentationbhavesh singh
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Progressive web application considerations before implementing magento pwa ...
Progressive web application   considerations before implementing magento pwa ...Progressive web application   considerations before implementing magento pwa ...
Progressive web application considerations before implementing magento pwa ...CedCommerce
 
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_NETWAYS
 

Similar a Single page application (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
web, spa vs traditional - 2016
web, spa vs traditional - 2016web, spa vs traditional - 2016
web, spa vs traditional - 2016
 
Service worker API
Service worker APIService worker API
Service worker API
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHP
 
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...
E-commerce Berlin Expo 2017 - AMP and Progressive Web Apps – Start Fast, Stay...
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
 
A CQRS Journey
A CQRS JourneyA CQRS Journey
A CQRS Journey
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Progressive web application considerations before implementing magento pwa ...
Progressive web application   considerations before implementing magento pwa ...Progressive web application   considerations before implementing magento pwa ...
Progressive web application considerations before implementing magento pwa ...
 
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Single page application

  • 1. SPA Brown Bag Session by Arthur Fung
  • 2. We work hard! We deserve it! Oh yeah! Date: 3/31 - 4/4 Place: Napa Valley Duration: 1 week! Fee: Priceless TACPOINT IS AWESOME
  • 3. WHAT IS SPA?? NICE TRY PEOPLE!
  • 4. Single Page Application A single-page application (SPA), also known as single-page interface (SPI), is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application.
  • 5. Desktop ● Fast Response ● Capable of rendering portion of the UI ● More interactive with the user ● Cross Platform ● Universally accessible ● Instantly updated and distributed Traditional Website ● Platform Specific. ● Only accessible on installed machine ● Needs users to manually update the application ● Slow. Page Flash. ● Universally accessible ● Instantly updated and distributed
  • 6. In fact, SPA can provide the best of BOTH worlds.
  • 9. What is a Single Page Application? ● Fluid transitions between page, richer interaction between UI componenets. No page refresh ● Application logic in the client ● Fetch Data on demand ● Dynamic Data Loading, usually with Rest API ● Back/Forward Button works as expected ● Support bookmark ● Ability to go offline
  • 10. Advantages of SPA ● Responsive, Native Appplication Feel. No page blink. ● Faster UI, More Interactive ● More work on client side, offloading the server responsibility ● REST endpoints are more general purpose ● Perfect for supporting multiple platofmrs, since UI is just another client ● Share benefits from both desktop and web app
  • 13. Model View Controller ● The Model, which provides the data and business rules of the application. ● The View, which provides the sensory (usually visual, but also often audio) representation of the Model’s data. ● The Controller, which converts requests from the user into commands that ● update the Model and/or View of an application. ● Our SPA moves as much of the application to the browser as possible. ● The whole MVC moves to the client
  • 14. Q&A
  • 15. What is the goal? ● Provide a radically faster and widely accessible getting started experience ● Be opinionated out of the box, but get out of the way quickly as requirements sstart to diverge from the defailts ● Provide a range of non-functional features that are common to large classes of projects ○ Embedded Servers ○ Security ○ Metrics ○ Externalized Configuration ● Absolutely no code generation and no requirement for XML ● Convension over configuration Introducing Spring Boot
  • 17. Instructions 1. Clone the project from Git Hub 2. Open Eclipse and Import the project 3. Run https://github.com/spring-projects/spring-boot
  • 18. Why MVC Framework on the Front-End? ● Avoid Re-inventing the wheel ● We ALL suck at Javascript ● Follow best practice. Avoid Spaghetti Code ● Modular Code and Scalibility ● DOM Manipulation + Templating + Routing Examples: Backbone.js, Ember.js, AngularJS, Spine, CanJS, React.js
  • 19. Stop relying on JQuery my friend!
  • 20. What is AngularJS? ● Client Side Browser App Framework ● Open Source ● MVC Framework on the browser git clone https://github.com/spring- guides/gs-consuming-rest-angularjs.git

Notas del editor

  1. my definition: A single page application is a web app in which the majority of interactions are handled on the client without the need to reach a server, with a goal of providing a more fluid user experience
  2. An SPA can render like a desktop application—The SPA redraws the parts of the interface that need to change only as needed. A traditional website, in compari- son, redraws the entire page on many user actions, resulting in a pause and a “flash” while the browser retrieves from the server and then redraws everything on the page. If the page is large, the server is busy, or the internet connection is slow, this flash can take several seconds or more, and the user has to guess when the page is ready to use again. This is a horrible experience when compared to the rapid rendering and immediate feedback of an SPA. ■ An SPA can respond like a desktop application—The SPA minimizes response time by moving working (transient) data and processing from the server to the browser as much as possible. The SPA has the data and business logic needed to make most decisions locally and therefore quickly. Only data validation, authen- tication, and permanent storage must remain on the server, for reasons we dis- cuss in chapters 6-8. A traditional website has most of the application logic on the server and the user must wait for a request/response/redraw cycle in response to much of their input. This can take several seconds, compared to the near immediate response of the SPA. ■ An SPA can notify users of its state like a desktop application—When an SPA does have to wait on a server, it can dynamically render a progress bar or busy indicator so the user isn’t befuddled by a delay. Compare this to a traditional website, where the user actually has to guess when the page is loaded and usable. ■ An SPA is nearly universally accessible like a website—Unlike most desktop applica- tions, users can access an SPA from any web connection and a decent browser. Today, the list includes smart phones, tablets, televisions, laptops, and desktop computers. ■ An SPA can be instantly updated and distributed like a website—The user doesn’t have to do anything to realize the benefits—when they reload the browser it works. The hassle of maintaining multiple concurrent versions of software is largely eliminated.7 The authors have worked on SPAs that have been built and 7 But not completely: what happens if the server-client data exchange format changes, yet many users have the prior version of software loaded in their browser? This can be accommodated with some forethought. Summary 21 updated multiple times in a single day. Desktop applications often require a download and administrative access to install a new version, and the interval between versions can be many months or years. ■ An SPA is cross-platform like a website—Unlike most desktop applications, a well- written SPA can work on any operating system that provides a modern HTML5 browser. Though usually this is considered a developer benefit, it’s extremely useful for many users who have a combination of devices—say Windows at work, a Mac at home, a Linux server, an Android phone, and an Amazon tablet.
  3. the immediacy of a desktop application and the portability and accessibility of a website. The JavaScript SPA is available on over a billion devices that support a modern web browser and that don’t require any propri- etary plugins. With a little effort, it can support desktops, tablets, and smart phones run- ning many different operating systems. SPAs are easily updated and distributed, usually without requiring any action from the user. All of these benefits explain why you may want to make your next application an SPA.
  4. Single Page Application is a web app in which the majority of interactions are handled on the client without the need to reach a server, with a goal of providing a more fluid user experience
  5. Do you need to share a project with a designer, and have the flexibility for design work and development work to happen near-simultaneously? Do you require thorough unit testing for your solutions? Is it important for you to have reusable components, both within and across projects in your organization? Would you like more flexibility to change your user interface without having to refactor other logic in the code base?