SlideShare a Scribd company logo
FRONTEND 'VS' BACKEND
GETTING THE RIGHT MIX
Created by / /Bob Paulin @bobpaulin bob@bobpaulin.com
ABOUT ME
Independent Consultant
Business Enablement
Web Centric
A LONG TIME AGO I CREATED "FACEBOOK"
College students love seeing pictures of their friends doing
stupid things at parties
Photoshop can be used to make funny pictures even more
funny
Do not host anything on your school's web property
WHAT THIS TALK IS NOT
Deep Dive into web frameworks
THE answer on which architecture is better
WHAT THIS TALK IS
Using Frontend and Backend frameworks together
How developers work together
Advantages and disadvantages of architectures
Some empirical data on architecture performance
HOW DID WE GET HERE?
Complexity
Corporate Culture
Developer Aptitudes
BACKEND DEVELOPER
TYPICAL BACKEND DEVELOPERS
Focus on the server side
Data Storage and Retrieval
System Architecture
Availability
Does it work?
FRONTEND DEVELOPER
TYPICAL FRONTEND DEVELOPERS
Client/Browser focused
Information Architecture
Closer to creative/design
Does it look right?
DOES THIS MODEL ACTUALLY WORK?
CHALLENGES WITH FRONTEND/BACKEND
TEAMS
COMPETING REQUIREMENTS
FREQUENT HANDOFFS
FRAMEWORKS OFTEN COUPLE FRONTEND AND
BACKEND TECHNOLOGIES
ANOTHER WAY TO THINK ABOUT THE PROBLEM...
AN AMERICAN FOOTBALL ANALOGY
FRONTEND DEVELOPERS = OFFENSIVE BACKS
FRONTEND DEVELOPERS = OFFENSIVE BACKS
Score Points with Customers
Work is highly visible
Can be limited by poor play at other positions
Often get the biggest share of blame when things go wrong
and praise when things go right
BACKEND DEVELOPERS = OFFENSIVE LINE
BACKEND DEVELOPERS = OFFENSIVE LINE
Enable other positions to do great work
Work is not usually visible
Mistakes often have a cascading effect
Generally only get blamed when things go wrong. When
things go right .... well things are just suppose to work all the
time right?
OK ENOUGH ABOUT YOUR PEOPLE PROBLEMS
LETS LOOK AT SOME CODE ALREADY!
3 DIFFERENT APPROACHES TO THE SAME WEB
SITE
REQUIREMENTS - A BOOK REVIEW SITE
Allow users to select keyword preferences
Allow users to view and post review comments about a
specific book
Should use responsive design. Because, well, that's the hot
new thing right?
A BACKEND RECIPE
Spring MVC
Spring Data
MongoDB
Apache Tomcat
Apache Http Server
JSP
Twitter Bootstrap
WRO4J
Amazon Cloudfront (CDN)
DESIGN
Cache Google Api Response for Books and Book Search
Consolidate and minify CSS and JS using WRO4J
Page turn between Homepage and Reviews
Page can't be cached but static resources can
CODE
Spring MVC Controller
Spring Data Services
WRO4J Config
ARCHITECTURE
A FRONTEND RECIPE
Brunch
ChaplinJS
CoffeeScript
Handlebars
Node.js
Apache CXF
Spring Data
MongoDB
Apache Tomcat
Apache Http Server
Twitter Bootstrap
Amazon Cloudfront (CDN)
DESIGN
All Services are done through AJAX
Apache CXF Provides Restful
Services(Consumers/Producers) JAX-RS
Single Page Application Behavior via Chaplin
Node.js but only for Brunch Compilation
All pages and frontend code cached
Some Data Services Cached: Volatile vs Static
CODE
index.html - Look Ma, only 16 lines of server side html!
Chaplin Controller
Chaplin Views
Chaplin Models
Handlebars Templates
Apache CXF JAX-RS
INDEX.HTML
<!doctype html>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Frontend Home Page</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/frontend-web/stylesheets/app.css">
<script src="/frontend-web/javascripts/vendor.js"></script>
<script src="/frontend-web/javascripts/app.js"></script>
<script> </script>
</head>
<body>
</body>
</html>
require('initialize');
ARCHITECTURE
A MIXED RECIPE
FRONTEND TECH
Backbone
CoffeeScript
Handlebars
Twitter Bootstrap
BACKEND TECH
Spring MVC
Handlebars.java
WRO4J
Apache CXF
Spring Data
MongoDB
Apache Tomcat
Apache Http Server
Amazon Cloudfront (CDN)
DESIGN
Some Services are done through AJAX others on Serverside
Apache CXF Provides Restful
Services(Consumers/Producers) JAX-RS
Page turn between Homepage and Reviews
Page can't be cached but static and service resources can
Page actions do not require page turns
Templates are shared between frontend and backend
Book Searches are cached with data URIs
CODE
Cached Controller
WRO4J
Backbone Views
ARCHITECTURE
TEST DESIGN
Web Page Test
Browser - Current Chrome
Location - Virgina
Click events tested locally using Chrome Developer Tools
TEST SCRIPT
1. Homepage View
2. Add a New Book Preference
3. Open a Review
4. Add A Comment
Frontend 'vs' Backend   Getting the Right Mix
BACKEND HOMEPAGE WATERFALL
FRONTEND HOMEPAGE WATERFALL
MIXED HOMEPAGE WATERFALL
Frontend 'vs' Backend   Getting the Right Mix
Frontend 'vs' Backend   Getting the Right Mix
BACKEND REVIEW WATERFALL
FRONTEND REVIEW WATERFALL
MIXED REVIEW WATERFALL
Frontend 'vs' Backend   Getting the Right Mix
Frontend 'vs' Backend   Getting the Right Mix
Frontend 'vs' Backend   Getting the Right Mix
DISCUSSION
What does this data tell us?
What does it not tell us?
Which is most scalable?
Variations between Browsers
CONCLUSIONS
BACKEND SUMMARY
Most consistant load times
Better performance with static data
Less requests
Full page loads for incremental changes can prevent optimal
performance
Data is embedded within the page so it can't be separated
into different TTL
Dynamic content within the JSP prevents pages from being
cached. Increases traffic to the origin
FRONTEND SUMMARY
Requests handled independently. Enables fine grain caching
Eliminates page turns to refesh data model
Significant caching opportunities at the edge
Generates more requests
Higher memory and CPU consumption on the client end
MIXED SUMMARY
Allows the most flexibility in how information is loaded
Code reuse at the template level
Eliminates some page turns related to data updates
Performance suffers when both page and services are
volatile (non-cachable)
REFERENCES
CODE AND PRESENTATION
Frontend "vs" Backend
FRONTEND
BackboneJS
Brunch
ChaplinJS
CoffeeScript
Handlebars
Twitter Bootstrap
BACKEND
Apache CXF
Handlebars.java
MongoDB
Spring Data
Spring MVC
WRO4J
BOB PAULIN
/ /BOB PAULIN @BOBPAULIN BOB@BOBPAULIN.COM

