SlideShare a Scribd company logo
Frontend for Developers
      HTML for WebApps
The Web Browser
Web Browsers
The most important ones.



 • Internet Explorer
 • Chrome
 • Firefox
 • Safari
 • Opera
Web Browsers
Chrome is bigger than Internet Explorer.



 • Chrome
 • Internet Explorer
 • Firefox
 • Safari
 • Opera
Rendering engine
How it works?




     1. Parses HTML to construct the DOM tree

     2. Renders tree construction

     3. Creates layout of the render tree

     4. Paints the render
Web Browser’s parts
retrieves resources from the server and visually presents them.
The DOM
is a language-independent API.
The DOM
is implemented in JavaScript in the browser.
The DOM
is the object presentation of the HTML document.

             html


     head           body


   title     h1       p       h2         ul        div


                                   li         li


                           span    img             p
The DOM
is the interface of HTML elements to the outside world.
Rendering engine
by browser.



  Engine                                used by

           Firefox, SeaMonkey, Galeon, Camino, K-Meleon, Flock, Epiphany-
Gecko      gecko ... etc


Presto     Opera, Opera Mobile, Nintendo DS & DSi Browser, Internet Channel


Trident    Internet Explorer, Windows Phone 7


           Safari, Chrome, Adobe Air, Android Browser, Palm webOS, Symbian
WebKit
           S60, OWB, Stream, Flock, RockMelt
JavaScript engine
by browser.


     Engine                            used by

SpiderMonkey   Mozilla Firefox

Rhino          Mozilla

Carakan        Opera

Chakra         Internet Explorer > 9

JScript        Internet Explorer < 8

V8             Chrome

Nitro          Safari
The User Experience
Progressive Enhancement
aims to deliver information to the widest possible audience.




 • sparse, semantic markup contains all content
 • end-user web browser preferences are respected
Progressive Enhancement
basic content should be accessible to all web browsers.
Progressive Enhancement
basic functionality should be accessible to all web browsers.
Progressive Enhancement
enhanced layout is provided by externally linked CSS.
Progressive Enhancement
enhanced behavior is provided by unobtrusive JavaScript.
Polylls
is a feature detection technique for regressive enhancement.
Frontend
Its parts.



             • The Web Browser
             • The User Experience


             • The Content Layer
             • The Visual Layer
             • The Behavior Layer
The Content Layer
What is HTML


  • HyperText Markup Language
  • Markup language is not programming language
  • The web is published in HTML
  • It’s maintained by the W3C
Elements
Types of elements according to the tag.




      <p>It’s the content</p>
      Open tag & close tag. Element with content.



      <img />
      Unique tag. Element without content.
Attributes
Syntax.




     <p id=”paragraph”>It’s the content</p>
     Open tag & close tag. Element with content.



     <img src=”/image.jpg” alt=”It has a book.” />
     Unique tag. Element without content.
Attributes
The common attributes for the HTMLElement.



   • title
   • id
   • class
   • lang
   • dir
   • data-*
Reserved
Characters
  Entities
Reserved Characters
cannot be used inside the document.




    • < can be mixed with tags
    • > can be mixed with tags
    • “ the quotes start an attribute
    • & the ampersand is also reserved
Entities
are used to implement reserved characters.




               < --------- &lt;
               > --------- &gt;
              & --------- &amp;
               “ --------- &quote;
Entities
examples.


10 < 20
<p> 10 &lt; 20 </p>

20 > 10
<p> 10 &gt; 20 </p>

He said: “Don’t do it”
<p>He said: &quot;Don’t do it&quot; </p>

Company & Co.
<p> Company &amp; Co. </p>
The Structure
html, head & body
The doctype
is required to do cross browser.



<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
The html element
is the root of the document.



<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
The head element
is a collection of metadata.



<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
The body element
is the place for the content.



<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
The DOM



It’s the interface of HTML elements to the outside world
The DOM
interface of a image element.


interface HTMLImageElement : HTMLElement {
             attribute DOMString alt;
             attribute DOMString src;
             attribute DOMString crossOrigin;
             attribute DOMString useMap;
             attribute boolean isMap;
             attribute unsigned long width;
             attribute unsigned long height;
    readonly attribute unsigned long naturalWidth;
    readonly attribute unsigned long naturalHeight;
    readonly attribute boolean complete;
};
Practices
The best of them
Comment
the code.



<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
Attributes
must always be between quotes.




<img width=”50” height=”90” alt=”Iphone Image” />
Attributes
must always be between quotes.




<img width=”50” height=”90” alt=”Iphone Image” />
JavaScript
functions should never go in event attributes.




<p onclick=”hideDiv();”></p>
JavaScript
functions should never go in event attributes.




<p onclick=”hideDiv();”></p>   not recommended
JavaScript
functions should never go in event attributes.




<p id=”overview”></p>

<p onclick=”hideDiv();”></p>   not recommended
JavaScript
never goes in head element.
<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
       <script>
            function greet(){
              alert(“hello world!”);
            }
       </script>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
JavaScript
never goes in head element.
<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
       <script>
            function greet(){          not recommended
              alert(“hello world!”);
            }
       </script>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
   </body>
</html>
JavaScript
never goes in head element.
<!doctype html>
<html>
   <head>
       <title>MercadoLibre</title>
   </head>
   <body>
       <p>The basic content</p>
       <!-- Comment -->
       <script>
            function greet(){
              alert(“hello world!”);
            }
       </script>
   </body>
</html>
CSS
rules should never go inline.




<p style=”color:#ffffff;”></p>
CSS
rules should never go inline.




<p style=”color:#ffffff;”></p>   not recommended
CSS
rules should never go inline.




<p class=”featured”></p>

<p style=”color:#ffffff;”></p>   not recommended
Metadata
Inside the head
The head element
the place for metadata.




 <head>


 </head>
The title element
represents the document’s name and identifies it out of context.




     • Required
     • Unique
     • ~ 64 characters
The title element
represents the document’s name and identifies it out of context.




<head>
   <title>MercadoLibre Argentina</title>
</head>
The link element
allows you to link the current document to other resources.

 <link />


            • rel
            • href
            • media
            • type
