23
Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Embed Size (px)

Citation preview

Page 1: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Intro to HTML5

IDIA 619Spring 2013

Bridget M. Blodgett

Page 2: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Topics

• Getting to know HTML5• Using F12 + Learning From Code• Combining HTML5 and JavaScript• Pseudocode and project planning

Page 3: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

An Evolution

• Created ~1990 HTML went through a series of rapid transformations during the early to mid decade– Finally found a home with the creation of a standards

group W3C• HTML3 (later updated to 3.2)was completed in

1997 and is the format many people are familiar with

• HTML4 was produced the same year but was seen as a dead-end with the introduction of XHTML

Page 4: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

An Evolution

• In 1998 HTML (not XHTML) was declared dead although some groups did continue working on the DOM Level specifications

• In 2003 progress on replacing HTML with another technology (XML) were ceased when it became apparent that XML was more suited to newer tech than replacing old tech (e.g RSS)

• The initial principles for HTML5 began developing during 2005

Page 5: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

An Evolution

• Private Industry decided to pursue working on the HTML standard and created the WHATWG site

• WHATWG was based on several core principles:– technologies need to be backwards compatible– specifications and implementations need to match

even if this means changing the specification rather than the implementations

– specifications need to be detailed enough that implementations can achieve complete interoperability without reverse-engineering each other

Page 6: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

An Evolution

• The latter requirement in particular required that the scope of the HTML5 specification include what had previously been specified in three separate documents: HTML4, XHTML1, and DOM2 HTML

• W3C joined the group and then split off again over differences of how the standard should be updated– They borrow and release a more fixed version that

only updates for bug fixes

Page 7: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

HTML vs XHTML

• The main difference today is in the MIME type declaration– Declaring a document text/html and

application/xhtml+xml results in slightly different parsing by the web browser with xml being stricter in its application

Page 8: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

HTML

• A basic HTML document looks like this:<!DOCTYPE html> <html> <head>

<title>Sample page</title> </head> <body>

<h1>Sample page</h1> <p>This is a <a href="demo.html">simple</a> sample.</p> <!-- this is a comment -->

</body> </html>

• HTML user agents (e.g. Web browsers) then parse this markup, turning it into a DOM (Document Object Model) tree. – A DOM tree is an in-memory representation of a document.

Page 9: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

DOM

Page 10: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

DOM

• This DOM tree can be manipulated from scripts in the page

<form name="main"> Result: <output name="result"> </output> <script>

document.forms.main.elements.result.value = 'Hello World'; </script> </form>

• Each element in the DOM tree is represented by an object, and these objects have APIs so that they can be manipulated

var a = document.links[0]; // obtain the first link in the document

a.href = 'sample.html'; // change the destination URL of the link

a.protocol = 'https'; // change just the scheme part of the URL

a.setAttribute('href', 'http://example.com/'); // change the content attribute directly

Page 11: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Presentaion in HTML5

• The majority of presentational features from previous versions of HTML are no longer allowed:– The use of presentational elements leads to poorer

accessibility– Higher cost of maintenance – Larger document sizes

• These items are no longer supported at all and should not be used with HTML5– Except for <style> which is situational

Page 12: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Updating to HTML5

• The structure of pages has changed slightly:– Doctypes can now be written simply as <!doctype html>– Charactersets are <meta charset=“utf-8”>– Stylesheet links: <link rel=“stylesheet” href=“blah.css”>– Scripts: <script src=“eg.js”></script>

• Best part is these should never change and are backwards compatible

Page 13: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

APIs

• Stands for Application Programming Interface– What does this really mean in terms of developing and

designing things?• The reinvention of HTML with HTML5 added

support for a number of new features:– Local storage– 2D drawing– Offline support– Sockets and threads– Geolocation

Page 14: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

HTML5

• These APIs are used through the cooperation of a series of different tools– HTML5/DOM to specify structure– CSS3 to handle presentation– JavaScript to add interactivity/cool things

Page 15: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

What Is JS?

• Similar to but not based upon Java programming language

• Unlike PHP, JS is clientside scripting– It depends heavily upon what it being used to

view the website– It is often disabled– It is visible in the source material of the website

Page 16: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

JS Do’s and Dont’s

• Design to support the user’s visit to your site– Avoid popups, annoying scripts, excessive “bling”

for bling’s sake• JS should “degrade gracefully”

– They know if they will be able to run or not and quietly fail if methods they make use of are not supported

• If you disable JS your site should still be accessible and useable

Page 17: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Implementation

• JS can be embedded as an external script or written directly into a page

<script>//JS

</script>

• Creating an external JS will allow you to apply changes consistently throughout the site but is unwieldy for one off effects

Page 18: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Writing JS

• JS is written as a series of statements– Unlike PHP JS WILL terminate with a line break or

a semi-colon• You must declare a variable before using it

– Use the key var before the variable name to declare it

– They can be initialized at declaration but don’t need to be

• Variables are case sensitive

Page 19: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Data Types

• There are several basic data types– Strings are wrapped in ‘’ or “”– Numbers – Booleans can be true/false or 0/1– Arrays

Page 20: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Arrays

• Arrays are a special type of variable that can contain many values at once:– Like a box that holds several different things at

once• Arrays are declared like normal variables but

they have a slightly different feature.– var array1 = new Array();– Or: var array2 = [‘cats’, ‘dogs’, ‘bunnies’,

‘hamsters’];

Page 21: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Operators

• JS has two categories of operators– Math

• +, -, *, /, ++, --

– Comparison• >, <, ==, !=, >=, <=• ===• !==

– Logical are a sub-category of comparison• &&, ||, !

Page 22: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Conditional

• If statements– If(2 <1){alert(‘Something is Wrong’);]

• if…else is also acceptedif (2<1){ alert(‘Something is wrong’);} else { Alert(‘Everything is fine’);}

(2<1) ? alert(‘Something is wrong’) : alert (‘Everything is fine’);

• Switch Statements

Page 23: Intro to HTML5 IDIA 619 Spring 2013 Bridget M. Blodgett

Loops

• Very similar to other languagesvar i = 10;while (I >=0 ){

Alert (i);i--;

}• While, Do…while, For