More Related Content

What's hot (20)

ODP
The Full Stack Web Development
Sam Dias
 
PDF
Introduction to back-end
Mosaab Ehab
 
PDF
API : l'architecture REST
Fadel Chafai
 
PPT
Web server
Sajan Sahu
 
PPTX
Web 3.0.pptx
AASCREATIVE
 
PPTX
Web application architecture
Tejaswini Deshpande
 
PDF
Web Design (Tools)
Mohamed Elabnody
 
PPTX
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
PPTX
Front End Development | Introduction
JohnTaieb
 
PDF
Internship - Bootstrap
tanay29
 
PDF
The Semantic Web: An Introduction
Elena Simperl
 
PDF
Web 3.0 Intro
Justin Lee
 
PDF
Api presentation
Tiago Cardoso
 
PPTX
WEB Scraping.pptx
Shubham Jaybhaye
 
PPTX
Internship Presentation 1 Web Developer
Hemant Sarthak
 
PPTX
Front-End Web Development
Yash Sati
 
PPT
HTTP Basics
sanjoysanyal
 
PDF
Sample Website Proposal Presentation
Reach China Holdings Limited
 
PPTX
List of Web Technologies used in Web Development
Jayapal Reddy Nimmakayala
 
PDF
Deep Learning for Information Retrieval: Models, Progress, & Opportunities
Matthew Lease
 
