Wednesday, March 14, 2012

Learning About HTML5

HTML5, depending on who you listen to, may be either a disruptive new technology that has the potential to bring entire companies to their knees, or a smooth transition from current HTML 4.0 that promises to make life much easier for developers. Both are at least partially true, and in this continuing series, I hope to help you make sense out of HTML5: both business sense and nuts-and-bolts coding-level sense.   




HTML5, depending on who you listen to, may be either a disruptive new technology that has the potential to bring entire companies to their knees, or a smooth transition from current HTML 4.0 that promises to make life much easier for developers. Both are at least partially true, and in this 
continuing series, I hope to help you make sense out of HTML5: both business sense and nuts-and-bolts coding-level sense.   





Perhaps the most important thing to understand about HTML5 is not the coding details and changes themselves, but the high-level functions they give you access to. In fact, HTML5 is all about high-level functions rather than details. For instance, instead of thinking of multimedia objects and then defining them as video or audio and so on, in HTML5 you can simply write something like: 

<video src=”watchthis.mp4” width=”640” 
height=”480”> 
  < a href=”watchthis.mp4”>Here’s my video</a> 
</video>

This functional methodology extends even to typical page coding. We’re all used to writing complex pages in terms of low-level objects like </div>, which is kind of amorphous and easy to lose track of. So we often attempt to keep track of things by coding like this:

<div id=”header”>
<H1>Learning About
HTML5</H1>
<p class=”credit”>by David Fiedler</p>
</div>

In HTML5, we can cut right to the chase. We’re writing a header, and now we can code it that way:

<header>
<H1>Web Developer Basics: Learning About
HTML5</H1>
<p class=”credit”>by David Fiedler</p>
</header>

So what, you might say at this point. Well, it’s not just the header of a page that we can now view as a complete functional object, it’s almost everything we use on a daily basis: <header>, <footer>, <article>, <section>, <nav>, <menu>, <figure>. This gives us tremendous flexibility in terms of how we can think of the page. So it’s not just easier to understand the structure of the page, it’s easier to correctly code the structure of the page.

The beginning of many modern HTML 4.0 pages looks something like this:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0
Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/
xhtml1-strict.dtd”>

But in our brave new world of HTML5, all we need is:

<!DOCTYPE html>

Similarly, the complex XHTML boilerplate declarations many people use can be simply replaced by:

<html lang=”en”>

and encoding declarations such as

<meta http-equiv=”Content-Type” content=”text/
html; charset=utf-8”>

can be toned down to a mere

<meta charset=”utf-8”>

Oh, and we may as well get this next bit out of the way now, even though I hesitate to mention it for fear of being responsible for people writing near-incomprehensible HTML5 pages. You no longer need those double quotes around attributes, so that <p class=credit> is now as legal as <p class=”credit”>. But please use this power wisely.


Just to show that HTML5 isn’t only about structure and saving keystrokes here and there, here’s a nice example of an attribute feature that is simple on the surface, but demonstrates some real power. Paste this simple little document into a text file, and call it something like foo. html:


<!DOCTYPE html>
<html lang=”en”>  
<head>  
     <meta charset=”utf-8”>
     <title>You Can Edit This</title>
</head>
<body>  
     <h1>I Mean, You Can Really Edit This</h1>
     <p contenteditable=true>
     Now is the time for all good cats to come
to the aid of their catnip.
     </p>  
</body>
</html>

The only new thing here that will jump out at you is the attribute of contenteditable on the paragraph tag. You can use this on any element, not just a paragraph, and it takes effect for everything within that element. Now, open this file using any modern browser and you’ll see that you can indeed edit the paragraph - but not the heading! - Right in the browser.

But wait, there’s more! Change that paragraph as much as you like, then save the page to your computer as a new HTML file. Open it up in a text editor, the source code has changed to reflect the text changes you made  in the browser.

Don't forget to leave your valid comments and suggestions below...

7 comments:

  1. Thank you priyadharsun, so far as i read your blog i have understood so many things about HTML5, its gave me a clear idea about HTML5
    i'm so impressed i'm expecting more from your blog.........

    ReplyDelete
  2. Nice Article and got some knowledge on what is HTML 5.
    Keep It Up...!
    Expecting More...!

    ReplyDelete
    Replies
    1. Thank you. Also I am planning to write about some new cool features that are introduced in HTML 5.

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. nice article, and am learn some points.how will convert the html5 to php any idea tell? for more information about web design and development company visit http://www.chennaipixel.com

    ReplyDelete
    Replies
    1. No I think we cant convert HTML5 to PHP because HTML5 is client side language which execute on the client machine and display results. But PHP is a server side language which executes on the server and take care of database communication. Therefore we cannot convert HTML5 into PHP.
      Some client side languages: HTML, CSS, Javascript
      Server Side Languages: ASP .NET, PHP

      Delete