SlideShare une entreprise Scribd logo
1  sur  34
© Copyright The Wahlin Group: All rights reserved.
Web Development Trends
What’s New in the World of Web
Development?
Dan Wahlin
Contact Info
Blog
http://weblogs.asp.net/dwahlin
Twitter
@DanWahlin
Agenda
• Mobile First and Responsive Web Design
• Data-Oriented vs. Control-Oriented
Development
• Single Page Applications
The Mobile Revolution
How often is your mobile device
more than a few feet away from
you?
What is Mobile First?
A strategy that factors in mobile
devices as a primary development
target.
Mobile Browsers
Source: http://gs.statcounter.com
Mobile Device Page Views
Source: http://www.smartinsights.com
Device share of
website traffic
A Typical Mobile Day
Source: http://www.smartinsights.com
What is Responsive Web Design?
A development and design technique that
provides an optimal viewing experience
across multiple devices.
Responsive Design and CSS Media
Queries
• CSS Media queries allow different styles to be
applied for:
– Printing
– Screen sizes
– Device orientations
– Display resolutions
@media screen and (max-width : 320px)
@media screen and (resolution: 96dpi)
@media (min-width: 700px) and (orientation: landscape)
@media print
Targeting Screens with Media
Queries
• CSS Media queries can be used to target
different screen sizes
@media screen and (max-width:320px)
{
nav ul
{
height: 100%;
}
nav ul > li {
float: none;
}
}
<picture>
<source media="(min-width: 45em)" src="large.jpg">
<source media="(min-width: 18em)" src="med.jpg">
<source src="small.jpg">
<img src="small.jpg" alt="">
<p>Accessible text</p>
</picture>
Responsive Images
• New ways to define responsive images are
being discussed:
http://responsiveimages.org/
Responsive Images Polyfill
• The PictureFill polyfill script can be used to
emulate responsive images today:
<span data-picture data-alt="A giant stone face">
<span data-src="small.jpg"></span>
<span data-src="medium.jpg"
data-media="(min-width: 400px)"></span>
<span data-src="large.jpg"
data-media="(min-width: 800px)"></span>
<span data-src="xlarge.jpg"
data-media="(min-width: 1000px)"></span>
</span>
https://github.com/scottjehl/picturefill
Responsive Layouts
• CSS3 Flexbox
– http://www.w3.org/TR/css3-flexbox
• CSS3 Multiple-Column Layout
– http://www.w3.org/TR/css3-multicol
• CSS3 Grid Layout
– http://dev.w3.org/csswg/css-grid
Responsive CSS Frameworks
http://cardinalcss.comhttp://purecss.io
http://getbootstrap.com http://foundation.zurb.com
Responsive JavaScript Libraries
http://www.sencha.comhttp://joapp.com/
http://jquerymobile.com http://zeptojs.com
Agenda
• Mobile First and Responsive Web Design
• Data-Oriented vs. Control-Oriented
Development
• Single Page Applications
Data Binding
• JavaScript doesn't provide native support for
data binding
• Two-way data binding can lead to significant
reductions in code
John DoeName: Name Property
Changes updated
in control
Changes updated
in property
Control-Oriented Development
Workflow
John DoeName:
1. Code assigns value to a textbox
document.getElementById('name').value = 'John Doe';
2. User modifies data
3. User clicks a button
4. Code pulls the value out of the textbox
var name = document.getElementById('name').value;
Submit
Data-Oriented Development
Workflow
John DoeName:
1. Property is bound to a textbox
<input type="text" data-bind="value: name"/>
2. User modifies data
3. User clicks a button
4. Property value is automatically updated!
Submit
Data-Oriented Development Example
Name: <input type="text" data-bind="value: name"/>
<br />
<span data-bind="text: name"></span>
<br />
<button data-bind="click:changeName">Change Name</button>
...
var viewModel = {
name: ko.observable("Rex"),
changeName: function () { this.name = "Ted"; }
};
ko.applyBindings(viewModel);
HTML5 data-*
attribute
Data Binding Libraries
http://kmalakoff.github.io/knockbackhttp://angularjs.org
http://knockoutjs.com http://jsviews.com
Agenda
• Mobile First and Responsive Web Design
• Data-Oriented vs. Control-Oriented
Development
• Single Page Applications
Single Page Application (SPA)
SPA Demo
http://www.myspa.com
View View
View View
The Challenge with SPAs
DOM Manipulation History
Routing
Module Loading
Data Binding
Object Modeling
Ajax/Promises
Caching
View Loading
SPA Frameworks
http://backbonejs.orghttp://emberjs.com
http://angularjs.org http://durandaljs.com
ngularJS is a full-featured
SPA framework
Data Binding MVC Routing
Templates
ViewModel Views
Controllers Dependency Injection
Directives
Testing
Controllers
jqLite
Validation
FactoriesHistory
View Controller
*FactoryDirectives
Routes
Module
Config
$scope
AngularJS - The Big Picture
var demoApp = angular.module('demoApp', []);
demoApp.controller('SimpleController', function ($scope) {
$scope.customers = [
{ name: 'Dave Jones', city: 'Phoenix' },
{ name: 'Jamie Riley', city: 'Atlanta' },
{ name: 'Heedy Wahlin', city: 'Chandler' },
{ name: 'Thomas Winter', city: 'Seattle' }
];
});
Define a Module
Define a
Controller
A Quick Look at a Controller
Summary
• There are a lot of new technologies trending in
the Web world (in addition to HTML5):
– Mobile first development
– Responsive Design
– Flexible layouts such as Flexbox
– Client-side Data Binding
– Single Page Applications
– Much more…
Code Demos
• http://goo.gl/fa4Bdc
• https://github.com/DanWahlin/CustomerManagerStandard
Structuring JavaScript Code Book
http://goo.gl/dnvcSN
Onsite Training
• Interested in onsite training for your team? We
provide training on the following topics (plus
more):
– Node.js
– JavaScript (language, patterns, technologies, more)
– jQuery
– AngularJS and SPAs
– C# (language, patterns, advanced concepts, more)
– ASP.NET MVC
– Web API
– Windows 8 Programming
Contact Info
Blog
http://weblogs.asp.net/dwahlin
Twitter
@DanWahlin

