SlideShare a Scribd company logo
August 12, 2015
© Sreenath H B, 2014
Web Front End
HTML5
CSS3
JavaScript
Ajax
jQuery
Angular, Backbone, Knockout
Agenda
 WWW Explained
 HTML5
 CSS3
 Bootstrap
 JavaScript
 Ajax
 JSON
 jQuery, jQuery UI
 Angular, Knockout, Backbone
WWW
 Computer Networks
 Network Addresses
 Browsers and Web Servers
 Hyper Text Transfer Protocol (HTTP)
 Hyper Text Markup Language (HTML)
 Web Applications
Web Front End - (HTML5, CSS3, JavaScript) ++
The Three Layers
HTML
 Basic Structure
 DTD
 Elements, Tags, Nodes
 Attributes, Properties, Values
 Forms
 GET, POST …
The Rules of HTML
 HTML Attribute Values May Be Case Sensitive
 HTML Is Sensitive to a Single White Space Character
 HTML Follows a Content Model
 Elements Should Have Close Tags Unless Empty
 Unused Elements May Minimize
 Elements Should Nest In Correct Order
 Attribute Values Should Be Quoted
 Browsers Ignore Unknown Attributes and Elements
Core Elements & Attributes
 Headings
 ID, name, class, title, alt
 BR, HR,
 P, SPAN, DIV
 Blockquote, Pre
 Lists – OL, UL
HTML Forms
 Input
 Text
 Password
 Hidden
 Submit
 Button
 Checkbox
 Radio
 Reset
 File
 Image
 Select
 Textarea
HTML5
 New Input Types
 Color, Date, Datetime, Email, Month, Number, Range, Search, Tel, Url,
Week
 New Attributes
 autocomplete, autofocus, autosave, inputmode, list, max, min, multiple,
pattern, placeholder, readonly, required, step
 New Semantic Elements
 section, nav, article, aside, hgroup, header, footer, time, mark, main, data,
math, datalist, progress, meter, menu
 Canvas, SVG
 Video, Audio
 Geolocation API, Local Storage API & Offline Apps
 Full Screen, Vibration, Media, Web Sockets API
 http://diveintohtml5.info/
CSS
 Selection
 Class, ID, Element
 Ancestor Descendent
 Parent > Child
 Inheritance, Cascade & !important
 Ems, pixels and points
 Box Model: Positioning & Display
 Floats & Clearing
 Backgrounds & Sprites
 Border, Padding, Margin
 Typeface
 Pseudo Classes
CSS3
 :before, :after
 Multiple Backgrounds, Gradients, Border-Image
 Transforms, Transitions, Animations
 Box Shadow, Border Radius
 Media Queries & Responsive CSS
Design Philosophies
 Graceful Degradation
 Progressive Enhancement
 Feature Detection using Modernizr
 Accessibility: http://diveintoaccessibility.info/
 Section 508, WCAG
Bootstrap
 http://getbootstrap.com/
 HTML5 / CSS3 Standards Compliant Responsive Web Pages
 CSS: <link rel="stylesheet"
href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.cs
s">
 JavaScript: <script
src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"><
/script>
 Depends on jQuery
Bootstrap
 Grids
 row & 12 columns
 col-lg-n, col-md-n, col-sm-n, col-xs-n
 Navbars
 Panels
 Lists, Labels & Wells
 Breadcrumbs, Pagination
 Form Styling
 Jumbotron
 Alert, Progress Bars
 Media
 Carousel, Tabs, Collapse, Dropdown, Modal
 Scorllspy, Popover, Tooltip, Affix
JavaScript
 History: http://youtu.be/v2ifWcnQs6M (First 13.5 min only)
 Where to add scripts?
 How to debug JavaScript?
 Waiting for the page to finish loading
 Unobtrusive Programming
 Selection of DOM Elements
 You can change HTML using JavaScript
 You can change CSS using JavaScript
 Hello DHTML
 You can traverse the DOM too!