The Full Stack Web Development
Sam Dias
 
Introduction to back-end
Mosaab Ehab
 
API : l'architecture REST
Fadel Chafai
 
Web server
Sajan Sahu
 
Web 3.0.pptx
AASCREATIVE
 
Web application architecture
Tejaswini Deshpande
 
Web Design (Tools)
Mohamed Elabnody
 
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
Front End Development | Introduction
JohnTaieb
 
Internship - Bootstrap
tanay29
 
The Semantic Web: An Introduction
Elena Simperl
 
Web 3.0 Intro
Justin Lee
 
Api presentation
Tiago Cardoso
 
WEB Scraping.pptx
Shubham Jaybhaye
 
Internship Presentation 1 Web Developer
Hemant Sarthak
 
Front-End Web Development
Yash Sati
 
HTTP Basics
sanjoysanyal
 
Sample Website Proposal Presentation
Reach China Holdings Limited
 
List of Web Technologies used in Web Development
Jayapal Reddy Nimmakayala
 
Deep Learning for Information Retrieval: Models, Progress, & Opportunities
Matthew Lease
 

Viewers also liked (16)

PDF
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
Sauce Labs
 
PDF
Front end for back end developers
Wojciech Bednarski
 
PDF
Tecnologia front end back-end
Andressa Silveira
 
TXT
php Mailer
Randy Arios
 
PDF
Local File Inclusion to Remote Code Execution
n|u - The Open Security Community
 
PDF
Object Oriented Programming in PHP
Lorna Mitchell
 
PPTX
Top 5 Javascript Frameworks for Web and Mobile App Development
Algoworks Inc
 
PDF
Frontend Resource Intergration and Sharing - Modern Web 2016 review
Laura Lee
 
PDF
A Simpler Web App Architecture (jDays 2016)
Gustaf Nilsson Kotte
 
PDF
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
acogoluegnes
 
PPTX
Full stack-development with node js
Xuefeng Zhang
 
PPTX
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
Xuefeng Zhang
 
PDF
Frontend django, Django Web 前端探索
Tim (文昌)
 
PDF
Web developer / Full Stack Engineer/ backend Developer /Frontend Developer
ruochen Liao
 
PDF
Progressive Web Apps for Beginners
Pietro Alberto Rossi
 
PDF
第一次用 Vue.js 就愛上 [改]
Kuro Hsu
 
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
Sauce Labs
 
Front end for back end developers
Wojciech Bednarski
 
Tecnologia front end back-end
Andressa Silveira
 
php Mailer
Randy Arios
 
Local File Inclusion to Remote Code Execution
n|u - The Open Security Community
 
Object Oriented Programming in PHP
Lorna Mitchell
 
Top 5 Javascript Frameworks for Web and Mobile App Development
Algoworks Inc
 
Frontend Resource Intergration and Sharing - Modern Web 2016 review
Laura Lee
 
A Simpler Web App Architecture (jDays 2016)
Gustaf Nilsson Kotte
 
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
acogoluegnes
 
Full stack-development with node js
Xuefeng Zhang
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
Xuefeng Zhang
 
Frontend django, Django Web 前端探索
Tim (文昌)
 
Web developer / Full Stack Engineer/ backend Developer /Frontend Developer
ruochen Liao
 
Progressive Web Apps for Beginners
Pietro Alberto Rossi
 
第一次用 Vue.js 就愛上 [改]
Kuro Hsu
 
Ad

Similar to Frontend 'vs' Backend Getting the Right Mix (20)

PDF
The Web Scale
Guille -bisho-
 