The rel attribute
adds meaning to the external resources.


    • alternate                  • nofollow
    • author                     • noreferrer
    • bookmark                   • prefetch
    • help                       • prev
    • icon                       • search
    • license                    • stylesheet
    • next                       • tag
The rel attribute
examples.



<link rel=”stylesheet” type=”text/css” href=”/external.css” ... />

<link rel=”alternate” type=”application/rss+xml” ... />

<link rel=”prev” title=”Chapter 2” href=”/chapter-2” ... />

<link rel=”next” title=”Chapter 4” href=”/chapter-4” ... />

<link rel=”alternate stylesheet” title=”New Layout” ... />
The meta element
represents various kinds of metadata.

 <meta />



     • name
     • charset
     • http-equiv
     • content
The meta element
The name attribute.


<meta name=”author” content=”Hernan Mammana” />

<meta name=”copyright” content=”2011” />

<meta name=”description” content=”It’s the ... for HTML talk” />

<meta name=”generator” content=”gDocs” />

<meta name=”keywords” content=”html,talk,slideshow” />

<meta name=”robots” content=”all” />
The meta element
The charset attribute.




<meta charset=”utf-8” />
The Content
Inside the body
The elements for text
are used to give meaning to the content.



     • Headings
        • h1, h2, h3, h4, h5, h6

     • Paragraph
        • p


     • Inside Headings, Paragraph and List
        • strong, em, cite, sup, sub, acronym, a
Headings
Examples from Home.


                      <h1>MercadoLibre</h1>
                      <h2>Clasicados</h2>
                      <h2>CategorĂ­as</h2>
                      <h2>Recomendados</h2>
                      <h2>MĂĄs vendidos de la ... </h2>
                      <h2>Destacados</h2>
                      <h2>MĂĄs Compartidos</h2>
                      <h2>Subastas desde $1</h2>
                      <h2>Historial</h2>
                      <h2>12 Cuotas sin interĂŠs</h2>
                      <h2>Imperdibles del dĂ­a</h2>
Headings
Examples for VIP.

                    <h1>Apple Ipod touch...</h1>
                    <h2>ReputaciĂłn del vendedor</h2>
                    <h2>Medios de pago</h2>
                    <h2>Medios de envĂ­o</h2>
Paragraph
examples.




<p>MercadoLibre no vende este artĂ­culo ... </p>




<p>Local Palermo Fscomputers Dist Autorizado ... </p>
Inside paragraphs ...
Examples.




 <p><strong>Elige el motivo de tu denuncia: </strong></p>




 <p><strong>$ 1.899<sup>99</sup></strong></p>
Lists
To add meaning
Ordered & Unordered Lists
The most used lists on the web.



    • Ordered List
       To show rankings, prioritize tasks and search results


       • List Item
          To put anything inside the Ordered List


    • Unordered List
       To list anything without priorities


       • List Item
          To put anything inside the Unordered Lists
Ordered List
is used to show rankings, prioritize tasks and search results.
<ol>
    <li>Apple Ipod Touch 8 Gb 4ta Generaci... </li>
    <li>Apple Ipod Touch 32gb 4g 4ta Gener... </li>
    <li>Apple Ipod Nano 8gb 6g 6ta Genera... </li>
</ol>
Unordered List
is used to list anything without priorities.

                                 <ul>
                                     <li>ArtĂ­culo nuevo </li>
                                     <li>208 vendidos </li>
                                     <li>Capital Federal </li>
                                 </ul>



                                 <ul>
                                     <li>Efectivo </li>
                                     <li>Visa American... </li>
                                     <li>Tu compra esta...</li>
                                 </ul>
Description List
is used to make dictionaries, screenplays and key-value pairs.




     • It has three parts
        • Description List element

        • Description Term element

        • Description Definition element
Denition List
Example.



             <dl>	
             
 <dt>CondiciĂłn:</dt>
             
 <dd>ArtĂ­culo nuevo</dd>
             
 <dt>UbicaciĂłn:</dt>
             	 <dd>capital federal</dd>	
             	 <dt>Vendidos:</dt>	
             	 <dd>193	vendidos</dd>
             	 <dt>Finaliza en:</dt>	
             	 <dd>Finaliza en 4d 2h</dd>	
             </dl>
Table
To organize the
     data
The table element
and all its semantic elements.




     • The basic elements
        table, tr, td, th


     • The semantic elements
        caption, thead, tbody, tfoot, colgroup, col
The table element
Example.
The basic elements
The semantic table elements.



<table>
   <tr>
      <th>header</th>
      <th>header</th>
   </tr>
   <tr>
      <td>data</td>
      <td>data</td>
   </tr>
</table>
The table element
The global data container.



<table>
   <tr>
      <th>header</th>
      <th>header</th>
   </tr>
   <tr>
      <td>data</td>
      <td>data</td>
   </tr>
</table>
The tr element
The row.



<table>
   <tr>
      <th>header</th>
      <th>header</th>
   </tr>
   <tr>
      <td>data</td>
      <td>data</td>
   </tr>
</table>
The th element
The header data element.



<table>
   <tr>
      <th>header</th>
      <th>header</th>
   </tr>
   <tr>
      <td>data</td>
      <td>data</td>
   </tr>
</table>
The td element
The content data element.



<table>
   <tr>
      <th>header</th>
      <th>header</th>
   </tr>
   <tr>
      <td>data</td>
      <td>data</td>
   </tr>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.


<table>
   <caption>It’s title of the table</caption>
   <thead>

    </thead>
    <tfoot>

    </tfoot>
    <tbody>

    </tbody>
</table>
The semantic elements
The semantic table elements.

   table
   rst name   last name       age   purchase
The semantic elements
The semantic table elements.

   table
   rst name   last name       age   purchase
The semantic elements
The semantic table elements.

   table
        personal data                purchase
   rst name   last name       age
The semantic elements
The semantic table elements.

   table
        personal data                purchase
   rst name   last name       age
The semantic elements
The semantic table elements.



<table>
    <caption>Title of the table</caption>
    <colgroup>
        <col />
        <col />
        <col />
    </colgroup>
    <tfoot>
    ...