JavaScript Data
 Data Types – Number, String, Boolean
 Date
 Arrays, Associative Arrays
 If Statement, Truthy & Falsy Values
 Loops – While, Do-While, For, For-In
 Functions
 Scope of Variables
 Objects & JSON
 Regular Expressions
 === & !==, !!
 JavaScript Closures
 Functions with arbitrary params
JavaScript Events
 Events & Listeners
 Event Object & Event Context
 Event Cancellation
 Event Bubbling & Capturing
 Supporting older browsers.
 Call & Apply
Ajax
OK, JavaScript Ajax
Ajax
 XMLHttpRequest
 Open(Type, Url)
 Send(data)
 readyState & readystatechange – 0,1,2,3,4
 status - 200
 responseXML and responseText
 IE 5 & 6 – new ActiveXObject(“Microsoft.XMLHTTP”);
 XMLHttpRequest object is non-reusable
 XSS & CORS
jQuery
 Its just JavaScript!
 CDN, Minification, Local fallback
 DOMReady vs Window Load
 The jQuery Object
 Looping with each();
 this
 Chaining
 Accessing DOM Objects
 Array Subscript – Unsafe
 .get(n)
 Making peace with other libraries – noConflict()
 Caching for performance
Selectors – The Heart of jQuery
 Element Selector: $(“element”)
 ID Selector: $(“#id”)
 Class Selector: $(“.classname”)
 Ancestor Descendant: $(“E F”)
 Parent Child: $(“E > F”)
 Siblings – Adjacent & General
 Adjacent Sibling : $(“E + F”)
 General Siblings : $(“E ~ F”);
 Multiple Selectors: $(“E, F, G”)
Effects & Animations
 Hide, Show
 fadeIn, fadeOut
 Toggle
 slideUp, slideDown
 slideToggle
 .animate()
Working with Forms
 :text
 :checkbox
 :radio
 :image
 :submit
 :reset
 :password
 :file
 :input
 :button
 :enabled
 :disabled
 :checked
 :selected
Selectors Contd..
:first-child, :last-child, :only-child :nth-child(n)
$(“li:first-child”);
$(“tr:last-child”);
$(“img:only-child”);
$(“tr:nth-child(2n)”);
Attribute Selectors
Has Attribute: $(“img[alt]”);
Begins With: $(“a[href^=mailto:]”);
Ends With: $(“a[href$=.pdf]”);
Contains: $(“a[href*=microsoft]”);
Equals: $(“:checkbox[checked=true]”)
 :not(s), :empty, :eq(n), :contains(s)
 :even, :odd
DOM Traversal
 .filter()
 .siblings()
 .parent(), .children(), .parents()
 .next(), .nextAll(), .prev(), .prevAll(), .andSelf()
 .find()
Manipulating Styles
• .addClass()
• .removeClass()
• .css(“height”, “35px”)
Events
 Bubbling using Live, Die & Delegate and On
 Bind, Once
 Shorthand Events
 Passing additional parameters to event listeners
 Compound Events
 Toggle, Hover
DOM Manipulation
 .text()
 .html()
 .val()
 .append(), prepend()
 .remove()
 .empty()
 .attr(), .removeAttr()
 addClass(), removeClass()
 Creating DOM Nodes
 insertAfter, after, insertBefore, before
 prependTo, appendTo
 .wrap()
jQuery AJAX
 .load(“a.html”)
 $.getJSON(“b.json”);
 $.get(“c.xml”);
 $.post(“d.php”);
 $.ajax({
url:””,
type:”GET”,
dataType: “html”,
success: function(data){
},
error: function(xhr){
}
})
Ajax Contd..
 Calling a 3rd Party REST API / Web Service using jQuery Ajax
(http://openweathermap.org/API)
 JSONP & XSS
 JSON to HTML using a for-in loop
Authoring Plugins
(function($){
$.fn.myPlugin = function(options){
var defaults = { };
options = $.extend(defaults, options);
return this.each(function(){
//My Code for selected elements
});
}
})(jQuery);
//Calling
$(“selector”).myPlugin({options})
AngularJS
 MV* Design Patterns Overview
 AngularJS Intro
Other Libraries
 Backbone
 Knockout
 Ember
 Foundation
About Author
 Sreenath H B is the Product Owner for
eIntern LLC in the DC Metro Area.
 He specializes in Cloud Infrastructure
Management, Web Front End Development
and programming using the Micrososft Tech
Stack
 He is an avid traveler and blogger.
 Twitter: @ubshreenath
 Website: http://sreenath.net

More Related Content

PPTX
CSS101 - Concept Fundamentals for non UI Developers
PPT
Don't Worry jQuery is very Easy:Learning Tips For jQuery
PDF
CSS in React - The Good, The Bad, and The Ugly
PDF
jQuery Mobile: Progressive Enhancement with HTML5
PPTX
PresentationML Subject: Presentation
PDF
CSS in React
DOCX
SIVASOFT - BEST ONLINE WEB DEVELOPMENT TRAINING COURSE
PDF
Fundamental JQuery
CSS101 - Concept Fundamentals for non UI Developers
Don't Worry jQuery is very Easy:Learning Tips For jQuery
CSS in React - The Good, The Bad, and The Ugly
jQuery Mobile: Progressive Enhancement with HTML5
PresentationML Subject: Presentation
CSS in React
SIVASOFT - BEST ONLINE WEB DEVELOPMENT TRAINING COURSE
Fundamental JQuery

What's hot (9)

PPTX
Semantic accessibility
PDF
Try Web Components
PPT
jQuery Mobile with HTML5
PDF
Advanced JQuery Mobile tutorial with Phonegap
PPTX
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
TXT
Chromelist
PDF
CSS basic cheat sheet
PDF
PDF
Whirlwind Tour of SVG (plus RaphaelJS)
Semantic accessibility
Try Web Components
jQuery Mobile with HTML5
Advanced JQuery Mobile tutorial with Phonegap
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Chromelist
CSS basic cheat sheet
Whirlwind Tour of SVG (plus RaphaelJS)
Ad

Viewers also liked (20)

PPTX
Photo and photo
KEY
JavaScript: Values, Types and Variables
PPT
JavaScript Data Types
PPTX
Web Server - Internet Applications
PPTX
Internet, domain name, worldwideweb
PDF
Intro to HTML5
PPS
PDF
Quick dive into WebVR
PDF
Web vr creative_vr
PDF
WebVR with Three.js!
PPTX
Firefox Extension Development
PDF
JavaScript Web Workers
PDF
WebRTC - On Standards, Identity and Telco Strategy
PDF
WebVR - JAX 2016
PDF
Javascript the New Parts
PPTX
Introduction to The VR Web
PDF
20160713 webvr
PPT
eXo SEA - JavaScript Introduction Training
PDF
WebRTC: A front-end perspective
PDF
JavaScript and Web Standards Sitting in a Tree
Photo and photo
JavaScript: Values, Types and Variables
JavaScript Data Types
Web Server - Internet Applications
Internet, domain name, worldwideweb
Intro to HTML5
Quick dive into WebVR
Web vr creative_vr
WebVR with Three.js!
Firefox Extension Development
JavaScript Web Workers
WebRTC - On Standards, Identity and Telco Strategy
WebVR - JAX 2016
Javascript the New Parts
Introduction to The VR Web
20160713 webvr
eXo SEA - JavaScript Introduction Training
WebRTC: A front-end perspective
JavaScript and Web Standards Sitting in a Tree
Ad

Similar to Web Front End - (HTML5, CSS3, JavaScript) ++ (20)

PPTX
Windows 8 Pure Imagination - 2012-11-24 - Getting your HTML5 game Windows 8 r...
PPT
Intro to jQuery
KEY
前端概述
PPTX
J Query The Write Less Do More Javascript Library
PPTX
SEF2013 - A jQuery Primer for SharePoint
PPTX
PPTX
Html5 and web technology update
PPTX
Jquery fundamentals
PDF
jQuery Rescue Adventure
PPT
IE8 Dev Overview_pp2003
PPT
J Query(04 12 2008) Foiaz
PPT
J Query Public
PPTX
jQuery
PPTX
jQuery presentation
PPTX
A to Z about JQuery - Become Newbie to Expert Java Developer
PPT
Web performance essentials - Goodies
PPTX
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
PPT
jQuery Tips Tricks Trivia
PPTX
Making Modern Websites
Windows 8 Pure Imagination - 2012-11-24 - Getting your HTML5 game Windows 8 r...
Intro to jQuery
前端概述
J Query The Write Less Do More Javascript Library
SEF2013 - A jQuery Primer for SharePoint
Html5 and web technology update
Jquery fundamentals
jQuery Rescue Adventure
IE8 Dev Overview_pp2003
J Query(04 12 2008) Foiaz
J Query Public
jQuery
jQuery presentation
A to Z about JQuery - Become Newbie to Expert Java Developer
Web performance essentials - Goodies
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
jQuery Tips Tricks Trivia
Making Modern Websites

Recently uploaded (20)

PPTX
Safe Confined Space Entry Monitoring_ Singapore Experts.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Build Multi-agent using Agent Development Kit
PDF
Become an Agentblazer Champion Challenge
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
PDF
Perfecting Gamer’s Experiences with Performance Testing for Gaming Applicatio...
PDF
Jenkins: An open-source automation server powering CI/CD Automation
PPTX
Save Business Costs with CRM Software for Insurance Agents
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Community & News Update Q2 Meet Up 2025
PPTX
Hire Expert WordPress Developers from Brainwings Infotech
PPTX
Presentation of Computer CLASS 2 .pptx
PDF
Become an Agentblazer Champion Challenge Kickoff
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PPTX
Lecture #1.ppt.pptx, Visuals Programming
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
Safe Confined Space Entry Monitoring_ Singapore Experts.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Build Multi-agent using Agent Development Kit
Become an Agentblazer Champion Challenge
The Role of Automation and AI in EHS Management for Data Centers.pdf
Perfecting Gamer’s Experiences with Performance Testing for Gaming Applicatio...
Jenkins: An open-source automation server powering CI/CD Automation
Save Business Costs with CRM Software for Insurance Agents
The Five Best AI Cover Tools in 2025.docx
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
The Future of Smart Factories Why Embedded Analytics Leads the Way
Online Work Permit System for Fast Permit Processing
Community & News Update Q2 Meet Up 2025
Hire Expert WordPress Developers from Brainwings Infotech
Presentation of Computer CLASS 2 .pptx
Become an Agentblazer Champion Challenge Kickoff
Materi-Enum-and-Record-Data-Type (1).pptx
Lecture #1.ppt.pptx, Visuals Programming
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...

Web Front End - (HTML5, CSS3, JavaScript) ++

  • 1. August 12, 2015 © Sreenath H B, 2014 Web Front End HTML5 CSS3 JavaScript Ajax jQuery Angular, Backbone, Knockout
  • 2. Agenda  WWW Explained  HTML5  CSS3  Bootstrap  JavaScript  Ajax  JSON  jQuery, jQuery UI  Angular, Knockout, Backbone
  • 3. WWW  Computer Networks  Network Addresses  Browsers and Web Servers  Hyper Text Transfer Protocol (HTTP)  Hyper Text Markup Language (HTML)  Web Applications
  • 6. HTML  Basic Structure  DTD  Elements, Tags, Nodes  Attributes, Properties, Values  Forms  GET, POST …
  • 7. The Rules of HTML  HTML Attribute Values May Be Case Sensitive  HTML Is Sensitive to a Single White Space Character  HTML Follows a Content Model  Elements Should Have Close Tags Unless Empty  Unused Elements May Minimize  Elements Should Nest In Correct Order  Attribute Values Should Be Quoted  Browsers Ignore Unknown Attributes and Elements
  • 8. Core Elements & Attributes  Headings  ID, name, class, title, alt  BR, HR,  P, SPAN, DIV  Blockquote, Pre  Lists – OL, UL
  • 9. HTML Forms  Input  Text  Password  Hidden  Submit  Button  Checkbox  Radio  Reset  File  Image  Select  Textarea
  • 10. HTML5  New Input Types  Color, Date, Datetime, Email, Month, Number, Range, Search, Tel, Url, Week  New Attributes  autocomplete, autofocus, autosave, inputmode, list, max, min, multiple, pattern, placeholder, readonly, required, step  New Semantic Elements  section, nav, article, aside, hgroup, header, footer, time, mark, main, data, math, datalist, progress, meter, menu  Canvas, SVG  Video, Audio  Geolocation API, Local Storage API & Offline Apps  Full Screen, Vibration, Media, Web Sockets API  http://diveintohtml5.info/
  • 11. CSS  Selection  Class, ID, Element  Ancestor Descendent  Parent > Child  Inheritance, Cascade & !important  Ems, pixels and points  Box Model: Positioning & Display  Floats & Clearing  Backgrounds & Sprites  Border, Padding, Margin  Typeface  Pseudo Classes
  • 12. CSS3  :before, :after  Multiple Backgrounds, Gradients, Border-Image  Transforms, Transitions, Animations  Box Shadow, Border Radius  Media Queries & Responsive CSS
  • 13. Design Philosophies  Graceful Degradation  Progressive Enhancement  Feature Detection using Modernizr  Accessibility: http://diveintoaccessibility.info/  Section 508, WCAG
  • 14. Bootstrap  http://getbootstrap.com/  HTML5 / CSS3 Standards Compliant Responsive Web Pages  CSS: <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.cs s">  JavaScript: <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js">< /script>  Depends on jQuery
  • 15. Bootstrap  Grids  row & 12 columns  col-lg-n, col-md-n, col-sm-n, col-xs-n  Navbars  Panels  Lists, Labels & Wells  Breadcrumbs, Pagination  Form Styling  Jumbotron  Alert, Progress Bars  Media  Carousel, Tabs, Collapse, Dropdown, Modal  Scorllspy, Popover, Tooltip, Affix
  • 16. JavaScript  History: http://youtu.be/v2ifWcnQs6M (First 13.5 min only)  Where to add scripts?  How to debug JavaScript?  Waiting for the page to finish loading  Unobtrusive Programming  Selection of DOM Elements  You can change HTML using JavaScript  You can change CSS using JavaScript  Hello DHTML  You can traverse the DOM too!
  • 17. JavaScript Data  Data Types – Number, String, Boolean  Date  Arrays, Associative Arrays  If Statement, Truthy & Falsy Values  Loops – While, Do-While, For, For-In  Functions  Scope of Variables  Objects & JSON  Regular Expressions  === & !==, !!  JavaScript Closures  Functions with arbitrary params
  • 18. JavaScript Events  Events & Listeners  Event Object & Event Context  Event Cancellation  Event Bubbling & Capturing  Supporting older browsers.  Call & Apply
  • 19. Ajax
  • 21. Ajax  XMLHttpRequest  Open(Type, Url)  Send(data)  readyState & readystatechange – 0,1,2,3,4  status - 200  responseXML and responseText  IE 5 & 6 – new ActiveXObject(“Microsoft.XMLHTTP”);  XMLHttpRequest object is non-reusable  XSS & CORS
  • 22. jQuery  Its just JavaScript!  CDN, Minification, Local fallback  DOMReady vs Window Load  The jQuery Object  Looping with each();  this  Chaining  Accessing DOM Objects  Array Subscript – Unsafe  .get(n)  Making peace with other libraries – noConflict()  Caching for performance
  • 23. Selectors – The Heart of jQuery  Element Selector: $(“element”)  ID Selector: $(“#id”)  Class Selector: $(“.classname”)  Ancestor Descendant: $(“E F”)  Parent Child: $(“E > F”)  Siblings – Adjacent & General  Adjacent Sibling : $(“E + F”)  General Siblings : $(“E ~ F”);  Multiple Selectors: $(“E, F, G”)
  • 24. Effects & Animations  Hide, Show  fadeIn, fadeOut  Toggle  slideUp, slideDown  slideToggle  .animate()
  • 25. Working with Forms  :text  :checkbox  :radio  :image  :submit  :reset  :password  :file  :input  :button  :enabled  :disabled  :checked  :selected
  • 26. Selectors Contd.. :first-child, :last-child, :only-child :nth-child(n) $(“li:first-child”); $(“tr:last-child”); $(“img:only-child”); $(“tr:nth-child(2n)”); Attribute Selectors Has Attribute: $(“img[alt]”); Begins With: $(“a[href^=mailto:]”); Ends With: $(“a[href$=.pdf]”); Contains: $(“a[href*=microsoft]”); Equals: $(“:checkbox[checked=true]”)  :not(s), :empty, :eq(n), :contains(s)  :even, :odd
  • 27. DOM Traversal  .filter()  .siblings()  .parent(), .children(), .parents()  .next(), .nextAll(), .prev(), .prevAll(), .andSelf()  .find() Manipulating Styles • .addClass() • .removeClass() • .css(“height”, “35px”)
  • 28. Events  Bubbling using Live, Die & Delegate and On  Bind, Once  Shorthand Events  Passing additional parameters to event listeners  Compound Events  Toggle, Hover
  • 29. DOM Manipulation  .text()  .html()  .val()  .append(), prepend()  .remove()  .empty()  .attr(), .removeAttr()  addClass(), removeClass()  Creating DOM Nodes  insertAfter, after, insertBefore, before  prependTo, appendTo  .wrap()
  • 30. jQuery AJAX  .load(“a.html”)  $.getJSON(“b.json”);  $.get(“c.xml”);  $.post(“d.php”);  $.ajax({ url:””, type:”GET”, dataType: “html”, success: function(data){ }, error: function(xhr){ } })
  • 31. Ajax Contd..  Calling a 3rd Party REST API / Web Service using jQuery Ajax (http://openweathermap.org/API)  JSONP & XSS  JSON to HTML using a for-in loop
  • 32. Authoring Plugins (function($){ $.fn.myPlugin = function(options){ var defaults = { }; options = $.extend(defaults, options); return this.each(function(){ //My Code for selected elements }); } })(jQuery); //Calling $(“selector”).myPlugin({options})
  • 33. AngularJS  MV* Design Patterns Overview  AngularJS Intro
  • 34. Other Libraries  Backbone  Knockout  Ember  Foundation
  • 35. About Author  Sreenath H B is the Product Owner for eIntern LLC in the DC Metro Area.  He specializes in Cloud Infrastructure Management, Web Front End Development and programming using the Micrososft Tech Stack  He is an avid traveler and blogger.  Twitter: @ubshreenath  Website: http://sreenath.net

Editor's Notes

  • #8: Attribute values may be case sensitive depending on server systems XHTML became a W3C Recommendation in Jan 2000 XHTML – Tags and attributes need to be lowercase, Empty Tags must self close
  • #18: Var sandwich = function(){}; getAttribute(); getAttribute(); accessing attributes directly Changing styles – spl. Case for hyphen seperated styles
  • #25: Create a sample with few paragraphs of text. The paragraphs are preceeded by a header and an elipsis link the clicking of the elipsis must show/hide the paragraph text.
  • #29: Activity: Create a Style Switcher to change font size of a page based on the selection of 3 div elements
  • #33: Activity: Create a plug`in $().shadow that applies a shadow to the selected elements