SlideShare a Scribd company logo
1 of 28
Developing and Deploying a
Website with HTML5
Chris Love
@ChrisLove
Love2Dev.com
Who Am I?
ASP.NET MVP
ASP Insider

Internet Explorer User Agent
Author
Speaker
Tweaker, Lover of Mobile Web, JavaScript, CSS & HTML5
JavaScript Libraries
DeepTissueJS – A Touch Gesture Abstraction Library
http://deeptissuejs.com
PanoramaJS – JavaScript Library to Implement The Windows Phone Panorama Control in HTML5
https://github.com/docluv/panoramajs

ToolbarJS – JavaScript Library to Implement a Mobile AppBar, like Windows Phone
http://toolbarjs.com
Coming Soon!
SPA – Single Page Application Router, View Manager
Backpack – Markup Manager leveraging LocalStorage
FannyPack – Markup Manager leveraging on page markup
DollarBill – Lightweight Utility Library that’s compatible with jQuery
Resources

Slide Deck – http://www.slideshare.net/docluv
Only URL U Need!
What Does a Modern Web App Look Like?
AJAX Layer

Browser
Request

Response
Minimal HTML Payload
Images
CSS
JavaScript
AJAX Calls for JSON

HTML

Web
Server
What does the AJAX Layer Look Like?

HTML

CSS
JavaScript
What is a Single Page App






1 Page – Many Views
Retrieves Data from an API
Manages Merging Data With Client-Side Templates
Manages Sexy View Transitions!
Introduces a Whole New World of Issues For
Developers
The World is Mobile
• Screens are All Sizes
• Usage Contexts Vary
• Expensive to Make Customized Versions for
Every Platform
One Site To Rule Them All
• HTML5 Targets All
Platforms
• Responsive Web
Design Targets All
Screen Sizes
• SPA Competes with
Native Apps

• APIs Secure All Data
Interactions
• Decoupled from
Client
Fluid Layouts
• Adjust To Fill the Entire View Port
• View Port is the Browser’s Window Size

• Use Absolute Positioning To Place Major
Elements
Fluid Layout
Fluid Layout
Responsive Web Design
• Craft Web Applications to Provide Optimal
Viewing Experience Across All Screen Sizes
• Uses Media Queries To Define Layout Rules
• Coined by Ethan Marcotte in 2010
• http://bit.ly/17QvHOd
Media Queries

