SlideShare a Scribd company logo
FUTURE-PROOF RWD
ADAM CHAMBERS
Senior Developer, Digital Surgeons
!

@chambaz
digitalsurgeons.com
FUTURE-PROOF RWD
FUTURE-PROOF RWD
Desktop
Tablet
Mobile
THE
INTERNET
OF THINGS
Future-proofing Responsive Web Designs.
• Elastic layouts
• Mobile first
• Progressive enhancement
• Modular & semantic
• Lightweight & performant
Bourbon & Neat
Keep it relative
Elastic Layouts.
• Rems

Font sizes

• Ems

Structure, widths, heights, margins, padding

•%

Structure, widths, heights, margins, padding

• Px

Sprites, borders, rounded corners
What is an em?
“One em is equal to the computed
value of the ‘font-size’ property of
the element on which it is used”
What is an em?
body { font-size: 100%; }	

body header { font-size: 2em; }	

1em = 16px

1em = 32px

2em = 32px

2em = 64px
Elastic Layouts.
• Rems

Font sizes

• Ems

Structure, widths, heights, margins, padding

•%

Structure, widths, heights, margins, padding

• Px

Sprites, borders, rounded corners
Why not px?
Why ems?
Absolute Typography.
Base font size 16px

Base font size 40px
Relative Typography.
Base font size 16px

Base font size 40px
Absolute / Relative Media Queries.
Px base media query

Em based media query
Start small
Mobile first.
• Often referred to by the misleading term “mobile first”
• It’s really just common sense to start small and work up
• Mobile browsing is fast overtaking desktop browsing
• Forces focus by embracing the constraints of smaller devices
• Lets call it “content first”
Min-width Media Queries.
Max-width

Min-width

.responsive-element {	
	
padding: 0;	
	
@include span-columns(6);	

.responsive-element {	
	
padding: 1em;	
	
width: 100%;	
	
	
	
@include media(min-width: 48em) {	
	
	
padding: 0;	
	
	
@include span-columns(6);	
	
}	
}

!

	
	
	
	
}

@include media(max-width: 48em) {	
	
padding: 1em;	
	
width: 100%;	
}
From the ground up
Progressive Enhancement.
• Progressively enhance rather than gracefully degrading
• Starting simple and adding complexity causes far less headaches
• Load your advanced features when supported
• Just like our layouts, our functionality can grow and not shrink
• Lets call it “content first”
Progressive Enhancement.
Cutting the mustard

Progressive Enhancement

// cutting the mustard	
if(‘querySelector’ in document &&	
‘localStorage’ in window &&	
‘addEventListener’ in window) {	

if(Modernizr.webp) {	
	
// use webp images	
} else if(Modernizr.svg) {	
	
// ok use sag then	
}	

!

	
}

// all the things	

!

if(Modernizr.geolocation) {	
	
// geolocation wizardry	
}	
!

if(window.matchMedia(‘min-width: 48em’).matches) {	
	
// all the things	
}
<!––

ResponsiveComments.com ––>
Modular & meaningful
Sassy Modularity.
• I’m sure we all agree that modularity is essential
• Maintainability is essential in future proof applications
• Placeholders are invisible, reusable blocks of CSS
• Extend placeholders into classes for performant modularity
• Sass allows us to create semantic, content driven classes
Modular CSS.
HTML

CSS
.product {	
	
width: 25%;	
	
padding: 2em;	
	
float: left;	
}

.featured {	
	
width: red;	
}

<div class=“product”>	
	
<!-— product markup —->	
</div>	
!

<div class=“product featured”>	
	
<!-— featured product markup —->	
</div>
Modular Sass.
SCSS
%product {	
	
width: 25%;	
	
padding: 2em;	
	
float: left;	
}	
!

%featured {	
	
background: red;	
}

HTML
.product {	
	
@extend %product;	
}	

<div class=“product”>	
	
<!-— product markup —->	
</div>	

!

!

.featured-product {	
	
@extend %product;	
	
@extend %featured;	
}

<div class=“featured-product”>	
	
<!-— featured product markup —->	
</div>
Modular Sass.
SCSS

CSS

%title {	
	
text-transform: uppercase;	
	
line-height: 3;	
	
color: #000;	
}	

.product-title,	
.cart-title {	
	
text-transform: uppercase;	
	
line-height: 3;	
	
color: #000;	
}	

!

.product-title {	
	
margin: 20px 0;	
	
@extend %title;	
}	

!

!

!

.cart-title {	
	
float: right;	
	
@extend %title;	
}

.cart-title {	
	
float: right;	
}

.product-title {	
	
margin: 20px 0;	
}
Light & fast
Monolithic Frameworks.
• Frameworks are essential for rapid development
• Providing building blocks for your application
• Large overhead and code bloat
• Pick and choose exactly what you require
Mixins.
• Mixins are invisible, reusable blocks of CSS
• Arguments and conditional logic
• Mixin libraries have no overhead
• Only use exactly what you require
Mixin Libraries.
.product {	
	 @include span-columns(4);	
}	
!