</table>
The semantic elements
The semantic table elements.

   table
        personal data          age   purchase
   rst name   last name
The semantic elements
The semantic table elements.



<table>
    <caption>Title of the table</caption>
    <colgroup>
        <col />
        <col />
    </colgroup>
    <col />
    <tfoot>
    ...
</table>
The semantic elements
The semantic table elements.



<table>
    <caption>Title of the table</caption>
    <colgroup id=”personalData”>
        <col class=”first-name” />
        <col class=”last-name” />
    </colgroup>
    <col class=”age” />
    <tfoot>
    ...
</table>
Yes, we can use tables!




      Only for data!
Links
The hypertext
The a element
allows you to link current document to other resources.




    • href
    • rel
    • target
    • title
    • type
The a element
URL decomposition attributes.



   interface HTMLAnchorElement : HTMLElement {
   ...

         attribute DOMString protocol;
         attribute DOMString host;
         attribute DOMString hostname;
         attribute DOMString port;
         attribute DOMString pathname;
         attribute DOMString search;
         attribute DOMString hash;
   };
Images
Non decorative
The img element
allows you to insert an image.




    • src
    • alt
    • title
    • width
    • height
The img element
allows you to insert an image.




<img src=”/image.jpg” alt=”It has a book.” />
Forms
Getting the user’s
      data
The form element
establishes a relationship between the user and the organization.
The form element
establishes a relationship between the user and the organization.
The form element
establishes a relationship between the user and the organization.
The form element
establishes a relationship between the user and the organization.
The form element
establishes a relationship between the user and the organization.
The form element
establishes a relationship between the user and the organization.



    • Component of a web page
    • They have form controls, like text fields & buttons
    • The user can interact with them
    • The user’s data can be sent to the server
    • No client side scripting is needed
    • An API is available. It augments the user experience
The form element
example.


   <form method=”post” action=”/signup”>

   </form>
The form element
The method attribute.


    <form method=”post” action=”/signup”>

    </form>
The form element
The action attribute.


    <form method=”post” action=”/signup”>

    </form>
Semantic elements
for the form.



      • fieldset
         is the element to group similar meaning controls


      • legend
         is the element to give a meaning to the eldset


      • label
         is the element to give meaning to a control
Semantic elements
for the form.


  <form method=”post” action=”/signup”>
      <eldset>
         <legend>RegĂ­strate</legend>
         <label>Nombre:</label>

      </eldset>
  </form>
Form controls
The elements inside the form.

    • input,
       It render very different control related to his type attribute.

    • select
       It render two list of options, single and multiple.

       • optgroup
          Semantic element to group similar options.

       • option
          It’s a option in the select list.

    • textarea
       It render a control to multiline text.


    • button
       It render a common button. Could be user outside the form tag.
The input element
It has many types. Each type has a different display.

    <input type=”{VALUE}” />

    •   hidden                   •   month     html5


    •   text                     •   week     html5


    •   search         html5     •   time    html5


    •   tel    html5
                                 •   datetime-local      html5


    •   url    html5
                                 •   number      html5
                                                                 •   file
    •   email     html5          •   range    html5              •   submit
    •   password                 •   color   html5
                                                                 •   image
    •   datetime         html5
                                 •   checkbox                    •   reset
    •   date     html5           •   radio                       •   button
The input element
It has many types. Each type has a different display.

<input type=”{TYPE}” name=”{NAME}” id=”{ID}” />

 •   accept           •   multiple
 •   autocomplete     •   pattern
 •   autofocus        •   placeholder
 •   checked          •   readonly
 •   disabled         •   required
 •   list             •   size
 •   max              •   src
 •   maxlength        •   step
 •   min              •   value
The type hidden
represents a value that isn’t intended to be manipulated.

<input type=”hidden” />

 • name
 • value
The type text
represents a one line text edit control for the element’s value.

<input type=”text” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • placeholder
 • readonly
 • required
 • size
The type text
represents a one line text edit control for the element’s value.

<input type=”search” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • placeholder
 • readonly
 • required
 • size
The type tel
represents a control for editing a telephone number.

<input type=”tel” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • placeholder
 • readonly
 • required
 • size
The type password
represents a one line text edit control for the element’s value.

<input type=”password” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • placeholder
 • readonly
 • required
 • size
The type email
represents a control for editing the e-mail addresses.

<input type=”email” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • multiple
 • placeholder
 • readonly
 • required
 • size
The type url
represents a control for editing a single absolute URL.

<input type=”url” />

 • autocomplete
 • autofocus
 • disabled
 • maxlength
 • multiple
 • placeholder
 • readonly
 • required
 • size
The type le
represents a list of selected les.

 <input type=”file” />

 • accept
 • autocomplete
 • autofocus
 • disabled
 • multiple
 • placeholder
 • readonly
 • required
 • size
The type date
represents a control for setting a string representing a date.

<input type=”date” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type datetime
represents a control for setting a global date and time.

<input type=”datetime” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type month
represents a control for setting a string representing a month.

<input type=”month” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type week
represents a control for setting a string representing a week.

<input type=”week” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type datetime-local
represents a control for setting a local date and time.

<input type=”datetime-local” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type number
represents a control for setting a string representing a number

<input type=”number” />

 • autocomplete
 • autofocus
 • disabled
 • max
 • min
 • placeholder
 • readonly
 • required
 • size
 • step
The type range
represents a number, but the exact value is not important.

<input type=”range” />

 • autofocus
 • disabled
 • max
 • min
 • readonly
 • required
 • size
 • step
The type color
represents a control for setting a string simple color.

<input type=”color” />

 • autocomplete
 • autofocus
 • disabled
 • placeholder
 • readonly
 • required
 • size
The type checkbox
represents a two-state control.

<input type=”checkbox” />

 • checked
 • disabled
 • readonly
 • required
 • value
The type radio
represents a mutually exclusive options control.

<input type=”radio” />

 • checked
 • disabled
 • readonly
 • required
 • value
The type image
represents an button from which we can add some behavior.

<input type=”image” />

 • autofocus
 • disabled
 • readonly
 • required
 • src
The type submit
represents a button that, when activated, submits the form.