@media (min-width:800px) {

/*
}

CSS Rules Here

*/
Responsive Process
• Can Either Start Big & Go Small or Small and Go Big
• Starting Mobile Forces You To Determine What is Most Important
• Resize Desktop Browser with Dev Tools Open
• Use Dev Tools to Resize Browser
• Tweak CSS to Refine Layout

• Don’t Be Afraid to Use JavaScript to Help
Let’s Code
Single Page Applications
• Single Page Web Application

• Means a More ‘Native Like’ Experience
• Heavy Client-Side Application Model
• Loads all Markup ‘on initial load’
• Tectonic Shift In the Way Web Sites Are Built
Principle #1 – Performance Matters
• Honor the 23 Rules of Web Performance
• Use HTML5 Advantages
• WebStorage Is Your Friend
Principle #2
• Things You Did On The Server Now Live In The
Browser

• Only one Request for HTML (sort of…)
• In the Browser
• Routing
• Markup Management
• Data Caching
Please Press #
• SPAs Reply on the URL hash

• Prevents the Browser from Requesting URL from Server
• Google SEO ‘Recommends’ #!
• _escaped_fragement_ - http://bit.ly/1bFmIQT

• Need a Route Management System
Let’s Code
So How Do You Manage A JavaScript App?

Project Structure
‘Compiling’
Testing
Bundling & Minification
Build System
I Like GruntJs
Using Grunt JS
• Setup Using NPM
• npm install -g grunt-cli

• Add Grunt files
• package.json
• Gruntfile.js
Common Contrib Extensions
• Uglify
• JSHint
• Handlebars
• HTMLMIN
• Jasmine
• Qunit
• Watch
• YuiDoc
Source Management
• TFS
• Git
• GitHub
• BitBucket
Deployment
• Environments
•
•
•
•

Development
Test/QA
Staging
Production

• Via Source Control
• Cloud Drive
Demo Time!
Review
• Fluid Responsive Layouts
• Enable a Modern UI

• Single Page Apps
• Enable Fast & Fluid User Experience

• Build & Deployment
• Optimizes Web Application
• Manages Source Code

More Related Content

What's hot

Introduction to Web Development Career
Introduction to Web Development CareerIntroduction to Web Development Career
Introduction to Web Development Career
Eunus Hosen
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
Spiffy
 
Dynamic websites lec5
Dynamic websites lec5Dynamic websites lec5
Dynamic websites lec5
Belal Arfa
 

What's hot (20)

Introduction to Web development
Introduction to Web developmentIntroduction to Web development
Introduction to Web development
 
Lecture8 web design and development
Lecture8 web design and developmentLecture8 web design and development
Lecture8 web design and development
 
wwwhisper Tool Review
wwwhisper Tool Reviewwwwhisper Tool Review
wwwhisper Tool Review
 
How to Boost the performance of your Wordpress powered websites
How to Boost the performance of your Wordpress powered websitesHow to Boost the performance of your Wordpress powered websites
How to Boost the performance of your Wordpress powered websites
 
E commerce Ooi Trainings
E commerce Ooi TrainingsE commerce Ooi Trainings
E commerce Ooi Trainings
 
What’s great about being a web developer
What’s great about being a web developerWhat’s great about being a web developer
What’s great about being a web developer
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Introduction to Web Development Career
Introduction to Web Development CareerIntroduction to Web Development Career
Introduction to Web Development Career
 
Java script tutorial
Java script tutorialJava script tutorial
Java script tutorial
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.
 
Creating Responsive Website Using Bootstrap
Creating Responsive Website Using BootstrapCreating Responsive Website Using Bootstrap
Creating Responsive Website Using Bootstrap
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
 
Web development using ASP.NET MVC
Web development using ASP.NET MVC Web development using ASP.NET MVC
Web development using ASP.NET MVC
 
Html intro
Html introHtml intro
Html intro
 
WooCommerce-The Best Alternative - by Sadip
WooCommerce-The Best Alternative - by SadipWooCommerce-The Best Alternative - by Sadip
WooCommerce-The Best Alternative - by Sadip
 
Blogging With Jekyll | Blogging Like a Hacker
Blogging With Jekyll | Blogging Like a HackerBlogging With Jekyll | Blogging Like a Hacker
Blogging With Jekyll | Blogging Like a Hacker
 
Dynamic websites lec5
Dynamic websites lec5Dynamic websites lec5
Dynamic websites lec5
 
Addictomatic
AddictomaticAddictomatic
Addictomatic
 
Site Speed Hacks: Open West 2015
Site Speed Hacks: Open West 2015Site Speed Hacks: Open West 2015
Site Speed Hacks: Open West 2015
 
EndLess Possibilities With Wordpress
EndLess Possibilities With WordpressEndLess Possibilities With Wordpress
EndLess Possibilities With Wordpress
 

Viewers also liked (6)

Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)
 
Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...
Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...
Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...
 
Dbms
DbmsDbms
Dbms
 
Ppt of types of-network
Ppt of types of-network Ppt of types of-network
Ppt of types of-network
 
Dbms slides
Dbms slidesDbms slides
Dbms slides
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
 

Similar to Developing and deploying a website with html5

Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Chris Love
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 

Similar to Developing and deploying a website with html5 (20)

Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
 
A Day Building Fast, Responsive, Extensible Single Page Applications
A Day Building Fast, Responsive, Extensible Single Page ApplicationsA Day Building Fast, Responsive, Extensible Single Page Applications
A Day Building Fast, Responsive, Extensible Single Page Applications
 
Web Desing.pptx
Web Desing.pptxWeb Desing.pptx
Web Desing.pptx
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
 
Javascript & Jquery
Javascript & JqueryJavascript & Jquery
Javascript & Jquery
 
Tech talk php_cms
Tech talk php_cmsTech talk php_cms
Tech talk php_cms
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
5 single page application principles developers need to know
5 single page application principles developers need to know5 single page application principles developers need to know
5 single page application principles developers need to know
 
A night at the spa
A night at the spaA night at the spa
A night at the spa
 
Isomorphic web application
Isomorphic web applicationIsomorphic web application
Isomorphic web application
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the web
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 

More from Chris Love

More from Chris Love (20)

Quick Fetch API Introduction
Quick Fetch API IntroductionQuick Fetch API Introduction
Quick Fetch API Introduction
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Lazy load Website Assets
Lazy load Website AssetsLazy load Website Assets
Lazy load Website Assets
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for Education
 
The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...
 
Real World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingReal World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker Caching
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
 
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
Using Responsive Web Design To Make Your Web Work Everywhere - UpdatedUsing Responsive Web Design To Make Your Web Work Everywhere - Updated
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image Strategy
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
 
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
 