Contenu connexe

En vedette

En vedette (10)

JavaScript Patterns to Cleanup your Code
JavaScript Patterns to Cleanup your CodeJavaScript Patterns to Cleanup your Code
JavaScript Patterns to Cleanup your Code
 
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
Building the an End-to-End ASP.NET MVC 4, Entity Framework, HTML5, jQuery app...
 
Basics of angular directive (Part - 1)
Basics of angular directive (Part - 1)Basics of angular directive (Part - 1)
Basics of angular directive (Part - 1)
 
Custom AngularJS Directives
Custom AngularJS DirectivesCustom AngularJS Directives
Custom AngularJS Directives
 
AngularJS Custom Directives
AngularJS Custom DirectivesAngularJS Custom Directives
AngularJS Custom Directives
 
AngularJS custom directive
AngularJS custom directiveAngularJS custom directive
AngularJS custom directive
 
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
 
Enterprise mobility management a comprehensive guide
Enterprise mobility management a comprehensive guideEnterprise mobility management a comprehensive guide
Enterprise mobility management a comprehensive guide
 
Getting Started Building Windows 8 HTML/JavaScript Metro Apps
Getting Started Building Windows 8 HTML/JavaScript Metro AppsGetting Started Building Windows 8 HTML/JavaScript Metro Apps
Getting Started Building Windows 8 HTML/JavaScript Metro Apps
 
Web Development Trends 2016
Web Development Trends 2016Web Development Trends 2016
Web Development Trends 2016
 