<input type=”submit” />

 • autofocus
 • disabled
 • required
 • value
The type reset
represents a button that, when activated, resets the form.

<input type=”reset” />

 • autofocus
 • disabled
 • required
 • value
The type button
represents a button with no default behavior.

<input type=”button” />

 • autofocus
 • disabled
 • required
 • value
The select element
represents a control for selecting amongst a set of options.




<select>
    <option>Otros (Debes completar el comentario).</option>
</select>
The select element
Attributes.
      <select> ... </select>

      • autofocus   html5


      • multiple
      • size
      • required
      • readonly
      • disabled
      • name
The select element
Examples.

    <select>
        <option value=”opt1”>value</option>
    </select>

    <select>
        <optgroup label=”Group One”>
           <option value=”opt1”>value</option>
        </optgroup>
    </select>
The textarea element
represents a multiline plain text edit control.

     <textarea></textarea>
The textarea element
is used for long inputs of text.

     <textarea></textarea>
       • autofocus
       • cols
       • dirname
       • disabled
       • maxlength
       • name
       • placeholder   html5


       • readonly
       • required
       • rows
       • wrap
Thanks

More Related Content

What's hot

HTML5, The Open Web, and what it means for you - Altran
HTML5, The Open Web, and what it means for you - AltranHTML5, The Open Web, and what it means for you - Altran
HTML5, The Open Web, and what it means for you - Altran
Robert Nyman
 
Html and html5 cheat sheets
Html and html5 cheat sheetsHtml and html5 cheat sheets
Html and html5 cheat sheets
Zafer Galip Ozberk
 
HTML and CSS crash course!
HTML and CSS crash course!HTML and CSS crash course!
HTML and CSS crash course!
Ana Cidre
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
Mike Crabb
 
Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3
Tadpole Collective
 
HTML & CSS Workshop Notes
HTML & CSS Workshop NotesHTML & CSS Workshop Notes
HTML & CSS Workshop Notes
Pamela Fox
 
HTML 5 Step By Step - Ebook
HTML 5 Step By Step - EbookHTML 5 Step By Step - Ebook
HTML 5 Step By Step - Ebook
Scottperrone
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
François Massart
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
Christian Heilmann
 
Modular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS WorkshopModular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS Workshop
Shay Howe
 
Fronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-templateFronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-template
Inventis Web Architects
 
Html intro
Html introHtml intro
Html intro
Robyn Overstreet
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
Sayed Ahmed
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
Naga Harish M
 
Origins and evolution of HTML and XHTML
Origins and evolution of HTML and XHTMLOrigins and evolution of HTML and XHTML
Origins and evolution of HTML and XHTML
Howpk
 
Css, xhtml, javascript
Css, xhtml, javascriptCss, xhtml, javascript
Css, xhtml, javascript
Trần Khải Hoàng
 
Getting to know perch — and perch runway!
Getting to know perch — and perch runway!Getting to know perch — and perch runway!
Getting to know perch — and perch runway!
Abigail Larsen
 
Html5
Html5Html5
Perch CMS Summit: Perch Template Tips and Tricks
Perch CMS Summit: Perch Template Tips and TricksPerch CMS Summit: Perch Template Tips and Tricks
Perch CMS Summit: Perch Template Tips and Tricks
Rachel Andrew
 

What's hot (20)

HTML5, The Open Web, and what it means for you - Altran
HTML5, The Open Web, and what it means for you - AltranHTML5, The Open Web, and what it means for you - Altran
HTML5, The Open Web, and what it means for you - Altran
 
Html and html5 cheat sheets
Html and html5 cheat sheetsHtml and html5 cheat sheets
Html and html5 cheat sheets
 
HTML and CSS crash course!
HTML and CSS crash course!HTML and CSS crash course!
HTML and CSS crash course!
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
 
Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3
 
HTML & CSS Workshop Notes
HTML & CSS Workshop NotesHTML & CSS Workshop Notes
HTML & CSS Workshop Notes
 
HTML 5 Step By Step - Ebook
HTML 5 Step By Step - EbookHTML 5 Step By Step - Ebook
HTML 5 Step By Step - Ebook
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
 
Modular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS WorkshopModular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS Workshop
 
Fronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-templateFronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-template
 
Html intro
Html introHtml intro
Html intro
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Origins and evolution of HTML and XHTML
Origins and evolution of HTML and XHTMLOrigins and evolution of HTML and XHTML
Origins and evolution of HTML and XHTML
 
Css, xhtml, javascript
Css, xhtml, javascriptCss, xhtml, javascript
Css, xhtml, javascript
 
Getting to know perch — and perch runway!
Getting to know perch — and perch runway!Getting to know perch — and perch runway!
Getting to know perch — and perch runway!
 
Html5
Html5Html5
Html5
 
Perch CMS Summit: Perch Template Tips and Tricks
Perch CMS Summit: Perch Template Tips and TricksPerch CMS Summit: Perch Template Tips and Tricks
Perch CMS Summit: Perch Template Tips and Tricks
 

Viewers also liked

Tabanpuanlar
TabanpuanlarTabanpuanlar
Tabanpuanlaryildizalper
 
English presesntation
English presesntationEnglish presesntation
English presesntation
Melanie Katz
 
Ingles activy
Ingles activyIngles activy
Ingles activy
Consuelo Rosero
 
English presesntation
English presesntationEnglish presesntation
English presesntation
Melanie Katz
 
English presesntation
English presesntationEnglish presesntation
English presesntation
Melanie Katz
 
Migration
MigrationMigration
Migration
Ankit Pradhan
 
Getting Started with DOM
Getting Started with DOMGetting Started with DOM
Getting Started with DOM
Hernan Mammana
 
The prototype property
The prototype propertyThe prototype property
The prototype property
Hernan Mammana
 
Javascript coding-and-design-patterns
Javascript coding-and-design-patternsJavascript coding-and-design-patterns
Javascript coding-and-design-patterns
Hernan Mammana
 
Frankfurt school
Frankfurt schoolFrankfurt school
Frankfurt school
Ankit Pradhan
 

Viewers also liked (10)

