<?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>Zona J &#187; css</title>
	<atom:link href="http://www.zonaj.org/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zonaj.org</link>
	<description>Zona Java - Um blog português sobre java.</description>
	<lastBuildDate>Wed, 26 May 2010 17:23:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript: 5 razões para usar e abusar</title>
		<link>http://www.zonaj.org/2008/03/04/javascript-e-assim-tao-mau/</link>
		<comments>http://www.zonaj.org/2008/03/04/javascript-e-assim-tao-mau/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 08:00:35 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=81</guid>
		<description><![CDATA[Numa palavra: não.
Esta conversa já me surgiu em diversas ocasiões e voltou a despontar numa thread na mailing list do PTJUG, e confesso que tenho alguma dificuldade em compreender a enorme resistência que imensos programadores apresentam em aprender e utilizar javascript. Isto é, baterem código mesmo em javascript sem usar frameworks que gerem o código [...]]]></description>
			<content:encoded><![CDATA[<p>Numa palavra: não.</p>
<p>Esta conversa já me surgiu em diversas ocasiões e voltou a despontar numa thread na mailing list do PTJUG, e confesso que tenho alguma dificuldade em compreender a enorme resistência que imensos programadores apresentam em aprender e utilizar javascript. Isto é, baterem código mesmo em javascript sem usar frameworks que gerem o código todo &#8211; e.g. GWT, ou helpers de php, ruby, etc. -, mas usando obviamente bibliotecas como o prototype, jquery, etc. </p>
<p>Javascript é uma linguagem dinâmica, <em>weakly typed</em> e prototipada. Logo aqui, há diferenças para as linguagens que a maioria usa: C#, Java (<em>statically</em> e <em>strongly typed</em>) e python (<em>dynamically</em> mas <em>strongly typed</em>). O modelo de prototipagem é um pouco diferente do modelo de classes para definição de objectos, por isso percebo que possa introduzir confusão ou pelo menos dar origem a um novo processo de aprendizagem.</p>
<p>Mas não é assim tão complicado como isso&#8230; </p>
<h3>Razões para usar javascript directamente, não ter medo e assumi-lo com orgulho</h3>
<ol>
<li><strong>Desenvolvimento web = (X)HTML + CSS + Javascript + linguagem_server_side</strong></li>
<p>	Quer sejamos programadores java ou de uma outra tecnologia web, a probabilidade de termos de usar ou gerar html, css e javascript é muito elevada. Podemos inclusivamente usar geradores mas como facilitadores e não por sermos incapazes de produzir código de qualidade numa linguagem dinâmica ou, pelo menos, compreender o código que estamos a gerar. Devemos poder mudar de linguagem e continuar a dominar a parte de interface web, apenas tendo de aprender conceitos da outra linguagem/plataforma. </p>
<li><strong>jsFUD</strong></li>
<p>	Durante muito tempo, javascript foi muito pouco estudado e visto como uma linguagem de scripting básica que permitia escrever umas linhas de código. Não havia propriamente estruturação de código e muita gente entende que programar javascript é isso. É um pouco como aquelas aplicações java de alunos de primeiro ano que metem 2000 linhas de código num só ficheiro ao monte.<br />
Hoje em dia javascript não é isso, é uma linguagem madura, os problemas de interoperabilidade entre browsers são mitigados com as novas bibliotecas, estão a ser preparadas <a href="http://www.mozilla.org/projects/tamarin/">virtual machines</a> (compilação JIT incluída) que melhorarão imenso a performance de código no browser, há uma <a href="http://wiki.ecmascript.org/doku.php?id=proposals:proposals">proposta de uma nova versão</a> da linguagem (<a href="http://www.ecmascript.org/es4/spec/overview.pdf">resumo da nova especificação</a>) com possibilidades de verificação de tipos estática e outras features que fazem dela uma linguagem muito mais parecida com algo tipo java (ActionScript é a coisa mais parecida actualmente).</p>
<li><strong>Javascript não é só web</strong></li>
<p>	Nos últimos meses tenho desenvolvido aplicações com a suite de BPM Teamworks da Lombardi que utiliza javascript como linguagem de programação para as actividades dos BPMs. A utilização de javascript nestes moldes ou, melhor ainda, como linguagem para desenvolver plugins ou algo semelhante para aplicações, tirando partido das suas propriedades dinâmicas é altamente refrescante. Basta usar os jars que a Mozilla fornece com a implementação do <a href="http://www.mozilla.org/rhino/">projecto Rhino</a>.</p>
<li><strong>JSON</strong></li>
<p>	Poder estar a programar e definir as minhas estruturas de dados em formato JSON é magnífico. É menos verboso, simples e escrevo muito menos new&#8217;s.</p>
<li><strong>Abrir horizontes</strong></li>
<p>	<em>Last but not least</em>, não devemos ter receio de linguagens dinâmicas. Um programador java tem um trabalho confortável e laborioso: estamos protegidos com verificações estáticas em tempo de compilação, <em>checked exceptions</em> e outras demais coisas o que nos dá segurança e permite apanhar erros cedo; por outro lado, tudo isto nos dá mais trabalho sem muitas vezes nos garantir qualidade do software (para isso preferiria ter contratos estritos definidos entre os componentes com verificações em tempo de compilação e runtime, o que seria demais para a maioria nos sistemas).<br />
Trata-se pois, de uma questão de encontrar a chave de fendas que funcione melhor com o parafuso. Sejam linguagens dinâmicas ou não, o que interessa é a que produza melhor resultado final e isso pode nem sequer depender da linguagem mas de outros factores externos como a equipa, o tipo de requisitos, etc.</p>
</ol>
<p>Em termos de resumo, coisas como o GWT são excelentes paradigmas mas não se deve perder de vista o que se passa debaixo do capô. Experimentem desenvolver uma aplicação em javascript para testar o poder da linguagem. Repito, uma aplicação, não um bloco de script.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/04/javascript-e-assim-tao-mau/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS Mastery</title>
		<link>http://www.zonaj.org/2007/09/07/css-mastery/</link>
		<comments>http://www.zonaj.org/2007/09/07/css-mastery/#comments</comments>
		<pubDate>Fri, 07 Sep 2007 20:54:16 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[livro]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=55</guid>
		<description><![CDATA[Cascading Style Sheets são um pouco difíceis de assimilar. O box model, os posicionamentos e todos os truques cross-browser tornam o desenho de uma página um desafio.
Na prática, a maioria dos web designers ainda estão da era do flash &#8211; não compreendendo que uma aplicação flash não só não é acessível como não é indexável [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zonaj.org/wp-content/uploads/2007/09/41th5nfkpel_ss500_.thumbnail.jpg' alt='CSS Mastery: Advanced Web Standards Solutions'  style='float:right;margin: 0 0 10px 10px;'/>Cascading Style Sheets são um pouco difíceis de assimilar. O box model, os posicionamentos e todos os truques cross-browser tornam o desenho de uma página um desafio.<br />
Na prática, a maioria dos web designers ainda estão da era do flash &#8211; não compreendendo que uma aplicação flash não só não é acessível como não é indexável por motores de pesquisa &#8211; ou então usam um qualquer editor WYSIWYG e fazem uma página cheia de tabelas. Em ainda maior parte dos casos, não existe sequer um designer disponível no projecto e cabe ao programador compor o design do site que está a desenvolver. O resultado é, invariavelmente, mau.</p>
<p>Como tal, decidi comprar um livro que há muito tempo tinha adicionado à wishlist da Amazon (dão-se links a que quiser contribuir para a mesma): <a href="http://www.amazon.com/CSS-Mastery-Advanced-Standards-Solutions/dp/1590596145/ref=pd_bbs_sr_3/104-8152470-6875930?ie=UTF8&#038;s=books&#038;qid=1189196536&#038;sr=8-3">CSS Mastery: Advanced Web Standards Solutions</a> do <a href="http://www.andybudd.com/">Andy Budd</a>.</p>
<p>Devo dizer que é provavelmente o melhor livro técnico que já li, e já vão uns quantos. É conciso como deve ser, cerca de 200 páginas, não se perdendo em coisas inúteis. Explica cada técnica com exemplos simples e imagens, tendo sempre a perspectiva de que sejam funcionais entre browsers (ou seja, a famosa necessária martelada para funcionar o IE).<br />
O livro inclui mesmo exemplo de como construir um site do princípio ao fim, um excelente ponto de partida para fazer o meu site pessoal <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2007/09/07/css-mastery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS for dummies</title>
		<link>http://www.zonaj.org/2007/05/03/css-for-dummies/</link>
		<comments>http://www.zonaj.org/2007/05/03/css-for-dummies/#comments</comments>
		<pubDate>Thu, 03 May 2007 15:16:30 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=29</guid>
		<description><![CDATA[Para a grande maioria dos programadores, java inclusive, css é um mistério obscuro. E coisa de designers. E de meninas.Mas na realidade, para quem trabalha para web, temos de saber xhtml e css pois nem sempre temos designers e protótipos e todas essas benesses.
Depois, quando tentamos fazer páginas todas bonitas, acessíveis, com separação de semântica [...]]]></description>
			<content:encoded><![CDATA[<p>Para a grande maioria dos programadores, java inclusive, css é um mistério obscuro. E coisa de designers. E de meninas.Mas na realidade, para quem trabalha para web, temos de saber xhtml e css pois nem sempre temos designers e protótipos e todas essas benesses.<br />
Depois, quando tentamos fazer páginas todas bonitas, acessíveis, com separação de semântica da apresentação perdemos horas e horas e sentimo-nos parvos.</p>
<p>Hoje, consegui finalmente perceber o conceito de <em>float</em>, graça a este excelente tutorial: <a href="http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/">CSS Float Theory: Things You Should Know</a>.</p>
<p>Não deixem de ler este artigo, é muito muito bom.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2007/05/03/css-for-dummies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
