SlideShare uma empresa Scribd logo
1 de 15
Large Scale SPA 
A Retrospective 
Reza Moaiandin 
@moaiandin
Who am I? 
Job title: Application Developer 
What do I do? Front End Development + Some backend 
For How long? 
8 months as Front End Dev 
2.5 Years as Software engineer 
Strengths : JavaScript & PHP 
I work for Flashtalking Leeds 
Twitter: @moaiandin 
@moaiandin
What is SPA? 
“Single page applications are the modern 
version of web apps where all/majority of the 
interactions are handled on a single page” 
They have very little server interaction (Thin Server Architecture) 
@moaiandin
Any Examples? 
What I do at Flashtalking: AdBuilder (The real deal!) 
Others: Trello, Gmail, Twitter & Facebook (Almost) 
@moaiandin
jQuery Rocks! Why should I care? 
So you think you are a JavaScript Ninja? 
@moaiandin
It’s Messy! 
@moaiandin
Also… 
Not designed for very complex applications 
Lots of nested code 
No Structure 
Bad performance 
SAD JQUERY 
NINJA! 
@moaiandin
What do we get from SPA? 
Speed, Fast response time! 
Modular 
Maintainable 
Decoupled 
Extensible 
Structured 
@moaiandin
It’s nice to work on! 
@moaiandin
How do we do it? 
What do we use? 
@moaiandin
Dos 
Plan 
Keep things structured 
Use task runners (Grunt, Gulp) 
Use libraries that work for your SPA (Backbone, AngularJS) 
Don’t change path 
Test 
Do it right, MV* 
Use routers if you need it (Keep SEO people Happy) 
@moaiandin
Do it right, MV* 
Use routes if you need it (Keeping SEO people Happy) 
SERVER 
MODEL 
VIEW CONTROLLER 
Templates View 
Router 
Events 
Events 
Events 
Model Collection 
Read 
Update 
Client Browser 
@moaiandin
Don’ts 
Don’t Try to reinvent the wheel! 
Look for the tool/library you need before making it! 
Don’t feel constrained to use what the library/tool gives you 
Don’t write tests after development 
It’s not DDT, It’s TDD! 
@moaiandin
Don’t leave crumbs! 
Look out for memory leaks, clean them up! 
@moaiandin
Questions? 
Thank you 
@moaiandin

Mais conteúdo relacionado

Mais procurados

Evaluation Question Number 6
Evaluation Question Number 6Evaluation Question Number 6
Evaluation Question Number 6
bilalahmad1212
 
Schedule and recourses
Schedule and recoursesSchedule and recourses
Schedule and recourses
katiesteph5
 
Equipment list software
Equipment list softwareEquipment list software
Equipment list software
Shahil Islam
 
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
tcs digital world
 

Mais procurados (20)

DevOps for Engineers
DevOps for EngineersDevOps for Engineers
DevOps for Engineers
 
Div’s vs Tables
Div’s vs TablesDiv’s vs Tables
Div’s vs Tables
 
Evaluation Question Number 6
Evaluation Question Number 6Evaluation Question Number 6
Evaluation Question Number 6
 
Schedule and recourses
Schedule and recoursesSchedule and recourses
Schedule and recourses
 
Vue and Firebase Experiences
Vue and Firebase ExperiencesVue and Firebase Experiences
Vue and Firebase Experiences
 
The absolute must read book for programmers
The absolute must read book for programmersThe absolute must read book for programmers
The absolute must read book for programmers
 
JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox
 
Improving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandboxImproving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandbox
 
Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative
 
Multipack
MultipackMultipack
Multipack
 
The Secret Life of Side Projects
The Secret Life of Side ProjectsThe Secret Life of Side Projects
The Secret Life of Side Projects
 
Android app development – what you should not
Android app development – what you should notAndroid app development – what you should not
Android app development – what you should not
 
Equipment list software
Equipment list softwareEquipment list software
Equipment list software
 
Critical analysis 4
Critical analysis 4Critical analysis 4
Critical analysis 4
 
Embracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with GutenbergEmbracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with Gutenberg
 
Junior.next(LeadDeveloper)
Junior.next(LeadDeveloper)Junior.next(LeadDeveloper)
Junior.next(LeadDeveloper)
 
Toronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics acceleratorToronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics accelerator
 
Shrey jairath li
Shrey jairath liShrey jairath li
Shrey jairath li
 
Shrey jairath
Shrey jairathShrey jairath
Shrey jairath
 
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
From idea to market in 48 hours - Steven Van Bael - droidcon.be 2011
 

Semelhante a Large Scale SPA

Semelhante a Large Scale SPA (20)

How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
 
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile appsUsing PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
 
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJSMicro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the web
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
 
Learning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails LaunchLearning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails Launch
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
Why Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your ClientsWhy Your Site is Slow: Performance Answers for Your Clients
Why Your Site is Slow: Performance Answers for Your Clients
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Web components and Package managers
Web components and Package managersWeb components and Package managers
Web components and Package managers
 
2020 Top Web Development Trends
2020 Top Web Development Trends2020 Top Web Development Trends
2020 Top Web Development Trends
 
How to do b tech be projects or any academic projects
How to do b tech be projects or any academic projectsHow to do b tech be projects or any academic projects
How to do b tech be projects or any academic projects
 
RealDay: Angular.js
RealDay: Angular.jsRealDay: Angular.js
RealDay: Angular.js
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Google summer of code 2012
Google summer of code 2012Google summer of code 2012
Google summer of code 2012
 
Rapid design prototyping
Rapid design prototypingRapid design prototyping
Rapid design prototyping
 
Universal apps lightning talk
Universal apps lightning talk Universal apps lightning talk
Universal apps lightning talk
 
Beyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web applicationBeyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web application
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Último (20)

Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
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
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Large Scale SPA

  • 1. Large Scale SPA A Retrospective Reza Moaiandin @moaiandin
  • 2. Who am I? Job title: Application Developer What do I do? Front End Development + Some backend For How long? 8 months as Front End Dev 2.5 Years as Software engineer Strengths : JavaScript & PHP I work for Flashtalking Leeds Twitter: @moaiandin @moaiandin
  • 3. What is SPA? “Single page applications are the modern version of web apps where all/majority of the interactions are handled on a single page” They have very little server interaction (Thin Server Architecture) @moaiandin
  • 4. Any Examples? What I do at Flashtalking: AdBuilder (The real deal!) Others: Trello, Gmail, Twitter & Facebook (Almost) @moaiandin
  • 5. jQuery Rocks! Why should I care? So you think you are a JavaScript Ninja? @moaiandin
  • 7. Also… Not designed for very complex applications Lots of nested code No Structure Bad performance SAD JQUERY NINJA! @moaiandin
  • 8. What do we get from SPA? Speed, Fast response time! Modular Maintainable Decoupled Extensible Structured @moaiandin
  • 9. It’s nice to work on! @moaiandin
  • 10. How do we do it? What do we use? @moaiandin
  • 11. Dos Plan Keep things structured Use task runners (Grunt, Gulp) Use libraries that work for your SPA (Backbone, AngularJS) Don’t change path Test Do it right, MV* Use routers if you need it (Keep SEO people Happy) @moaiandin
  • 12. Do it right, MV* Use routes if you need it (Keeping SEO people Happy) SERVER MODEL VIEW CONTROLLER Templates View Router Events Events Events Model Collection Read Update Client Browser @moaiandin
  • 13. Don’ts Don’t Try to reinvent the wheel! Look for the tool/library you need before making it! Don’t feel constrained to use what the library/tool gives you Don’t write tests after development It’s not DDT, It’s TDD! @moaiandin
  • 14. Don’t leave crumbs! Look out for memory leaks, clean them up! @moaiandin
  • 15. Questions? Thank you @moaiandin

Notas do Editor

  1. Majority of the processing is going to happen on the clients browser
  2. Talk about magento’s slow speed
  3. Agile meetings