An Introduction to Microsoft Edge
An Introduction to Microsoft EdgeAn Introduction to Microsoft Edge
An Introduction to Microsoft Edge
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
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
 

Recently uploaded (20)

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 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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​
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Developing and deploying a website with html5

  • 1. Developing and Deploying a Website with HTML5 Chris Love @ChrisLove Love2Dev.com
  • 2. Who Am I? ASP.NET MVP ASP Insider Internet Explorer User Agent Author Speaker Tweaker, Lover of Mobile Web, JavaScript, CSS & HTML5
  • 3. JavaScript Libraries DeepTissueJS – A Touch Gesture Abstraction Library http://deeptissuejs.com PanoramaJS – JavaScript Library to Implement The Windows Phone Panorama Control in HTML5 https://github.com/docluv/panoramajs ToolbarJS – JavaScript Library to Implement a Mobile AppBar, like Windows Phone http://toolbarjs.com Coming Soon! SPA – Single Page Application Router, View Manager Backpack – Markup Manager leveraging LocalStorage FannyPack – Markup Manager leveraging on page markup DollarBill – Lightweight Utility Library that’s compatible with jQuery
  • 4. Resources Slide Deck – http://www.slideshare.net/docluv Only URL U Need!
  • 5. What Does a Modern Web App Look Like? AJAX Layer Browser Request Response Minimal HTML Payload Images CSS JavaScript AJAX Calls for JSON HTML Web Server
  • 6. What does the AJAX Layer Look Like? HTML CSS JavaScript
  • 7. What is a Single Page App      1 Page – Many Views Retrieves Data from an API Manages Merging Data With Client-Side Templates Manages Sexy View Transitions! Introduces a Whole New World of Issues For Developers
  • 8. The World is Mobile • Screens are All Sizes • Usage Contexts Vary • Expensive to Make Customized Versions for Every Platform
  • 9. One Site To Rule Them All • HTML5 Targets All Platforms • Responsive Web Design Targets All Screen Sizes • SPA Competes with Native Apps • APIs Secure All Data Interactions • Decoupled from Client
  • 10. Fluid Layouts • Adjust To Fill the Entire View Port • View Port is the Browser’s Window Size • Use Absolute Positioning To Place Major Elements
  • 13. Responsive Web Design • Craft Web Applications to Provide Optimal Viewing Experience Across All Screen Sizes • Uses Media Queries To Define Layout Rules • Coined by Ethan Marcotte in 2010 • http://bit.ly/17QvHOd
  • 14. Media Queries @media (min-width:800px) { /* } CSS Rules Here */
  • 15. Responsive Process • Can Either Start Big & Go Small or Small and Go Big • Starting Mobile Forces You To Determine What is Most Important • Resize Desktop Browser with Dev Tools Open • Use Dev Tools to Resize Browser • Tweak CSS to Refine Layout • Don’t Be Afraid to Use JavaScript to Help
  • 17. Single Page Applications • Single Page Web Application • Means a More ‘Native Like’ Experience • Heavy Client-Side Application Model • Loads all Markup ‘on initial load’ • Tectonic Shift In the Way Web Sites Are Built
  • 18. Principle #1 – Performance Matters • Honor the 23 Rules of Web Performance • Use HTML5 Advantages • WebStorage Is Your Friend
  • 19. Principle #2 • Things You Did On The Server Now Live In The Browser • Only one Request for HTML (sort of…) • In the Browser • Routing • Markup Management • Data Caching
  • 20. Please Press # • SPAs Reply on the URL hash • Prevents the Browser from Requesting URL from Server • Google SEO ‘Recommends’ #! • _escaped_fragement_ - http://bit.ly/1bFmIQT • Need a Route Management System
  • 22. So How Do You Manage A JavaScript App? Project Structure ‘Compiling’ Testing Bundling & Minification Build System I Like GruntJs
  • 23. Using Grunt JS • Setup Using NPM • npm install -g grunt-cli • Add Grunt files • package.json • Gruntfile.js
  • 24. Common Contrib Extensions • Uglify • JSHint • Handlebars • HTMLMIN • Jasmine • Qunit • Watch • YuiDoc
  • 25. Source Management • TFS • Git • GitHub • BitBucket
  • 28. Review • Fluid Responsive Layouts • Enable a Modern UI • Single Page Apps • Enable Fast & Fluid User Experience • Build & Deployment • Optimizes Web Application • Manages Source Code