%outer-container {	
	 @include outer-container();	
}	
!

.product-container {	
	 @extend %outer-container;	
}

@mixin btn($color) {	
	 @extend %btn;	
	 background-color: $color;	
}	
!

.product-btn {	
	 @include btn(#c0392b);	
}	
!

.delete-btn {	
	 @include btn(#d54445);	
}
jQuery.
• jQuery is a fantastic library for cross browser development
• Do you really need the entire 100kb?
• Not just page weight but call stack size
• Native JavaScript support is actually pretty good
Vanilla JS.
var products = document.querySelectorAll(‘.product’);	
!

var featuredProduct = document.querySelector(‘.featured-product’);	
!

[].forEach.call(products, function(product) {	
	 // do something with each product	
});	
!

featuredProduct.classList.add(‘active’);	
featuredProduct.classList.remove(‘active’);	
featuredProduct.classList.contains(‘active’);
Bower.
• Dependency management for the front end
• Micro-libraries over monolithic frameworks
• Small libraries that serve a single purpose
• Pick and choose exactly what you require
Bower.json
{	
"name": "Digital Surgeons",	
"version": "1.0.0",	
"private": true,	
"dependencies": {	
"normalize-scss": "~2.1.3",	
"responsive-comments": "~1.2.1",	
"html5-polyfills": "*",	
"matchmedia": "~0.1.0",	
"headroom.js": "~0.3.9",	
"raf.js": "~0.0.3",	
"respond": "~1.4.2",	
"html5shiv": "~3.7.0",	
"slider": "https://github.com/cferdinandi/slider.git",	
"swiper": "~2.4.3",	
"move.js": "https://github.com/visionmedia/move.js.git#~0.3.3",	
"imagesloaded": "~3.1.4"	
}	
}
Grunt.
• Task runner and build processes for the front end
• Package your front end code for production
• Compile, minify, concatenate, optimise
• If at all possible, automate it
Gruntfile.js
files: {	
	
// global JS	
	
‘js/dist/global.js’: [	
	
	
‘bower_components/raf.js/raf.min.js’,	
	
	
‘bower_components/html5-polyfills/classList.js’,	
	
	
‘bower_components/responsive-comments/responsive-comments.js’,	
	
	
‘bower_components/anim/anim.min.js’,	
	
	
‘bower_components/headroom.js/dist/headroom.js’,	
	
	
‘js/src/global.js’	
	
],	
	
// global JS + page specific	
	
‘js/dist/home.js’: [	
	
	
‘bower_components/swiper/dist/idangerous.swiper.js’,	
	
	
‘bower_components/eventEmitter/EventEmitter.min.js’,	
	
	
‘bower_components/eventie/eventie.js’,	
	
	
‘bower_components/imagesloaded/imagesloaded.js’,	
	
	
‘js/dist/global.js’,	
	
	
‘js/src/slider.js’,	
	
	
‘js/src/home.js’	
	
]	
}

watch: {	
	
scripts: {	
	
files: [‘js/src/*.js’],	
	
tasks: [‘uglify’],	
	
options: {	
	
	
spawn: false,	
	 livereload: true	
	
}	
	
},	
css: {	
	
files: ‘sass/*.scss’,	
	
tasks: [‘sass’],	
	
options: {	
	
	
livereload: true,	
	
}	
}	
}
#perfmatters.
• Performance is no longer just load time, it’s a feature
• Rendering performance is essential in a world of client side apps
• Use Chrome’s extensive Dev Tools to profile and optimise
• Make your application run fast and smoothly over time
Rendering Performance.
Painting Performance.
Future-proofing Responsive Web Designs.
• Elastic layouts
• Mobile first
• Progressive enhancement
• Modular & semantic
• Lightweight & performant
“Amazing last quote
with something meaningful
and memorable.”
#perfmatters
FUTURE-PROOF RWD
Follow me @chambaz
digitalsurgeons.com

More Related Content

What's hot

Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
Debra Shapiro
 
The WordPress Way
The WordPress WayThe WordPress Way
The WordPress Way
Kan Ouivirach, Ph.D.
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5
Dave Balmer
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introduction
Allen Wu
 
CSS Generator Tools
CSS Generator ToolsCSS Generator Tools
CSS Generator Toolslillianabe
 
Responsive Web Design: Tips and Tricks
Responsive Web Design: Tips and TricksResponsive Web Design: Tips and Tricks
Responsive Web Design: Tips and Tricks
Gautam Krishnan
 
Psd 2 Drupal
Psd 2 DrupalPsd 2 Drupal
Psd 2 Drupal
Nicolas Borda
 
Web Building Blocks
Web Building BlocksWeb Building Blocks
Web Building Blocksjoegilbert
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
Sean Wolfe
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers)
Sara Soueidan
 
CSS架構如何加速功能開發
CSS架構如何加速功能開發CSS架構如何加速功能開發
CSS架構如何加速功能開發
Oliver Lin
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
Nathan Smith
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
Doris Chen
 
To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014
James Bonham
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
Pascal Rettig
 
Thinkin' Tags - Rapid Prototyping of CSS Layouts
Thinkin' Tags - Rapid Prototyping of CSS LayoutsThinkin' Tags - Rapid Prototyping of CSS Layouts
Thinkin' Tags - Rapid Prototyping of CSS Layouts
djesse
 
Choosing your animation adventure - Generate NYC 2018
Choosing your animation adventure  - Generate NYC 2018Choosing your animation adventure  - Generate NYC 2018
Choosing your animation adventure - Generate NYC 2018
Val Head
 
Bootstrap Workout 2015
Bootstrap Workout 2015Bootstrap Workout 2015
Bootstrap Workout 2015
Rob Davarnia
 
새로운 웹 스타일링, 안 본 사람 없게 해주세요
새로운 웹 스타일링, 안 본 사람 없게 해주세요새로운 웹 스타일링, 안 본 사람 없게 해주세요
새로운 웹 스타일링, 안 본 사람 없게 해주세요
NAVER Engineering
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 

What's hot (20)

Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
The WordPress Way
The WordPress WayThe WordPress Way
The WordPress Way
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introduction
 
CSS Generator Tools
CSS Generator ToolsCSS Generator Tools
CSS Generator Tools
 
Responsive Web Design: Tips and Tricks
Responsive Web Design: Tips and TricksResponsive Web Design: Tips and Tricks
Responsive Web Design: Tips and Tricks
 
Psd 2 Drupal
Psd 2 DrupalPsd 2 Drupal
Psd 2 Drupal
 
Web Building Blocks
Web Building BlocksWeb Building Blocks
Web Building Blocks
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers)
 
CSS架構如何加速功能開發
CSS架構如何加速功能開發CSS架構如何加速功能開發
CSS架構如何加速功能開發
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
 
Thinkin' Tags - Rapid Prototyping of CSS Layouts
Thinkin' Tags - Rapid Prototyping of CSS LayoutsThinkin' Tags - Rapid Prototyping of CSS Layouts
Thinkin' Tags - Rapid Prototyping of CSS Layouts
 
Choosing your animation adventure - Generate NYC 2018
Choosing your animation adventure  - Generate NYC 2018Choosing your animation adventure  - Generate NYC 2018
Choosing your animation adventure - Generate NYC 2018
 
Bootstrap Workout 2015
Bootstrap Workout 2015Bootstrap Workout 2015
Bootstrap Workout 2015
 
새로운 웹 스타일링, 안 본 사람 없게 해주세요
새로운 웹 스타일링, 안 본 사람 없게 해주세요새로운 웹 스타일링, 안 본 사람 없게 해주세요
새로운 웹 스타일링, 안 본 사람 없게 해주세요
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 

Viewers also liked

How to Build a Brand Voice Toolkit
How to Build a Brand Voice ToolkitHow to Build a Brand Voice Toolkit
How to Build a Brand Voice Toolkit
Digital Surgeons
 
In Content Strategy, L.E.S.S. is More
In Content Strategy, L.E.S.S. is MoreIn Content Strategy, L.E.S.S. is More
In Content Strategy, L.E.S.S. is More
Digital Surgeons
 
Creating Powerful Customer Experiences
Creating Powerful Customer ExperiencesCreating Powerful Customer Experiences
Creating Powerful Customer Experiences
Digital Surgeons
 
Unlock Your Organization Through Digital Transformation
Unlock Your Organization Through Digital TransformationUnlock Your Organization Through Digital Transformation
Unlock Your Organization Through Digital Transformation
Digital Surgeons
 
What is media planning?
What is media planning?What is media planning?
What is media planning?
John V Willshire
 
How to Stream Video Games: A Primer on Twitch.tv
How to Stream Video Games: A Primer on Twitch.tvHow to Stream Video Games: A Primer on Twitch.tv
How to Stream Video Games: A Primer on Twitch.tv
Digital Surgeons
 
Better Twitch Broadcasting through Rapid Prototyping & Human Centered Design
Better Twitch Broadcasting through Rapid Prototyping & Human Centered DesignBetter Twitch Broadcasting through Rapid Prototyping & Human Centered Design
Better Twitch Broadcasting through Rapid Prototyping & Human Centered Design
Digital Surgeons
 
Design Thinking: The one thing that will transform the way you think
Design Thinking: The one thing that will transform the way you thinkDesign Thinking: The one thing that will transform the way you think
Design Thinking: The one thing that will transform the way you think
Digital Surgeons
 
IDEO's design thinking.
IDEO's design thinking. IDEO's design thinking.
IDEO's design thinking.
BeeCanvas
 
Design Thinking - Bootcamp
Design Thinking - BootcampDesign Thinking - Bootcamp
Design Thinking - Bootcamp
Jan Schmiedgen
 
Art, Meet Copy: A Copywriting Primer for Designers
Art, Meet Copy: A Copywriting Primer for Designers Art, Meet Copy: A Copywriting Primer for Designers
Art, Meet Copy: A Copywriting Primer for Designers
Digital Surgeons
 
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsFight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
Digital Surgeons
 
The role of Design Thinking
The role of Design ThinkingThe role of Design Thinking
The role of Design Thinking
Pieter Baert
 
Responsive Web Design Workshop
Responsive Web Design WorkshopResponsive Web Design Workshop
Responsive Web Design Workshop
Stewart Curry
 
How to Build Innovative Products with Facebook Topic Data
How to Build Innovative Products with Facebook Topic DataHow to Build Innovative Products with Facebook Topic Data
How to Build Innovative Products with Facebook Topic Data
DataSift
 
How Brands Can Win Fans With the New Instagram Ads
How Brands Can Win Fans With the New Instagram AdsHow Brands Can Win Fans With the New Instagram Ads
How Brands Can Win Fans With the New Instagram Ads
Brandfolder
 
Brandfolder - JSON + Postgres
Brandfolder - JSON + PostgresBrandfolder - JSON + Postgres
Brandfolder - JSON + Postgres
Brandfolder
 
Influence Of Technology & Productivity In The Workplace
Influence Of Technology & Productivity In The WorkplaceInfluence Of Technology & Productivity In The Workplace
Influence Of Technology & Productivity In The Workplace
MyCase Legal Case and Practice Management Software
 
10 Tips For Finding Your Tone Of Voice
10 Tips For Finding Your Tone Of Voice10 Tips For Finding Your Tone Of Voice
10 Tips For Finding Your Tone Of Voice
Mark Carroll
 

Viewers also liked (20)

How to Build a Brand Voice Toolkit
How to Build a Brand Voice ToolkitHow to Build a Brand Voice Toolkit
How to Build a Brand Voice Toolkit
 
In Content Strategy, L.E.S.S. is More
In Content Strategy, L.E.S.S. is MoreIn Content Strategy, L.E.S.S. is More
In Content Strategy, L.E.S.S. is More
 
Creating Powerful Customer Experiences
Creating Powerful Customer ExperiencesCreating Powerful Customer Experiences
Creating Powerful Customer Experiences
 
Unlock Your Organization Through Digital Transformation
Unlock Your Organization Through Digital TransformationUnlock Your Organization Through Digital Transformation
Unlock Your Organization Through Digital Transformation
 
What is media planning?
What is media planning?What is media planning?
What is media planning?
 
How to Stream Video Games: A Primer on Twitch.tv
How to Stream Video Games: A Primer on Twitch.tvHow to Stream Video Games: A Primer on Twitch.tv
How to Stream Video Games: A Primer on Twitch.tv
 
Better Twitch Broadcasting through Rapid Prototyping & Human Centered Design
Better Twitch Broadcasting through Rapid Prototyping & Human Centered DesignBetter Twitch Broadcasting through Rapid Prototyping & Human Centered Design
Better Twitch Broadcasting through Rapid Prototyping & Human Centered Design
 
Design Thinking: The one thing that will transform the way you think
Design Thinking: The one thing that will transform the way you thinkDesign Thinking: The one thing that will transform the way you think
Design Thinking: The one thing that will transform the way you think
 
IDEO's design thinking.
IDEO's design thinking. IDEO's design thinking.
IDEO's design thinking.
 
Design Thinking - Bootcamp
Design Thinking - BootcampDesign Thinking - Bootcamp
Design Thinking - Bootcamp
 
Art, Meet Copy: A Copywriting Primer for Designers
Art, Meet Copy: A Copywriting Primer for Designers Art, Meet Copy: A Copywriting Primer for Designers
Art, Meet Copy: A Copywriting Primer for Designers
 
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsFight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
 
The role of Design Thinking
The role of Design ThinkingThe role of Design Thinking
The role of Design Thinking
 
Responsive Web Design Workshop
Responsive Web Design WorkshopResponsive Web Design Workshop
Responsive Web Design Workshop
 
How to Build Innovative Products with Facebook Topic Data
How to Build Innovative Products with Facebook Topic DataHow to Build Innovative Products with Facebook Topic Data
How to Build Innovative Products with Facebook Topic Data
 
portfolio
portfolioportfolio
portfolio
 
How Brands Can Win Fans With the New Instagram Ads
How Brands Can Win Fans With the New Instagram AdsHow Brands Can Win Fans With the New Instagram Ads
How Brands Can Win Fans With the New Instagram Ads
 
Brandfolder - JSON + Postgres
Brandfolder - JSON + PostgresBrandfolder - JSON + Postgres
Brandfolder - JSON + Postgres
 
Influence Of Technology & Productivity In The Workplace
Influence Of Technology & Productivity In The WorkplaceInfluence Of Technology & Productivity In The Workplace
Influence Of Technology & Productivity In The Workplace
 
10 Tips For Finding Your Tone Of Voice
10 Tips For Finding Your Tone Of Voice10 Tips For Finding Your Tone Of Voice
10 Tips For Finding Your Tone Of Voice
 

Similar to Future-Proof Responsive Web Design #RWD

Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
Mike Wilcox
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
Yandex
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
Vitaly Friedman
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
Volunteer.rb
Volunteer.rbVolunteer.rb
Volunteer.rb
Korab Hoxha
 
Xamarin 9/10 San Diego Meetup
Xamarin 9/10 San Diego MeetupXamarin 9/10 San Diego Meetup
Xamarin 9/10 San Diego Meetup
Seamgen
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
scottjehl
 
Devon 2011-f-1 반응형 웹 디자인
Devon 2011-f-1  반응형 웹 디자인Devon 2011-f-1  반응형 웹 디자인
Devon 2011-f-1 반응형 웹 디자인Daum DNA
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bend
Raj Lal
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
Diacode
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflowPeter Kaizer
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
Andy Stratton
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scala
scalaconfjp
 
Solid And Sustainable Development in Scala
Solid And Sustainable Development in ScalaSolid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
Kazuhiro Sera
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
Chris Love
 
web development
web developmentweb development
web development
RamanDeep876641
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
Ashlimarie
 
WEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxWEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptx
silvers5
 

Similar to Future-Proof Responsive Web Design #RWD (20)

Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
Volunteer.rb
Volunteer.rbVolunteer.rb
Volunteer.rb
 
Xamarin 9/10 San Diego Meetup
Xamarin 9/10 San Diego MeetupXamarin 9/10 San Diego Meetup
Xamarin 9/10 San Diego Meetup
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
 
Devon 2011-f-1 반응형 웹 디자인
Devon 2011-f-1  반응형 웹 디자인Devon 2011-f-1  반응형 웹 디자인
Devon 2011-f-1 반응형 웹 디자인
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bend
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scala
 
HTML5: Introduction
HTML5: IntroductionHTML5: Introduction
HTML5: Introduction
 
Sai Sharan_UI_Resume
Sai Sharan_UI_ResumeSai Sharan_UI_Resume
Sai Sharan_UI_Resume
 
Solid And Sustainable Development in Scala
Solid And Sustainable Development in ScalaSolid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
web development
web developmentweb development
web development
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
WEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxWEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptx
 

More from Digital Surgeons

Navigating Your Brand Through Covid-19
Navigating Your Brand Through Covid-19Navigating Your Brand Through Covid-19
Navigating Your Brand Through Covid-19
Digital Surgeons
 
SVG Animations
SVG AnimationsSVG Animations
SVG Animations
Digital Surgeons
 
CSS Grid
CSS GridCSS Grid
Machine learning
Machine learningMachine learning
Machine learning
Digital Surgeons
 
CraftCMS 3.x Deep Dive
CraftCMS 3.x Deep DiveCraftCMS 3.x Deep Dive
CraftCMS 3.x Deep Dive
Digital Surgeons
 
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
Digital Surgeons
 
The Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More CustomersThe Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More Customers
Digital Surgeons
 
Radical Candor: No BS, helping your team create better work.
Radical Candor: No BS, helping your team create better work.Radical Candor: No BS, helping your team create better work.
Radical Candor: No BS, helping your team create better work.
Digital Surgeons
 
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
Digital Surgeons
 
Typecurious: A Typography Crash Course
Typecurious: A Typography Crash CourseTypecurious: A Typography Crash Course
Typecurious: A Typography Crash Course
Digital Surgeons
 
What You Need to Know About the Future of Wearable Technology
What You Need to Know About the Future of Wearable TechnologyWhat You Need to Know About the Future of Wearable Technology
What You Need to Know About the Future of Wearable Technology
Digital Surgeons
 
How YouTube is Drastically Changing the Beauty Industry
How YouTube is Drastically Changing the Beauty IndustryHow YouTube is Drastically Changing the Beauty Industry
How YouTube is Drastically Changing the Beauty Industry
Digital Surgeons
 
3 Surefire Ways of Marketing to Social Gamers
3 Surefire Ways of Marketing to Social Gamers 3 Surefire Ways of Marketing to Social Gamers
3 Surefire Ways of Marketing to Social Gamers
Digital Surgeons
 
Top 6 Trends in Packaging. Contract Packaging Association 2014 Conference
Top 6 Trends in Packaging. Contract Packaging Association 2014 ConferenceTop 6 Trends in Packaging. Contract Packaging Association 2014 Conference
Top 6 Trends in Packaging. Contract Packaging Association 2014 Conference
Digital Surgeons
 
Social Media Crisis Management
Social Media Crisis ManagementSocial Media Crisis Management
Social Media Crisis Management
Digital Surgeons
 
Who is The CMO of the Future?
Who is The CMO of the Future?Who is The CMO of the Future?
Who is The CMO of the Future?Digital Surgeons
 
Facebook VS. Twitter. A look at social demographics
Facebook VS. Twitter. A look at social demographicsFacebook VS. Twitter. A look at social demographics
Facebook VS. Twitter. A look at social demographics
Digital Surgeons
 
5 Steps to creative problem solving
5 Steps to creative problem solving5 Steps to creative problem solving
5 Steps to creative problem solving
Digital Surgeons
 
Give Greater - Social Media Presentation
Give Greater - Social Media PresentationGive Greater - Social Media Presentation
Give Greater - Social Media PresentationDigital Surgeons
 
Digitalsurgeons Social Media Seminar C C A T
Digitalsurgeons  Social  Media  Seminar C C A TDigitalsurgeons  Social  Media  Seminar C C A T
Digitalsurgeons Social Media Seminar C C A T
Digital Surgeons
 

More from Digital Surgeons (20)

Navigating Your Brand Through Covid-19
Navigating Your Brand Through Covid-19Navigating Your Brand Through Covid-19
Navigating Your Brand Through Covid-19
 
SVG Animations
SVG AnimationsSVG Animations
SVG Animations
 
CSS Grid
CSS GridCSS Grid
CSS Grid
 
Machine learning
Machine learningMachine learning
Machine learning
 
CraftCMS 3.x Deep Dive
CraftCMS 3.x Deep DiveCraftCMS 3.x Deep Dive
CraftCMS 3.x Deep Dive
 
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
Creating great decks: The Origins, the "Why", and 12 Tips to Make Yours Better.
 
The Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More CustomersThe Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More Customers
 
Radical Candor: No BS, helping your team create better work.
Radical Candor: No BS, helping your team create better work.Radical Candor: No BS, helping your team create better work.
Radical Candor: No BS, helping your team create better work.
 
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
Unlocking Creativity: How to Harness the Powers of Design, Art Direction & Cr...
 
Typecurious: A Typography Crash Course
Typecurious: A Typography Crash CourseTypecurious: A Typography Crash Course
Typecurious: A Typography Crash Course
 
What You Need to Know About the Future of Wearable Technology
What You Need to Know About the Future of Wearable TechnologyWhat You Need to Know About the Future of Wearable Technology
What You Need to Know About the Future of Wearable Technology
 
How YouTube is Drastically Changing the Beauty Industry
How YouTube is Drastically Changing the Beauty IndustryHow YouTube is Drastically Changing the Beauty Industry
How YouTube is Drastically Changing the Beauty Industry
 
3 Surefire Ways of Marketing to Social Gamers
3 Surefire Ways of Marketing to Social Gamers 3 Surefire Ways of Marketing to Social Gamers
3 Surefire Ways of Marketing to Social Gamers
 
Top 6 Trends in Packaging. Contract Packaging Association 2014 Conference
Top 6 Trends in Packaging. Contract Packaging Association 2014 ConferenceTop 6 Trends in Packaging. Contract Packaging Association 2014 Conference
Top 6 Trends in Packaging. Contract Packaging Association 2014 Conference
 
Social Media Crisis Management
Social Media Crisis ManagementSocial Media Crisis Management
Social Media Crisis Management
 
Who is The CMO of the Future?
Who is The CMO of the Future?Who is The CMO of the Future?
Who is The CMO of the Future?
 
Facebook VS. Twitter. A look at social demographics
Facebook VS. Twitter. A look at social demographicsFacebook VS. Twitter. A look at social demographics
Facebook VS. Twitter. A look at social demographics
 
5 Steps to creative problem solving
5 Steps to creative problem solving5 Steps to creative problem solving
5 Steps to creative problem solving
 
Give Greater - Social Media Presentation
Give Greater - Social Media PresentationGive Greater - Social Media Presentation
Give Greater - Social Media Presentation
 
Digitalsurgeons Social Media Seminar C C A T
Digitalsurgeons  Social  Media  Seminar C C A TDigitalsurgeons  Social  Media  Seminar C C A T
Digitalsurgeons Social Media Seminar C C A T
 

Recently uploaded

Can AI do good? at 'offtheCanvas' India HCI prelude
Can AI do good? at 'offtheCanvas' India HCI preludeCan AI do good? at 'offtheCanvas' India HCI prelude
Can AI do good? at 'offtheCanvas' India HCI prelude
Alan Dix
 
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
7sd8fier
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
7sd8fier
 
Mohannad Abdullah portfolio _ V2 _22-24
Mohannad Abdullah  portfolio _ V2 _22-24Mohannad Abdullah  portfolio _ V2 _22-24
Mohannad Abdullah portfolio _ V2 _22-24
M. A. Architect
 
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
h7j5io0
 
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
asuzyq
 
20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf
ameli25062005
 
White wonder, Work developed by Eva Tschopp
White wonder, Work developed by Eva TschoppWhite wonder, Work developed by Eva Tschopp
White wonder, Work developed by Eva Tschopp
Mansi Shah
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
smpc3nvg
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
Let's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons ShirtLet's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons Shirt
TeeFusion
 
Exploring the Future of Smart Garages.pdf
Exploring the Future of Smart Garages.pdfExploring the Future of Smart Garages.pdf
Exploring the Future of Smart Garages.pdf
fastfixgaragedoor
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
n0tivyq
 
Expert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting ServicesExpert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting Services
ResDraft
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
cy0krjxt
 
Borys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior designBorys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior design
boryssutkowski
 
projectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdfprojectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdf
farazahmadas6
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
madhavlakhanpal29
 

Recently uploaded (20)

Can AI do good? at 'offtheCanvas' India HCI prelude
Can AI do good? at 'offtheCanvas' India HCI preludeCan AI do good? at 'offtheCanvas' India HCI prelude
Can AI do good? at 'offtheCanvas' India HCI prelude
 
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
 
Mohannad Abdullah portfolio _ V2 _22-24
Mohannad Abdullah  portfolio _ V2 _22-24Mohannad Abdullah  portfolio _ V2 _22-24
Mohannad Abdullah portfolio _ V2 _22-24
 
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
 
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
一比一原版(Columbia毕业证)哥伦比亚大学毕业证如何办理
 
20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf
 
White wonder, Work developed by Eva Tschopp
White wonder, Work developed by Eva TschoppWhite wonder, Work developed by Eva Tschopp
White wonder, Work developed by Eva Tschopp
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
Let's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons ShirtLet's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons Shirt
 
Exploring the Future of Smart Garages.pdf
Exploring the Future of Smart Garages.pdfExploring the Future of Smart Garages.pdf
Exploring the Future of Smart Garages.pdf
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
 
Expert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting ServicesExpert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting Services
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
 
Borys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior designBorys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior design
 
projectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdfprojectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdf
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
 

Future-Proof Responsive Web Design #RWD

  • 2. ADAM CHAMBERS Senior Developer, Digital Surgeons ! @chambaz digitalsurgeons.com
  • 3.
  • 8. Future-proofing Responsive Web Designs. • Elastic layouts • Mobile first • Progressive enhancement • Modular & semantic • Lightweight & performant
  • 11. Elastic Layouts. • Rems Font sizes • Ems Structure, widths, heights, margins, padding •% Structure, widths, heights, margins, padding • Px Sprites, borders, rounded corners
  • 12. What is an em?
  • 13. “One em is equal to the computed value of the ‘font-size’ property of the element on which it is used”
  • 14. What is an em? body { font-size: 100%; } body header { font-size: 2em; } 1em = 16px 1em = 32px 2em = 32px 2em = 64px
  • 15. Elastic Layouts. • Rems Font sizes • Ems Structure, widths, heights, margins, padding •% Structure, widths, heights, margins, padding • Px Sprites, borders, rounded corners
  • 18. Absolute Typography. Base font size 16px Base font size 40px
  • 19. Relative Typography. Base font size 16px Base font size 40px
  • 20. Absolute / Relative Media Queries. Px base media query Em based media query
  • 22. Mobile first. • Often referred to by the misleading term “mobile first” • It’s really just common sense to start small and work up • Mobile browsing is fast overtaking desktop browsing • Forces focus by embracing the constraints of smaller devices • Lets call it “content first”
  • 23. Min-width Media Queries. Max-width Min-width .responsive-element { padding: 0; @include span-columns(6); .responsive-element { padding: 1em; width: 100%; @include media(min-width: 48em) { padding: 0; @include span-columns(6); } } ! } @include media(max-width: 48em) { padding: 1em; width: 100%; }
  • 25. Progressive Enhancement. • Progressively enhance rather than gracefully degrading • Starting simple and adding complexity causes far less headaches • Load your advanced features when supported • Just like our layouts, our functionality can grow and not shrink • Lets call it “content first”
  • 26. Progressive Enhancement. Cutting the mustard Progressive Enhancement // cutting the mustard if(‘querySelector’ in document && ‘localStorage’ in window && ‘addEventListener’ in window) { if(Modernizr.webp) { // use webp images } else if(Modernizr.svg) { // ok use sag then } ! } // all the things ! if(Modernizr.geolocation) { // geolocation wizardry } ! if(window.matchMedia(‘min-width: 48em’).matches) { // all the things }
  • 29. Sassy Modularity. • I’m sure we all agree that modularity is essential • Maintainability is essential in future proof applications • Placeholders are invisible, reusable blocks of CSS • Extend placeholders into classes for performant modularity • Sass allows us to create semantic, content driven classes
  • 30. Modular CSS. HTML CSS .product { width: 25%; padding: 2em; float: left; } .featured { width: red; } <div class=“product”> <!-— product markup —-> </div> ! <div class=“product featured”> <!-— featured product markup —-> </div>
  • 31. Modular Sass. SCSS %product { width: 25%; padding: 2em; float: left; } ! %featured { background: red; } HTML .product { @extend %product; } <div class=“product”> <!-— product markup —-> </div> ! ! .featured-product { @extend %product; @extend %featured; } <div class=“featured-product”> <!-— featured product markup —-> </div>
  • 32. Modular Sass. SCSS CSS %title { text-transform: uppercase; line-height: 3; color: #000; } .product-title, .cart-title { text-transform: uppercase; line-height: 3; color: #000; } ! .product-title { margin: 20px 0; @extend %title; } ! ! ! .cart-title { float: right; @extend %title; } .cart-title { float: right; } .product-title { margin: 20px 0; }
  • 34. Monolithic Frameworks. • Frameworks are essential for rapid development • Providing building blocks for your application • Large overhead and code bloat • Pick and choose exactly what you require
  • 35. Mixins. • Mixins are invisible, reusable blocks of CSS • Arguments and conditional logic • Mixin libraries have no overhead • Only use exactly what you require
  • 36. Mixin Libraries. .product { @include span-columns(4); } ! %outer-container { @include outer-container(); } ! .product-container { @extend %outer-container; } @mixin btn($color) { @extend %btn; background-color: $color; } ! .product-btn { @include btn(#c0392b); } ! .delete-btn { @include btn(#d54445); }
  • 37. jQuery. • jQuery is a fantastic library for cross browser development • Do you really need the entire 100kb? • Not just page weight but call stack size • Native JavaScript support is actually pretty good
  • 38. Vanilla JS. var products = document.querySelectorAll(‘.product’); ! var featuredProduct = document.querySelector(‘.featured-product’); ! [].forEach.call(products, function(product) { // do something with each product }); ! featuredProduct.classList.add(‘active’); featuredProduct.classList.remove(‘active’); featuredProduct.classList.contains(‘active’);
  • 39. Bower. • Dependency management for the front end • Micro-libraries over monolithic frameworks • Small libraries that serve a single purpose • Pick and choose exactly what you require
  • 40. Bower.json { "name": "Digital Surgeons", "version": "1.0.0", "private": true, "dependencies": { "normalize-scss": "~2.1.3", "responsive-comments": "~1.2.1", "html5-polyfills": "*", "matchmedia": "~0.1.0", "headroom.js": "~0.3.9", "raf.js": "~0.0.3", "respond": "~1.4.2", "html5shiv": "~3.7.0", "slider": "https://github.com/cferdinandi/slider.git", "swiper": "~2.4.3", "move.js": "https://github.com/visionmedia/move.js.git#~0.3.3", "imagesloaded": "~3.1.4" } }
  • 41. Grunt. • Task runner and build processes for the front end • Package your front end code for production • Compile, minify, concatenate, optimise • If at all possible, automate it
  • 42. Gruntfile.js files: { // global JS ‘js/dist/global.js’: [ ‘bower_components/raf.js/raf.min.js’, ‘bower_components/html5-polyfills/classList.js’, ‘bower_components/responsive-comments/responsive-comments.js’, ‘bower_components/anim/anim.min.js’, ‘bower_components/headroom.js/dist/headroom.js’, ‘js/src/global.js’ ], // global JS + page specific ‘js/dist/home.js’: [ ‘bower_components/swiper/dist/idangerous.swiper.js’, ‘bower_components/eventEmitter/EventEmitter.min.js’, ‘bower_components/eventie/eventie.js’, ‘bower_components/imagesloaded/imagesloaded.js’, ‘js/dist/global.js’, ‘js/src/slider.js’, ‘js/src/home.js’ ] } watch: { scripts: { files: [‘js/src/*.js’], tasks: [‘uglify’], options: { spawn: false, livereload: true } }, css: { files: ‘sass/*.scss’, tasks: [‘sass’], options: { livereload: true, } } }
  • 43. #perfmatters. • Performance is no longer just load time, it’s a feature • Rendering performance is essential in a world of client side apps • Use Chrome’s extensive Dev Tools to profile and optimise • Make your application run fast and smoothly over time
  • 46. Future-proofing Responsive Web Designs. • Elastic layouts • Mobile first • Progressive enhancement • Modular & semantic • Lightweight & performant
  • 47.
  • 48. “Amazing last quote with something meaningful and memorable.” #perfmatters
  • 49. FUTURE-PROOF RWD Follow me @chambaz digitalsurgeons.com