Tabanpuanlar
TabanpuanlarTabanpuanlar
Tabanpuanlar
 
English presesntation
English presesntationEnglish presesntation
English presesntation
 
Ingles activy
Ingles activyIngles activy
Ingles activy
 
English presesntation
English presesntationEnglish presesntation
English presesntation
 
English presesntation
English presesntationEnglish presesntation
English presesntation
 
Migration
MigrationMigration
Migration
 
Getting Started with DOM
Getting Started with DOMGetting Started with DOM
Getting Started with DOM
 
The prototype property
The prototype propertyThe prototype property
The prototype property
 
Javascript coding-and-design-patterns
Javascript coding-and-design-patternsJavascript coding-and-design-patterns
Javascript coding-and-design-patterns
 
Frankfurt school
Frankfurt schoolFrankfurt school
Frankfurt school
 

Similar to Frontend for developers

HTML5 tags.ppt
HTML5 tags.pptHTML5 tags.ppt
HTML5 tags.ppt
abcxyz1337
 
Darwin web standards
Darwin web standardsDarwin web standards
Darwin web standards
Justin Avery
 
Html&Browser
Html&BrowserHtml&Browser
Html&Browser
Alipay
 
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
Aaron Gustafson
 
HTML5 Essential Training
HTML5 Essential TrainingHTML5 Essential Training
HTML5 Essential Training
Kaloyan Kosev
 
Intro to polymer-Devfest YaoundĂŠ 2013
Intro to polymer-Devfest YaoundĂŠ 2013Intro to polymer-Devfest YaoundĂŠ 2013
Intro to polymer-Devfest YaoundĂŠ 2013
gdgyaounde
 
Html5
Html5Html5
Introduction to html
Introduction to htmlIntroduction to html
Introduction to html
eShikshak
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
Lanh Le
 
What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)
Ahsan Rahim
 
Intro to HTML
Intro to HTMLIntro to HTML
Intro to HTML
aakash choudhary
 
Basics of html for web development by software outsourcing company india
Basics of html for web development   by software outsourcing company indiaBasics of html for web development   by software outsourcing company india
Basics of html for web development by software outsourcing company india
Jignesh Aakoliya
 
Web Page Designing
Web Page DesigningWeb Page Designing
Web Page Designing
Amit Mali
 
How the Web Works Using HTML
How the Web Works Using HTMLHow the Web Works Using HTML
How the Web Works Using HTML
Marlon Jamera
 
Introduction to WEB HTML, CSS
Introduction to WEB HTML, CSSIntroduction to WEB HTML, CSS
Introduction to WEB HTML, CSS
University of Technology
 
Intro to html revised2
Intro to html revised2Intro to html revised2
Intro to html revised2
mmvidanes29
 
Understanding the Web Page Layout
Understanding the Web Page LayoutUnderstanding the Web Page Layout
Understanding the Web Page Layout
Jhaun Paul Enriquez
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
Christopher Ross
 
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
BG Java EE Course
 
3 1-html-fundamentals-110302100520-phpapp02
3 1-html-fundamentals-110302100520-phpapp023 1-html-fundamentals-110302100520-phpapp02
3 1-html-fundamentals-110302100520-phpapp02
Aditya Varma
 

Similar to Frontend for developers (20)

HTML5 tags.ppt
HTML5 tags.pptHTML5 tags.ppt
HTML5 tags.ppt
 
Darwin web standards
Darwin web standardsDarwin web standards
Darwin web standards
 
Html&Browser
Html&BrowserHtml&Browser
Html&Browser
 
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
 
HTML5 Essential Training
HTML5 Essential TrainingHTML5 Essential Training
HTML5 Essential Training
 
Intro to polymer-Devfest YaoundĂŠ 2013
Intro to polymer-Devfest YaoundĂŠ 2013Intro to polymer-Devfest YaoundĂŠ 2013
Intro to polymer-Devfest YaoundĂŠ 2013
 
Html5
Html5Html5
Html5
 
Introduction to html
Introduction to htmlIntroduction to html
Introduction to html
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
 
What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)What is HTML - An Introduction to HTML (Hypertext Markup Language)
What is HTML - An Introduction to HTML (Hypertext Markup Language)
 
Intro to HTML
Intro to HTMLIntro to HTML
Intro to HTML
 
Basics of html for web development by software outsourcing company india
Basics of html for web development   by software outsourcing company indiaBasics of html for web development   by software outsourcing company india
Basics of html for web development by software outsourcing company india
 
Web Page Designing
Web Page DesigningWeb Page Designing
Web Page Designing
 
How the Web Works Using HTML
How the Web Works Using HTMLHow the Web Works Using HTML
How the Web Works Using HTML
 
Introduction to WEB HTML, CSS
Introduction to WEB HTML, CSSIntroduction to WEB HTML, CSS
Introduction to WEB HTML, CSS
 
Intro to html revised2
Intro to html revised2Intro to html revised2
Intro to html revised2
 
Understanding the Web Page Layout
Understanding the Web Page LayoutUnderstanding the Web Page Layout
Understanding the Web Page Layout
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
 
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
 
3 1-html-fundamentals-110302100520-phpapp02
3 1-html-fundamentals-110302100520-phpapp023 1-html-fundamentals-110302100520-phpapp02
3 1-html-fundamentals-110302100520-phpapp02
 

More from Hernan Mammana

Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESSVender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Hernan Mammana
 
JavaScript regular expression
JavaScript regular expressionJavaScript regular expression
JavaScript regular expression
Hernan Mammana
 
The html5 outline
The html5 outlineThe html5 outline
The html5 outline
Hernan Mammana
 
Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good Practices
Hernan Mammana
 
Layout
LayoutLayout
Layout
Hernan Mammana
 
TipowebgrafĂ­a
TipowebgrafĂ­aTipowebgrafĂ­a
TipowebgrafĂ­a
Hernan Mammana
 
Semantic markup - Creating Outline
Semantic markup -  Creating OutlineSemantic markup -  Creating Outline
Semantic markup - Creating Outline
Hernan Mammana
 
Chico JS - Q4 Challenges
Chico JS - Q4 ChallengesChico JS - Q4 Challenges
Chico JS - Q4 Challenges
Hernan Mammana
 

