<?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/tags/html5/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeriolino.com</link>
	<description>Desenvolvimento Web, tecnologia, jogos e etcetera</description>
	<lastBuildDate>Wed, 01 Feb 2012 19:22:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<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[<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>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/05/06/javascript-game-engine-for-html5-canvas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Twitter: Resumo #2</title>
		<link>http://rogeriolino.com/2010/04/08/twitter-resumo-2/</link>
		<comments>http://rogeriolino.com/2010/04/08/twitter-resumo-2/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 22:33:08 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[Twitter]]></category>
		<category><![CDATA[bespin]]></category>
		<category><![CDATA[bubbles]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[reddit]]></category>
		<category><![CDATA[resumo]]></category>
		<category><![CDATA[sgv]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[steam]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[valve]]></category>
		<category><![CDATA[wow]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=221</guid>
		<description><![CDATA[<p style="text-align: center;"><a title="Follow me!" href="http://twitter.com/rogeriolino"></a></p> <a href="http://bit.ly/9e0f43">SVG Wow Demos</a> <a href="http://bit.ly/9V8vNl">Code Bubbles: Rethinking the User Interface Paradigm of IDEs</a> <a href="http://bit.ly/blEHlO">JSON visualization tool</a> <a href="http://bit.ly/cQYvpx">Reloading Java Classes: HotSwap and JRebel &#8211; Behind the Scenes</a> <a href="http://bit.ly/dqDWXN">Justiça volta a incluir Anatel como ré em processo que questiona banda larga</a> <a href="http://bit.ly/9Vfaww">HTML5 Database</a> <a href="http://bit.ly/aHcpYC">Valve Brings [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Follow me!" href="http://twitter.com/rogeriolino"><img class="aligncenter size-full wp-image-227" src="http://rogeriolino.com/wp-content/uploads/2010/03/Twitter.gif" alt="Twitter" width="300" height="300" /></a></p>
<ul>
<li><a href="http://bit.ly/9e0f43">SVG Wow Demos</a></li>
<li><a href="http://bit.ly/9V8vNl">Code Bubbles: Rethinking the User Interface Paradigm of IDEs</a></li>
<li><a href="http://bit.ly/blEHlO">JSON visualization tool</a></li>
<li><a href="http://bit.ly/cQYvpx">Reloading Java Classes: HotSwap and JRebel &#8211; Behind the Scenes</a></li>
<li><a href="http://bit.ly/dqDWXN">Justiça volta a incluir Anatel como ré em processo que questiona banda larga</a></li>
<li><a href="http://bit.ly/9Vfaww">HTML5 Database</a></li>
<li><a href="http://bit.ly/aHcpYC">Valve Brings Hit Games, Steam Service to Mac</a></li>
<li><a href="http://bit.ly/dofBNt">Bespin Code in the Cloud</a></li>
<li><a href="http://bit.ly/9EM04F">Com novo roteador, Cisco promete turbinar internet do futuro</a></li>
<li><a href="http://bit.ly/akLBcU">Google Island e a banda larga ultrarrápida</a></li>
<li><a href="http://bit.ly/bS5o1k">The Reddit problem: Learning from mistakes</a></li>
<li><a href="http://bit.ly/czdLxj">NoSQL v. SQL is the worst holy war ever.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/04/08/twitter-resumo-2/feed/</wfw:commentRss>
		<slash:comments>0</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[<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>
]]></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[<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>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/02/19/html5-video-player/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

