<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rogério Lino &#187; HTML5</title>
	<atom:link href="http://rogeriolino.com/categorias/html5-benchmark/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeriolino.com</link>
	<description>Desenvolvimento Web, tecnologia, jogos e etcetera</description>
	<lastBuildDate>Wed, 16 May 2012 19:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>HTML5: Websocket</title>
		<link>http://rogeriolino.com/2012/05/16/html5-websocket/</link>
		<comments>http://rogeriolino.com/2012/05/16/html5-websocket/#comments</comments>
		<pubDate>Wed, 16 May 2012 19:48:48 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[hybi]]></category>
		<category><![CDATA[rfc6455]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[websocket]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=563</guid>
		<description><![CDATA[<p> <a href="http://www.rfc-editor.org/rfc/rfc6455.txt" title="RFC 6455">The Websocket Protocol</a><br /> The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p>
<center><a href="http://www.rfc-editor.org/rfc/rfc6455.txt" title="RFC 6455">The Websocket Protocol</a></center><br />
 The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host    that has opted-in to communications from that code.  The security model used for this is the origin-based security model commonly used by web browsers.  The protocol consists of an opening handshake followed by basic message framing, layered over TCP.  The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or &lt;iframe&gt;s and long polling).
</p></blockquote>
<p>Aproveitando um post sobre <a href="http://rogeriolino.com/2010/04/22/php-socket-class/" title="PHP Socket class">PHP Sockets</a> que tinha escrito unindo o estudo sobre Websocket, eu criei um <a href="https://github.com/rogeriolino/phpsocket" title="Github: PHP Socket project">projeto no Github</a> para facilitar o uso de sockets com PHP fornecendo suporte ao Websocket também.</p>
<p>E para visualizar o <a href="https://github.com/rogeriolino/phpsocket/tree/master/demo/websocket" title="Websocket chat example">exemplo</a> basta fazer checkout do projeto, executar o arquivo server.php: </p>
<pre name="code" class="php">
> $ php server.php
</pre>
<p>E abrir a página chat.html pelo browser. O funcionamento do exemplo vai depender, além obviamente do suporte à Websocket, do tipo da versão da implementação do browser. Por enquanto a suportada pelo projeto é a HyBi (descrita na <a href="http://www.rfc-editor.org/rfc/rfc6455.txt" title="RFC 6455">RFC 6455</a>).</p>
<div class="shr-publisher-563"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F05%2F16%2Fhtml5-websocket%2F' data-shr_title='HTML5%3A+Websocket'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F05%2F16%2Fhtml5-websocket%2F' data-shr_title='HTML5%3A+Websocket'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F05%2F16%2Fhtml5-websocket%2F' data-shr_title='HTML5%3A+Websocket'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2012/05/16/html5-websocket/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quickpost: Cut the Rope</title>
		<link>http://rogeriolino.com/2012/03/02/quickpost-cut-the-rope/</link>
		<comments>http://rogeriolino.com/2012/03/02/quickpost-cut-the-rope/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 14:37:37 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[Quickpost]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ctr]]></category>
		<category><![CDATA[cuttherope]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[pxloader]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=518</guid>
		<description><![CDATA[<p><a href="http://www.cuttherope.ie/" target="_blank" title="Click to play!"><br /> <br /> </a></p> <p>HTML5 version</p> <p>Play: <a href="http://www.cuttherope.ie" target="_blank">http://www.cuttherope.ie</a><br /> Development info: <a href="http://www.cuttherope.ie/dev" target="_blank">http://www.cuttherope.ie/dev</a></p> <a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.cuttherope.ie/" target="_blank" title="Click to play!"><br />
<img src="http://rogeriolino.com/wp-content/uploads/2012/03/cuttherope.png" alt="" title="Click to play!" width="764" height="255" class="aligncenter size-full wp-image-519" /><br />
</a></p>
<p><strong>HTML5 version</strong></p>
<p>Play: <a href="http://www.cuttherope.ie" target="_blank">http://www.cuttherope.ie</a><br />
Development info: <a href="http://www.cuttherope.ie/dev" target="_blank">http://www.cuttherope.ie/dev</a></p>
<div class="shr-publisher-518"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2012%2F03%2F02%2Fquickpost-cut-the-rope%2F' data-shr_title='Quickpost%3A+Cut+the+Rope'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2012/03/02/quickpost-cut-the-rope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quickpost: Instant documentation search</title>
		<link>http://rogeriolino.com/2011/12/07/quickpost-instant-documentation-search/</link>
		<comments>http://rogeriolino.com/2011/12/07/quickpost-instant-documentation-search/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 14:47:27 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Quickpost]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[dochub]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[instant]]></category>
		<category><![CDATA[mdn]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[quickpost]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=397</guid>
		<description><![CDATA[<p><a href="http://dochub.io/"></a></p> <p><a title="dochub" href="http://dochub.io/">dochub</a> concentra de maneira fácil e rápida as documentações de CSS, HTML, Javascript e DOM. No qual tem o seu conteúdo retirado da <a title="MDN" href="https://developer.mozilla.org/en-US/">Mozilla Developer Network</a>.</p> <p>Excelente ferramente para tirar aquela dúvida ou refrescar a memória.</p> <a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2011%2F12%2F07%2Fquickpost-instant-documentation-search%2F' data-shr_title='Quickpost%3A+Instant+documentation+search'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2011%2F12%2F07%2Fquickpost-instant-documentation-search%2F' data-shr_title='Quickpost%3A+Instant+documentation+search'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://dochub.io/"><img class="size-full wp-image-407" title="dochub" src="http://rogeriolino.com/wp-content/uploads/2011/12/dochub.png" alt="" width="840" height="450" /></a></p>
<p><a title="dochub" href="http://dochub.io/">dochub</a> concentra de maneira fácil e rápida as documentações de CSS, HTML, Javascript e DOM. No qual tem o seu conteúdo retirado da <a title="MDN" href="https://developer.mozilla.org/en-US/">Mozilla Developer Network</a>.</p>
<p>Excelente ferramente para tirar aquela dúvida ou refrescar a memória.</p>
<div class="shr-publisher-397"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2011%2F12%2F07%2Fquickpost-instant-documentation-search%2F' data-shr_title='Quickpost%3A+Instant+documentation+search'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2011%2F12%2F07%2Fquickpost-instant-documentation-search%2F' data-shr_title='Quickpost%3A+Instant+documentation+search'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2011%2F12%2F07%2Fquickpost-instant-documentation-search%2F' data-shr_title='Quickpost%3A+Instant+documentation+search'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2011/12/07/quickpost-instant-documentation-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Game Engine for HTML5 Canvas</title>
		<link>http://rogeriolino.com/2010/05/06/javascript-game-engine-for-html5-canvas/</link>
		<comments>http://rogeriolino.com/2010/05/06/javascript-game-engine-for-html5-canvas/#comments</comments>
		<pubDate>Thu, 06 May 2010 19:04:35 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[scenegraph]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=292</guid>
		<description><![CDATA[<p>Comecei escrever um pequeno projeto para facilitar a criação de jogos em Javascript utilizando HTML5 Canvas para isso. Baseado em <a href="http://en.wikipedia.org/wiki/Scene_graph">scenegraph</a> podendo criar nós dependentes, relativos ao nó pai. Por enquanto a estrutura da engine é composta por:</p> <p> Canvas: para encapsular a tag canvas, pegando automaticamente o context e fornecendo algumas funções a [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Comecei escrever um pequeno projeto para facilitar a criação de jogos em Javascript utilizando HTML5 Canvas para isso. Baseado em <a href="http://en.wikipedia.org/wiki/Scene_graph">scenegraph</a> podendo criar nós dependentes, relativos ao nó pai. Por enquanto a estrutura da engine é composta por:</p>
<blockquote><p>
<strong>Canvas:</strong> para encapsular a tag canvas, pegando automaticamente o context e fornecendo algumas funções a mais.</p>
<p><strong>Game:</strong> o jogo em sí, possui uma ou muitas cenas (Scene). Contém o loop principal para atualizações do canvas. Necessita de uma instância do Canvas.</p>
<p><strong>Scene:</strong> deve ser estendida para criar cenas customizadas, deve implementar o método update(interval).</p>
<p><strong>CanvasNode:</strong> um nó do grafo, possui as coordenadas e ângulo de rotação do elemento no canvas.</p>
<p><strong>CanvasNodeGroup:</strong> um grupo de nós. Estende CanvasNode.</p>
<p><strong>Graphics:</strong> um nó &#8220;printável&#8221;, quem for estendê-lo deve implementar o método draw(). Possui como subclasses: Rectangle, Triangle, Circle, Text, Image2d e Line.</p>
<p><strong>GraphicsGroup:</strong> estende CanvasNodeGroup, possui um grupo de graphics. Scene é um GraphicsGroup.</p>
</blockquote>
<p>Os próximos passos serão a implementação de TileMap, Scene Intro, Menu e botões. Agora é só aguardar até o próximo exemplo.</p>
<p><strong>[update 2010-05-06]</strong><br />
Added mouse and button support.<br />
See example above.<br />
<strong>[/update]</strong></p>
<p><strong>[update 2010-05-06]</strong><br />
Examples in <a href="http://mangame.rogeriolino.com/">http://mangame.rogeriolino.com/</a><br />
<strong>[/update]</strong></p>
<p><strong>[update 2011-11-11]</strong><br />
Source now available in <a href="https://github.com/rogeriolino/mangame" title="Mangame in Github">GitHub</a>!<br />
<strong>[/update]</strong></p>
<div class="shr-publisher-292"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F05%2F06%2Fjavascript-game-engine-for-html5-canvas%2F' data-shr_title='Javascript+Game+Engine+for+HTML5+Canvas'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F05%2F06%2Fjavascript-game-engine-for-html5-canvas%2F' data-shr_title='Javascript+Game+Engine+for+HTML5+Canvas'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F05%2F06%2Fjavascript-game-engine-for-html5-canvas%2F' data-shr_title='Javascript+Game+Engine+for+HTML5+Canvas'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/05/06/javascript-game-engine-for-html5-canvas/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>HTML5: Database</title>
		<link>http://rogeriolino.com/2010/03/11/html5-database/</link>
		<comments>http://rogeriolino.com/2010/03/11/html5-database/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:17:36 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=207</guid>
		<description><![CDATA[<p>Uma das funcionalidades mais robustas presentes nessa nova versão do HTML é exatamente o suporte ao armazenamento local, sem ser por <a href="http://pt.wikipedia.org/wiki/Cookie">Cookie</a> mas sim pelo banco de dados presente no browser. Tal funcionalidade já está presente no <a href="http://webkit.org">Webkit</a> que fornece uma aplicação de exemplo: <a href="http://webkit.org/demos/sticky-notes/">http://webkit.org/demos/sticky-notes/</a>.</p> <p>No Webkit as informações são armazenadas utilizando [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Uma das funcionalidades mais robustas presentes nessa nova versão do HTML é exatamente o suporte ao armazenamento local, sem ser por <a href="http://pt.wikipedia.org/wiki/Cookie">Cookie</a> mas sim pelo banco de dados presente no browser. Tal funcionalidade já está presente no <a href="http://webkit.org">Webkit</a> que fornece uma aplicação de exemplo: <a href="http://webkit.org/demos/sticky-notes/">http://webkit.org/demos/sticky-notes/</a>.</p>
<p>No Webkit as informações são armazenadas utilizando <a href="http://www.sqlite.org/">SQLite</a>, e acredito que o Firefox irá pelo mesmo caminho, já que ele também utiliza o SQLite para armazenar os &#8220;Favoritos&#8221;.</p>
<p>Para abrir a conexão com a banco de dados (<strong>openDatabase</strong>) deve-se informar o nome do banco (<em>database name</em>), a versão (<em>database version</em>), o nome de exibição (<em>display name</em>) e o tamanho estimado em bytes (<em>estimated size</em>) que será armazenado.</p>
<pre name="code" class="javascript">
var db;
try {
    if (window.openDatabase) {
        db = openDatabase("MyDB", "1.0", "HTML5 Database Example", 200000);
        if (!db) {
            alert("Failed to open the database.");
        }
    } else {
        alert("Couldn't open the database.");
    }
} catch(err) { }
</pre>
<p>Uma vez estabelecida a conexão a interação passa ser efetuada através de comandos <a href="http://pt.wikipedia.org/wiki/SQL">SQL</a>.</p>
<pre name="code" class="javascript">
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE myTable (id REAL UNIQUE, name TEXT, description TEXT, timestamp REAL");
});

db.transaction(function (tx) {
tx.executeSql("INSERT INTO myTable (id, name, description, timestamp) VALUES (?, ?, ?, ?)", [id, name, description, timestamp]);
});

db.transaction(function(tx) {
tx.executeSql("DELETE FROM myTable WHERE id = ?", [id]);
});

db.transaction(function(tx) {
    tx.executeSql(
        "SELECT * FROM myTable WHERE id = ?",
         [id],
         function(tx, result) {
             // success
             if (result.rows.length > 0) {
                   alert("My name is: " + result.rows.item(0)['name']);
             } else {
                  alert("Sorry, no result for this id");
              }
         },
         function(tx, error) {
             // error
             alert("Error when try retrieve data: " + error.message);
         }
    );
});
</pre>
<p>O método <strong>executeSql</strong> pode receber 4 parâmetros, sendo eles:</p>
<ul>
<li>O SQL a ser executado</li>
<li>Os valores parametrizados para serem utilizados na consulta (array)</li>
<li>Função callback para ser executada caso haja sucesso (onSuccess)</li>
<li>Função callback para ser executada caso haja falha (onError)</li>
</ul>
<p>Sinceramente eu achei muito legal conceder mais esse poder ao Javascript no HTML5, porém <em>&#8220;com grandes poderes vêm grandes responsabilidades&#8221;</em>.</p>
<div class="shr-publisher-207"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F03%2F11%2Fhtml5-database%2F' data-shr_title='HTML5%3A+Database'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F03%2F11%2Fhtml5-database%2F' data-shr_title='HTML5%3A+Database'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F03%2F11%2Fhtml5-database%2F' data-shr_title='HTML5%3A+Database'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/03/11/html5-database/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>HTML5: Video Player</title>
		<link>http://rogeriolino.com/2010/02/19/html5-video-player/</link>
		<comments>http://rogeriolino.com/2010/02/19/html5-video-player/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 17:23:46 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[dailymotion]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[h.264]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[vimeo]]></category>
		<category><![CDATA[vorbis]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=183</guid>
		<description><![CDATA[<p>Para todos aqueles que odeiam o <a href="http://get.adobe.com/flashplayer">flash player</a> e adoram assistir vídeos pela Internet, alguns portais de vídeos possuem uma alternativa ao plugin da Adobe para que os usuários possam assistir seus vídeos sem precisar de um plugin externo que pode deixar o browser mais lento e ocasionar travamentos. Isso se dá com a [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Para todos aqueles que odeiam o <a href="http://get.adobe.com/flashplayer">flash player</a> e adoram assistir vídeos pela Internet, alguns portais de vídeos possuem uma alternativa ao plugin da Adobe para que os usuários possam assistir seus vídeos sem precisar de um plugin externo que pode deixar o browser mais lento e ocasionar travamentos. Isso se dá com a utilização da <a href="http://www.w3schools.com/html5/html5_reference.asp">tag video do HTML5</a> que por sua vez varia dependendo da implementação de cada navegador.</p>
<p>No <a href="http://www.youtube.com/html5">Youtube por exemplo há uma página para sua versão experimental</a>. Ao acessar esta página destinada a habilitar o player em HTML5, eis que surgem algumas considerações e uma lista de browsers que o suportam:</p>
<ul>
<li><a href="http://www.google.com/chrome">Google Chrome</a></li>
<li><a href="http://www.apple.com/safari/download/">Apple Safari</a> (versão 4+)</li>
<li>Internet Explorer com o Google Chrome Frame</li>
</ul>
<p>Não incluindo o <a href="http://www.getfirefox.com/">Firefox</a>, um dos browsers mais utilizados no mundo e que suporta o HTML5. Mas para isso há uma explicação: O padrão de compressão adotado pelo Youtube é o <a href="http://pt.wikipedia.org/wiki/H.264">H.264</a> que não é suportado pelo Firefox devido ao fato deste formato ser proprietário e o pessoal da Mozilla utilizar <a href="http://en.wikipedia.org/wiki/Theora">Ogg Theora</a> como padrão. Motivo que <em>sem querer querendo</em> acaba ajudando o browser do Google, curiosamente, mesmo dono do Youtube.</p>
<p>Outros pontos ruins nessa versão do Youtube são a nítida perda de qualidade entre os players em Flash e em HTML5, e o fato de não suportar fullscreen (limitação do HTML5 e não do player). Além do Youtube o <a href="http://vimeo.com/blog:268">Vimeo</a> também possui uma versão em HTML5, seguindo as mesmas restrições do Youtube, porém, com uma perda de qualidade menor. Já o <a href="http://blog.dailymotion.com/2009/05/27/watch-videowithout-flash/">Dailymotion</a> utiliza os formatos Ogg, Theora + Vorbis, funcionando em todos os navegadores decentes e com algumas travadas irritantes.</p>
<p>Mas nem tudo está perdido para os players feitos em HTML5, um grupo de desenvolvedores e designers denominado <a title="Jilion" href="http://jilion.com/">Jilion</a> desenvolveu um excelente player (bonito e funcional) chamado <a title="SublimeVideo" href="http://jilion.com/sublime/video">SublimeVideo</a>. Suportando todos os browsers listados na página do Youtube/Vimeo incluindo o Firefox.</p>
<div id="attachment_184" class="wp-caption aligncenter" style="width: 614px"><a href="http://rogeriolino.com/wp-content/uploads/2010/02/sublimevideo.jpg"><img class="size-full wp-image-184 " title="SublimeVideo" src="http://rogeriolino.com/wp-content/uploads/2010/02/sublimevideo.jpg" alt="SublimeVideo" width="604" height="260" /></a><p class="wp-caption-text">SublimeVideo - HTML5 Video Player</p></div>
<p>Mais sobre <a href="http://shaver.off.net/diary/2010/01/23/html5-video-and-codecs/">HTML5 video e codecs</a>.</p>
<div class="shr-publisher-183"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F02%2F19%2Fhtml5-video-player%2F' data-shr_title='HTML5%3A+Video+Player'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F02%2F19%2Fhtml5-video-player%2F' data-shr_title='HTML5%3A+Video+Player'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F02%2F19%2Fhtml5-video-player%2F' data-shr_title='HTML5%3A+Video+Player'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/02/19/html5-video-player/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

