SlideShare a Scribd company logo
1 of 40
Download to read offline
Future of the web
TJIP The Platform Engineers
Ke e s Ha ve rk a m p
Tech strateeg – fintech & proptech
Innovation manager @ Tjip
Founder Newest Industry
Co-founder Faster Forward (2003-2013)
Author/public speaker.; TU Delft, Frankwatching.com,
AM, IIR artificial intelligence, MT, VVP, NRC.
TJ IP Cu s t o m e rs :
La b e ls :
"We combine the speed and agility of
a startup with the "deep expertise"
of an established IT company. "
WWW2 = Broken
Virtual Cloud
3.0
The Web
1.0
Social Graph
2.0
Dig it a l t w in –IOT –MESH –V-clo u d ,
e t c.
A.I.
Delft Designers & Developers Meetup
The SPA Spasm
W h o a re yo u ?
• Ralph Hendriks
• Twitter: @ralph_hendriks
• GitHub: https://github.com/ralphhendriks
• Software developer > 10 years
• .NET, C#, DDD, OO Design
• Electrical Power Engineering
• IOT enthusiast
• No smart folks, just the folks in the room
Ag e n d a
• SPAs, why and how?
• SPA criticism, revisited:
• SPAs break browsers
• SPAs break the web
• SPAs don’t scale
• Coupling and cohesion
• SPAs are slow
• Alternatives
Tw o Blo g s
The Bullshit Web (https://tinyurl.com/BullshitWeb)
Nick Heer, 30 July 2018
Why I hate your Single Page App (https://tinyurl.com/WhyIHateYourSPA)
Stefan Tilkov, 13 January 2016
SPAs , w h a t a n d w h y?
• Dynamically rewriting the current page
• No page reloads
• Single load or dynamic load
• Opposed to page-redraw method
• Patented!
SPAs b re a k b ro w s e rs
• History (back, forward, browser history)
• HTML5 History API
• Persistent and durable links
• Client-side routing
• Heavily leaning on JavaScript
• Progressive enhancement vs. graceful degradation
SPAs b re a k t h e w e b
HTML
DNSHTTP
A w e b o f a p p s ?
SPAs d o n ’t s ca le
• How many two-pizza teams can develop one SPA?
• FE/BE team separation first
• Vertical slices
• FE composition
Co u p lin g a n d Co h e s io n
• Coupling is the property that one module is forced to change
because another does
• Cohesion is the property that a module is subject to the same
forces of change
• Domain logic vs. application logic
SPAs a re s lo w
Rendering on the Web (https://tinyurl.com/RenderingOnTheWeb)
Jason Miller, Addy Osmani, February 2016
Alt e rn a t ive s
Resource-Oriented Client Architecture (https://roca-style.org/)
Self-Contained Systems (https://scs-architecture.org/)
Micro frontends
Fro m le g a cy t e ch n o lo g y t o a
n e w s t a t e o f a rt
Migration of a large webapplication from
AngularJS to Angular
My story
For me, programming is just learning a new
language
• Sinologist
• First grade teacher
• Software developer
In t ro d u ct io n
What Why How
Pre p a ra t io n
W e b p a ck (m o d u le b u n d le r)
Co m p o n e n t s
Typ e Scrip t
Kn o w le d g e
Ch o o s e yo u r p a t h
Big Bang Duplicate Hybrid application
Ma k e u p yo u r m in d
TIME CUSTOMER TEAM ORGANIZE TEST
Meetup Presentation TJIP
Meetup Presentation TJIP

More Related Content

Similar to Meetup Presentation TJIP

Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Artefactual Systems - AtoM
 
Pundit. Web annotation for the Digital Humanities
Pundit. Web annotation for the Digital HumanitiesPundit. Web annotation for the Digital Humanities
Pundit. Web annotation for the Digital HumanitiesFrancesca Di Donato
 
SPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceSPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceTheresa Lubelski
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Quentin Adam
 
SPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceSPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceTheresa Lubelski
 
SharePoint 2013 Preview
SharePoint 2013 PreviewSharePoint 2013 Preview
SharePoint 2013 PreviewRegroove
 
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native IT
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native ITThe Bright Ops Future - Reinventing Operations in the Age of Cloud-Native IT
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native ITVMware Tanzu
 
Paul houle resume
Paul houle resumePaul houle resume
Paul houle resumePaul Houle
 
Future platform for internet of things
Future platform for internet of thingsFuture platform for internet of things
Future platform for internet of thingsColdbeans Software
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...BIWUG
 
Why Information Architecture is Vital for Office 365 Adoption and Governance ...
Why Information Architecture is Vital for Office 365 Adoption and Governance ...Why Information Architecture is Vital for Office 365 Adoption and Governance ...
Why Information Architecture is Vital for Office 365 Adoption and Governance ...J. Kevin Parker, CIP
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment PresentationPooja Das
 
Real-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTReal-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTAll Things Open
 
Full Stack Web Developer (MERN STACK Developer.pptx
Full Stack Web Developer (MERN STACK Developer.pptxFull Stack Web Developer (MERN STACK Developer.pptx
Full Stack Web Developer (MERN STACK Developer.pptxRamudgarYadav
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Kai Wähner
 
Session 0.0 poster minutes madness
Session 0.0   poster minutes madnessSession 0.0   poster minutes madness
Session 0.0 poster minutes madnesssemanticsconference
 
The Future of Data Science
The Future of Data ScienceThe Future of Data Science
The Future of Data ScienceDataWorks Summit
 
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017BigchainDB
 
Web Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxWeb Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxImranAli984725
 

Similar to Meetup Presentation TJIP (20)

Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
 
Pundit. Web annotation for the Digital Humanities
Pundit. Web annotation for the Digital HumanitiesPundit. Web annotation for the Digital Humanities
Pundit. Web annotation for the Digital Humanities
 
SPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceSPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint Experience
 
Ankur Bajad
Ankur BajadAnkur Bajad
Ankur Bajad
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
 
SPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint ExperienceSPS Nashville Modern Sharepoint Experience
SPS Nashville Modern Sharepoint Experience
 
SharePoint 2013 Preview
SharePoint 2013 PreviewSharePoint 2013 Preview
SharePoint 2013 Preview
 
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native IT
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native ITThe Bright Ops Future - Reinventing Operations in the Age of Cloud-Native IT
The Bright Ops Future - Reinventing Operations in the Age of Cloud-Native IT
 
Paul houle resume
Paul houle resumePaul houle resume
Paul houle resume
 
Future platform for internet of things
Future platform for internet of thingsFuture platform for internet of things
Future platform for internet of things
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
 
Why Information Architecture is Vital for Office 365 Adoption and Governance ...
Why Information Architecture is Vital for Office 365 Adoption and Governance ...Why Information Architecture is Vital for Office 365 Adoption and Governance ...
Why Information Architecture is Vital for Office 365 Adoption and Governance ...
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment Presentation
 
Real-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTReal-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoT
 
Full Stack Web Developer (MERN STACK Developer.pptx
Full Stack Web Developer (MERN STACK Developer.pptxFull Stack Web Developer (MERN STACK Developer.pptx
Full Stack Web Developer (MERN STACK Developer.pptx
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
 
Session 0.0 poster minutes madness
Session 0.0   poster minutes madnessSession 0.0   poster minutes madness
Session 0.0 poster minutes madness
 
The Future of Data Science
The Future of Data ScienceThe Future of Data Science
The Future of Data Science
 
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017 Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
 
Web Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxWeb Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptx
 

Recently uploaded

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Meetup Presentation TJIP

  • 1. Future of the web TJIP The Platform Engineers
  • 2. Ke e s Ha ve rk a m p Tech strateeg – fintech & proptech Innovation manager @ Tjip Founder Newest Industry Co-founder Faster Forward (2003-2013) Author/public speaker.; TU Delft, Frankwatching.com, AM, IIR artificial intelligence, MT, VVP, NRC.
  • 3. TJ IP Cu s t o m e rs :
  • 4. La b e ls :
  • 5. "We combine the speed and agility of a startup with the "deep expertise" of an established IT company. "
  • 6.
  • 8.
  • 9.
  • 10.
  • 12. Dig it a l t w in –IOT –MESH –V-clo u d , e t c.
  • 13. A.I.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Delft Designers & Developers Meetup The SPA Spasm
  • 19. W h o a re yo u ? • Ralph Hendriks • Twitter: @ralph_hendriks • GitHub: https://github.com/ralphhendriks • Software developer > 10 years • .NET, C#, DDD, OO Design • Electrical Power Engineering • IOT enthusiast • No smart folks, just the folks in the room
  • 20. Ag e n d a • SPAs, why and how? • SPA criticism, revisited: • SPAs break browsers • SPAs break the web • SPAs don’t scale • Coupling and cohesion • SPAs are slow • Alternatives
  • 21. Tw o Blo g s The Bullshit Web (https://tinyurl.com/BullshitWeb) Nick Heer, 30 July 2018 Why I hate your Single Page App (https://tinyurl.com/WhyIHateYourSPA) Stefan Tilkov, 13 January 2016
  • 22. SPAs , w h a t a n d w h y? • Dynamically rewriting the current page • No page reloads • Single load or dynamic load • Opposed to page-redraw method • Patented!
  • 23. SPAs b re a k b ro w s e rs • History (back, forward, browser history) • HTML5 History API • Persistent and durable links • Client-side routing • Heavily leaning on JavaScript • Progressive enhancement vs. graceful degradation
  • 24. SPAs b re a k t h e w e b HTML DNSHTTP
  • 25. A w e b o f a p p s ?
  • 26.
  • 27.
  • 28. SPAs d o n ’t s ca le • How many two-pizza teams can develop one SPA? • FE/BE team separation first • Vertical slices • FE composition
  • 29. Co u p lin g a n d Co h e s io n • Coupling is the property that one module is forced to change because another does • Cohesion is the property that a module is subject to the same forces of change • Domain logic vs. application logic
  • 30. SPAs a re s lo w Rendering on the Web (https://tinyurl.com/RenderingOnTheWeb) Jason Miller, Addy Osmani, February 2016
  • 31. Alt e rn a t ive s Resource-Oriented Client Architecture (https://roca-style.org/) Self-Contained Systems (https://scs-architecture.org/) Micro frontends
  • 32.
  • 33. Fro m le g a cy t e ch n o lo g y t o a n e w s t a t e o f a rt Migration of a large webapplication from AngularJS to Angular
  • 34. My story For me, programming is just learning a new language • Sinologist • First grade teacher • Software developer
  • 35. In t ro d u ct io n What Why How
  • 36. Pre p a ra t io n W e b p a ck (m o d u le b u n d le r) Co m p o n e n t s Typ e Scrip t Kn o w le d g e
  • 37. Ch o o s e yo u r p a t h Big Bang Duplicate Hybrid application
  • 38. Ma k e u p yo u r m in d TIME CUSTOMER TEAM ORGANIZE TEST