More from Hernan Mammana (8)

Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESSVender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
 
JavaScript regular expression
JavaScript regular expressionJavaScript regular expression
JavaScript regular expression
 
The html5 outline
The html5 outlineThe html5 outline
The html5 outline
 
Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good Practices
 
Layout
LayoutLayout
Layout
 
TipowebgrafĂ­a
TipowebgrafĂ­aTipowebgrafĂ­a
TipowebgrafĂ­a
 
Semantic markup - Creating Outline
Semantic markup -  Creating OutlineSemantic markup -  Creating Outline
Semantic markup - Creating Outline
 
Chico JS - Q4 Challenges
Chico JS - Q4 ChallengesChico JS - Q4 Challenges
Chico JS - Q4 Challenges
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 

Frontend for developers

  • 1. Frontend for Developers HTML for WebApps
  • 3. Web Browsers The most important ones. • Internet Explorer • Chrome • Firefox • Safari • Opera
  • 4. Web Browsers Chrome is bigger than Internet Explorer. • Chrome • Internet Explorer • Firefox • Safari • Opera
  • 5. Rendering engine How it works? 1. Parses HTML to construct the DOM tree 2. Renders tree construction 3. Creates layout of the render tree 4. Paints the render
  • 6. Web Browser’s parts retrieves resources from the server and visually presents them.
  • 7. The DOM is a language-independent API.
  • 8. The DOM is implemented in JavaScript in the browser.
  • 9. The DOM is the object presentation of the HTML document. html head body title h1 p h2 ul div li li span img p
  • 10. The DOM is the interface of HTML elements to the outside world.
  • 11. Rendering engine by browser. Engine used by Firefox, SeaMonkey, Galeon, Camino, K-Meleon, Flock, Epiphany- Gecko gecko ... etc Presto Opera, Opera Mobile, Nintendo DS & DSi Browser, Internet Channel Trident Internet Explorer, Windows Phone 7 Safari, Chrome, Adobe Air, Android Browser, Palm webOS, Symbian WebKit S60, OWB, Stream, Flock, RockMelt
  • 12. JavaScript engine by browser. Engine used by SpiderMonkey Mozilla Firefox Rhino Mozilla Carakan Opera Chakra Internet Explorer > 9 JScript Internet Explorer < 8 V8 Chrome Nitro Safari
  • 14. Progressive Enhancement aims to deliver information to the widest possible audience. • sparse, semantic markup contains all content • end-user web browser preferences are respected
  • 15. Progressive Enhancement basic content should be accessible to all web browsers.
  • 16. Progressive Enhancement basic functionality should be accessible to all web browsers.
  • 17. Progressive Enhancement enhanced layout is provided by externally linked CSS.
  • 18. Progressive Enhancement enhanced behavior is provided by unobtrusive JavaScript.
  • 19. Polylls is a feature detection technique for regressive enhancement.
  • 20. Frontend Its parts. • The Web Browser • The User Experience • The Content Layer • The Visual Layer • The Behavior Layer
  • 22. What is HTML • HyperText Markup Language • Markup language is not programming language • The web is published in HTML • It’s maintained by the W3C
  • 23. Elements Types of elements according to the tag. <p>It’s the content</p> Open tag & close tag. Element with content. <img /> Unique tag. Element without content.
  • 24. Attributes Syntax. <p id=”paragraph”>It’s the content</p> Open tag & close tag. Element with content. <img src=”/image.jpg” alt=”It has a book.” /> Unique tag. Element without content.
  • 25. Attributes The common attributes for the HTMLElement. • title • id • class • lang • dir • data-*
  • 27. Reserved Characters cannot be used inside the document. • < can be mixed with tags • > can be mixed with tags • “ the quotes start an attribute • & the ampersand is also reserved
  • 28. Entities are used to implement reserved characters. < --------- &lt; > --------- &gt; & --------- &amp; “ --------- &quote;
  • 29. Entities examples. 10 < 20 <p> 10 &lt; 20 </p> 20 > 10 <p> 10 &gt; 20 </p> He said: “Don’t do it” <p>He said: &quot;Don’t do it&quot; </p> Company & Co. <p> Company &amp; Co. </p>
  • 31. The doctype is required to do cross browser. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 32. The html element is the root of the document. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 33. The head element is a collection of metadata. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 34. The body element is the place for the content. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 35. The DOM It’s the interface of HTML elements to the outside world
  • 36. The DOM interface of a image element. interface HTMLImageElement : HTMLElement { attribute DOMString alt; attribute DOMString src; attribute DOMString crossOrigin; attribute DOMString useMap; attribute boolean isMap; attribute unsigned long width; attribute unsigned long height; readonly attribute unsigned long naturalWidth; readonly attribute unsigned long naturalHeight; readonly attribute boolean complete; };
  • 38. Comment the code. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 39. Attributes must always be between quotes. <img width=”50” height=”90” alt=”Iphone Image” />
  • 40. Attributes must always be between quotes. <img width=”50” height=”90” alt=”Iphone Image” />
  • 41. JavaScript functions should never go in event attributes. <p onclick=”hideDiv();”></p>
  • 42. JavaScript functions should never go in event attributes. <p onclick=”hideDiv();”></p> not recommended
  • 43. JavaScript functions should never go in event attributes. <p id=”overview”></p> <p onclick=”hideDiv();”></p> not recommended
  • 44. JavaScript never goes in head element. <!doctype html> <html> <head> <title>MercadoLibre</title> <script> function greet(){ alert(“hello world!”); } </script> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 45. JavaScript never goes in head element. <!doctype html> <html> <head> <title>MercadoLibre</title> <script> function greet(){ not recommended alert(“hello world!”); } </script> </head> <body> <p>The basic content</p> <!-- Comment --> </body> </html>
  • 46. JavaScript never goes in head element. <!doctype html> <html> <head> <title>MercadoLibre</title> </head> <body> <p>The basic content</p> <!-- Comment --> <script> function greet(){ alert(“hello world!”); } </script> </body> </html>
  • 47. CSS rules should never go inline. <p style=”color:#ffffff;”></p>
  • 48. CSS rules should never go inline. <p style=”color:#ffffff;”></p> not recommended
  • 49. CSS rules should never go inline. <p class=”featured”></p> <p style=”color:#ffffff;”></p> not recommended
  • 51. The head element the place for metadata. <head> </head>
  • 52. The title element represents the document’s name and identies it out of context. • Required • Unique • ~ 64 characters
  • 53. The title element represents the document’s name and identies it out of context. <head> <title>MercadoLibre Argentina</title> </head>
  • 54. The link element allows you to link the current document to other resources. <link /> • rel • href • media • type
  • 55. The rel attribute adds meaning to the external resources. • alternate • nofollow • author • noreferrer • bookmark • prefetch • help • prev • icon • search • license • stylesheet • next • tag
  • 56. The rel attribute examples. <link rel=”stylesheet” type=”text/css” href=”/external.css” ... /> <link rel=”alternate” type=”application/rss+xml” ... /> <link rel=”prev” title=”Chapter 2” href=”/chapter-2” ... /> <link rel=”next” title=”Chapter 4” href=”/chapter-4” ... /> <link rel=”alternate stylesheet” title=”New Layout” ... />
  • 57. The meta element represents various kinds of metadata. <meta /> • name • charset • http-equiv • content
  • 58. The meta element The name attribute. <meta name=”author” content=”Hernan Mammana” /> <meta name=”copyright” content=”2011” /> <meta name=”description” content=”It’s the ... for HTML talk” /> <meta name=”generator” content=”gDocs” /> <meta name=”keywords” content=”html,talk,slideshow” /> <meta name=”robots” content=”all” />
  • 59. The meta element The charset attribute. <meta charset=”utf-8” />
  • 61. The elements for text are used to give meaning to the content. • Headings • h1, h2, h3, h4, h5, h6 • Paragraph • p • Inside Headings, Paragraph and List • strong, em, cite, sup, sub, acronym, a
  • 62. Headings Examples from Home. <h1>MercadoLibre</h1> <h2>Clasicados</h2> <h2>CategorĂ­as</h2> <h2>Recomendados</h2> <h2>MĂĄs vendidos de la ... </h2> <h2>Destacados</h2> <h2>MĂĄs Compartidos</h2> <h2>Subastas desde $1</h2> <h2>Historial</h2> <h2>12 Cuotas sin interĂŠs</h2> <h2>Imperdibles del dĂ­a</h2>
  • 63. Headings Examples for VIP. <h1>Apple Ipod touch...</h1> <h2>ReputaciĂłn del vendedor</h2> <h2>Medios de pago</h2> <h2>Medios de envĂ­o</h2>
  • 64. Paragraph examples. <p>MercadoLibre no vende este artĂ­culo ... </p> <p>Local Palermo Fscomputers Dist Autorizado ... </p>
  • 65. Inside paragraphs ... Examples. <p><strong>Elige el motivo de tu denuncia: </strong></p> <p><strong>$ 1.899<sup>99</sup></strong></p>
  • 67. Ordered & Unordered Lists The most used lists on the web. • Ordered List To show rankings, prioritize tasks and search results • List Item To put anything inside the Ordered List • Unordered List To list anything without priorities • List Item To put anything inside the Unordered Lists
  • 68. Ordered List is used to show rankings, prioritize tasks and search results. <ol> <li>Apple Ipod Touch 8 Gb 4ta Generaci... </li> <li>Apple Ipod Touch 32gb 4g 4ta Gener... </li> <li>Apple Ipod Nano 8gb 6g 6ta Genera... </li> </ol>
  • 69. Unordered List is used to list anything without priorities. <ul> <li>ArtĂ­culo nuevo </li> <li>208 vendidos </li> <li>Capital Federal </li> </ul> <ul> <li>Efectivo </li> <li>Visa American... </li> <li>Tu compra esta...</li> </ul>
  • 70. Description List is used to make dictionaries, screenplays and key-value pairs. • It has three parts • Description List element • Description Term element • Description Denition element
  • 71. Denition List Example. <dl> <dt>CondiciĂłn:</dt> <dd>ArtĂ­culo nuevo</dd> <dt>UbicaciĂłn:</dt> <dd>capital federal</dd> <dt>Vendidos:</dt> <dd>193 vendidos</dd> <dt>Finaliza en:</dt> <dd>Finaliza en 4d 2h</dd> </dl>
  • 73. The table element and all its semantic elements. • The basic elements table, tr, td, th • The semantic elements caption, thead, tbody, tfoot, colgroup, col
  • 75. The basic elements The semantic table elements. <table> <tr> <th>header</th> <th>header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
  • 76. The table element The global data container. <table> <tr> <th>header</th> <th>header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
  • 77. The tr element The row. <table> <tr> <th>header</th> <th>header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
  • 78. The th element The header data element. <table> <tr> <th>header</th> <th>header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
  • 79. The td element The content data element. <table> <tr> <th>header</th> <th>header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table>
  • 80. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 81. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 82. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 83. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 84. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 85. The semantic elements The semantic table elements. <table> <caption>It’s title of the table</caption> <thead> </thead> <tfoot> </tfoot> <tbody> </tbody> </table>
  • 86. The semantic elements The semantic table elements. table rst name last name age purchase
  • 87. The semantic elements The semantic table elements. table rst name last name age purchase
  • 88. The semantic elements The semantic table elements. table personal data purchase rst name last name age
  • 89. The semantic elements The semantic table elements. table personal data purchase rst name last name age
  • 90. The semantic elements The semantic table elements. <table> <caption>Title of the table</caption> <colgroup> <col /> <col /> <col /> </colgroup> <tfoot> ... </table>
  • 91. The semantic elements The semantic table elements. table personal data age purchase rst name last name
  • 92. The semantic elements The semantic table elements. <table> <caption>Title of the table</caption> <colgroup> <col /> <col /> </colgroup> <col /> <tfoot> ... </table>
  • 93. The semantic elements The semantic table elements. <table> <caption>Title of the table</caption> <colgroup id=”personalData”> <col class=”first-name” /> <col class=”last-name” /> </colgroup> <col class=”age” /> <tfoot> ... </table>
  • 94. Yes, we can use tables! Only for data!
  • 96. The a element allows you to link current document to other resources. • href • rel • target • title • type
  • 97. The a element URL decomposition attributes. interface HTMLAnchorElement : HTMLElement { ... attribute DOMString protocol; attribute DOMString host; attribute DOMString hostname; attribute DOMString port; attribute DOMString pathname; attribute DOMString search; attribute DOMString hash; };
  • 99. The img element allows you to insert an image. • src • alt • title • width • height
  • 100. The img element allows you to insert an image. <img src=”/image.jpg” alt=”It has a book.” />
  • 102. The form element establishes a relationship between the user and the organization.
  • 103. The form element establishes a relationship between the user and the organization.
  • 104. The form element establishes a relationship between the user and the organization.
  • 105. The form element establishes a relationship between the user and the organization.
  • 106. The form element establishes a relationship between the user and the organization.
  • 107. The form element establishes a relationship between the user and the organization. • Component of a web page • They have form controls, like text elds & buttons • The user can interact with them • The user’s data can be sent to the server • No client side scripting is needed • An API is available. It augments the user experience
  • 108. The form element example. <form method=”post” action=”/signup”> </form>
  • 109. The form element The method attribute. <form method=”post” action=”/signup”> </form>
  • 110. The form element The action attribute. <form method=”post” action=”/signup”> </form>
  • 111. Semantic elements for the form. • eldset is the element to group similar meaning controls • legend is the element to give a meaning to the eldset • label is the element to give meaning to a control
  • 112. Semantic elements for the form. <form method=”post” action=”/signup”> <eldset> <legend>RegĂ­strate</legend> <label>Nombre:</label> </eldset> </form>
  • 113. Form controls The elements inside the form. • input, It render very different control related to his type attribute. • select It render two list of options, single and multiple. • optgroup Semantic element to group similar options. • option It’s a option in the select list. • textarea It render a control to multiline text. • button It render a common button. Could be user outside the form tag.
  • 114. The input element It has many types. Each type has a different display. <input type=”{VALUE}” /> • hidden • month html5 • text • week html5 • search html5 • time html5 • tel html5 • datetime-local html5 • url html5 • number html5 • le • email html5 • range html5 • submit • password • color html5 • image • datetime html5 • checkbox • reset • date html5 • radio • button
  • 115. The input element It has many types. Each type has a different display. <input type=”{TYPE}” name=”{NAME}” id=”{ID}” /> • accept • multiple • autocomplete • pattern • autofocus • placeholder • checked • readonly • disabled • required • list • size • max • src • maxlength • step • min • value
  • 116. The type hidden represents a value that isn’t intended to be manipulated. <input type=”hidden” /> • name • value
  • 117. The type text represents a one line text edit control for the element’s value. <input type=”text” /> • autocomplete • autofocus • disabled • maxlength • placeholder • readonly • required • size
  • 118. The type text represents a one line text edit control for the element’s value. <input type=”search” /> • autocomplete • autofocus • disabled • maxlength • placeholder • readonly • required • size
  • 119. The type tel represents a control for editing a telephone number. <input type=”tel” /> • autocomplete • autofocus • disabled • maxlength • placeholder • readonly • required • size
  • 120. The type password represents a one line text edit control for the element’s value. <input type=”password” /> • autocomplete • autofocus • disabled • maxlength • placeholder • readonly • required • size
  • 121. The type email represents a control for editing the e-mail addresses. <input type=”email” /> • autocomplete • autofocus • disabled • maxlength • multiple • placeholder • readonly • required • size
  • 122. The type url represents a control for editing a single absolute URL. <input type=”url” /> • autocomplete • autofocus • disabled • maxlength • multiple • placeholder • readonly • required • size
  • 123. The type le represents a list of selected les. <input type=”file” /> • accept • autocomplete • autofocus • disabled • multiple • placeholder • readonly • required • size
  • 124. The type date represents a control for setting a string representing a date. <input type=”date” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 125. The type datetime represents a control for setting a global date and time. <input type=”datetime” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 126. The type month represents a control for setting a string representing a month. <input type=”month” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 127. The type week represents a control for setting a string representing a week. <input type=”week” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 128. The type datetime-local represents a control for setting a local date and time. <input type=”datetime-local” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 129. The type number represents a control for setting a string representing a number <input type=”number” /> • autocomplete • autofocus • disabled • max • min • placeholder • readonly • required • size • step
  • 130. The type range represents a number, but the exact value is not important. <input type=”range” /> • autofocus • disabled • max • min • readonly • required • size • step
  • 131. The type color represents a control for setting a string simple color. <input type=”color” /> • autocomplete • autofocus • disabled • placeholder • readonly • required • size
  • 132. The type checkbox represents a two-state control. <input type=”checkbox” /> • checked • disabled • readonly • required • value
  • 133. The type radio represents a mutually exclusive options control. <input type=”radio” /> • checked • disabled • readonly • required • value
  • 134. The type image represents an button from which we can add some behavior. <input type=”image” /> • autofocus • disabled • readonly • required • src
  • 135. The type submit represents a button that, when activated, submits the form. <input type=”submit” /> • autofocus • disabled • required • value
  • 136. The type reset represents a button that, when activated, resets the form. <input type=”reset” /> • autofocus • disabled • required • value
  • 137. The type button represents a button with no default behavior. <input type=”button” /> • autofocus • disabled • required • value
  • 138. The select element represents a control for selecting amongst a set of options. <select> <option>Otros (Debes completar el comentario).</option> </select>
  • 139. The select element Attributes. <select> ... </select> • autofocus html5 • multiple • size • required • readonly • disabled • name
  • 140. The select element Examples. <select> <option value=”opt1”>value</option> </select> <select> <optgroup label=”Group One”> <option value=”opt1”>value</option> </optgroup> </select>
  • 141. The textarea element represents a multiline plain text edit control. <textarea></textarea>
  • 142. The textarea element is used for long inputs of text. <textarea></textarea> • autofocus • cols • dirname • disabled • maxlength • name • placeholder html5 • readonly • required • rows • wrap
  • 143. Thanks