Similaire à Development Trends - What's New in the World of Web Development

What’s new in WinJS? Windows Phone 8.1 and the road ahead
What’s new in WinJS? Windows Phone 8.1 and the road aheadWhat’s new in WinJS? Windows Phone 8.1 and the road ahead
What’s new in WinJS? Windows Phone 8.1 and the road ahead
Nguyên Phạm
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
sonichinmay
 
Developing for Responsive Design - Frederic Welterlin
Developing for Responsive Design - Frederic WelterlinDeveloping for Responsive Design - Frederic Welterlin
Developing for Responsive Design - Frederic Welterlin
Razorfish
 
Windows Phone 8 - 3 Building WP8 Applications
Windows Phone 8 - 3 Building WP8 ApplicationsWindows Phone 8 - 3 Building WP8 Applications
Windows Phone 8 - 3 Building WP8 Applications
Oliver Scheer
 
munsif proposal (1)
munsif proposal (1)munsif proposal (1)
munsif proposal (1)
Ankit Dutt
 

Similaire à Development Trends - What's New in the World of Web Development (20)

What’s new in WinJS? Windows Phone 8.1 and the road ahead
What’s new in WinJS? Windows Phone 8.1 and the road aheadWhat’s new in WinJS? Windows Phone 8.1 and the road ahead
What’s new in WinJS? Windows Phone 8.1 and the road ahead
 
Optimizing Sites for Mobile Devices
Optimizing Sites for Mobile DevicesOptimizing Sites for Mobile Devices
Optimizing Sites for Mobile Devices
 
Building Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and SalesforceBuilding Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and Salesforce
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Building Enterprise Ready Mobile Apps: A Developer Deep Dive
Building Enterprise Ready Mobile Apps: A Developer Deep DiveBuilding Enterprise Ready Mobile Apps: A Developer Deep Dive
Building Enterprise Ready Mobile Apps: A Developer Deep Dive
 
EuroIA 2009 Designing Exploding Websites Smit Boersma
EuroIA 2009 Designing Exploding Websites Smit BoersmaEuroIA 2009 Designing Exploding Websites Smit Boersma
EuroIA 2009 Designing Exploding Websites Smit Boersma
 
Designing Exploding Websites (Euro IA 2009)
Designing Exploding Websites (Euro IA 2009)Designing Exploding Websites (Euro IA 2009)
Designing Exploding Websites (Euro IA 2009)
 
Web Programming Assignment
Web Programming AssignmentWeb Programming Assignment
Web Programming Assignment
 
Progressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshopProgressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshop
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobile
 
Developing for Responsive Design - Frederic Welterlin
Developing for Responsive Design - Frederic WelterlinDeveloping for Responsive Design - Frederic Welterlin
Developing for Responsive Design - Frederic Welterlin
 
How To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud ChampionHow To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud Champion
 
#MobileInAction - iRecruitExpo June 2013, Amsterdam
#MobileInAction - iRecruitExpo June 2013, Amsterdam#MobileInAction - iRecruitExpo June 2013, Amsterdam
#MobileInAction - iRecruitExpo June 2013, Amsterdam
 
Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web Development
 
Web Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
 
Windows Phone 8 - 3 Building WP8 Applications
Windows Phone 8 - 3 Building WP8 ApplicationsWindows Phone 8 - 3 Building WP8 Applications
Windows Phone 8 - 3 Building WP8 Applications
 
munsif proposal (1)
munsif proposal (1)munsif proposal (1)
munsif proposal (1)
 
Device aware web frameworks for better programming
Device aware web frameworks for better programmingDevice aware web frameworks for better programming
Device aware web frameworks for better programming
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Development Trends - What's New in the World of Web Development

Notes de l'éditeur

  1. http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketing-statistics/This is based on data for popular eCommerce sites
  2. http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketing-statistics/
  3. Others:Skeleton: http://www.getskeleton.com/Inuit.css: http://inuitcss.com/