PDF
Going mobile with RichFaces
Lukáš Fryč
 
PDF
Optimizing for Change (Henrik Joreteg)
Future Insights
 
PDF
Trends in front end engineering_handouts
AE - architects for business and ict
 
PPTX
Build Web Applications
Tom Crombez
 
PPTX
Internship full stack developer ppt report .pptx
AnkitaVerma776806
 
PDF
Next Generation Web Development Techniques with Cloud Foundry
Malachi Smith
 
PPTX
Versulo (2)
Mircea Chirea
 
PPTX
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Front-end rich JavaScript application creation (Backbone.js)
Oleksii Prohonnyi
 
PDF
Web Development Presentation
TurnToTech
 
PDF
Node.js BFFs - our way to the better/micro frontends
Eugene Fidelin
 
KEY
Web frameworks don't matter
Tomas Doran
 
PPTX
Martin Splitt "A short history of the web"
Fwdays
 
PPTX
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Jason Strimpel
 
PDF
Pablo Villalba -
.toster
 
PDF
ITT Flisol 2013
Domingo Suarez Torres
 
PPTX
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
PPTX
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
KEY
How to do Scalable UI-Heavy Development at a Breakneck Pace
SV Ruby on Rails Meetup
 
The Web Scale
Guille -bisho-
 
Going mobile with RichFaces
Lukáš Fryč
 
Optimizing for Change (Henrik Joreteg)
Future Insights
 
Trends in front end engineering_handouts
AE - architects for business and ict
 
Build Web Applications
Tom Crombez
 
Internship full stack developer ppt report .pptx
AnkitaVerma776806
 
Next Generation Web Development Techniques with Cloud Foundry
Malachi Smith
 
Versulo (2)
Mircea Chirea
 
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Front-end rich JavaScript application creation (Backbone.js)
Oleksii Prohonnyi
 
Web Development Presentation
TurnToTech
 
Node.js BFFs - our way to the better/micro frontends
Eugene Fidelin
 
Web frameworks don't matter
Tomas Doran
 
Martin Splitt "A short history of the web"
Fwdays
 
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Jason Strimpel
 
Pablo Villalba -
.toster
 
ITT Flisol 2013
Domingo Suarez Torres
 
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
How to do Scalable UI-Heavy Development at a Breakneck Pace
SV Ruby on Rails Meetup
 
Ad

More from Bob Paulin (12)

PPTX
Fundraising At Apache
Bob Paulin
 
PPTX
Open Development When You're Not in Charge
Bob Paulin
 
PDF
Apache When You're Not in Charge
Bob Paulin
 
ODP
Modular Open Source in Java for Now and Later
Bob Paulin
 
ODP
Microservice Networking in Anger
Bob Paulin
 
PPTX
User Groups: The Gateway to Apache
Bob Paulin
 
PDF
What's My Modularity
Bob Paulin
 
PDF
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Bob Paulin
 
PDF
Adding Modularity Afterward with Embedded OSGi
Bob Paulin
 
PDF
Continuous delivery with Gradle
Bob Paulin
 
PPT
Build Your Own CMS with Apache Sling
Bob Paulin
 
PPT
Code Quality Practice and Tools
Bob Paulin
 
Fundraising At Apache
Bob Paulin
 
Open Development When You're Not in Charge
Bob Paulin
 
Apache When You're Not in Charge
Bob Paulin
 
Modular Open Source in Java for Now and Later
Bob Paulin
 
Microservice Networking in Anger
Bob Paulin
 
User Groups: The Gateway to Apache
Bob Paulin
 
What's My Modularity
Bob Paulin
 
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Bob Paulin
 
Adding Modularity Afterward with Embedded OSGi
Bob Paulin
 
Continuous delivery with Gradle
Bob Paulin
 
Build Your Own CMS with Apache Sling
Bob Paulin
 
Code Quality Practice and Tools
Bob Paulin
 

Recently uploaded (20)

PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 

Frontend 'vs' Backend Getting the Right Mix