Jun 13

E com vocês, Techzilla

Desculpem a falta de atualização, mesmo. É que é fim de semestre na faculdade, sabem como é.

TechZilla

Mas hoje estou aqui pra anunciar mais um trabalho que estive/estou envolvido de umas semanas para cá. É o blog de tecnologia TechZilla. Fiz o redesign do blog e agora, como serviço periódico, estarei por lá postando artigos legais sobre tecnologia. Desde já agradeço pela oportunidade ao Julio Câmara, que me convidou para esta tarefa. Me sinto muito feliz de saber que divido um blog com gente grande da blogosfera.

A única coisa que posso dizer é que o conteúdo é bem legal, e que vocês podem descobrir mais entrando e conhecendo nosso conteúdo. www.techzilla.com.br.

E voltamos agora com nossa programação normal.

Jun 01

Vamos falar de produtividade

O Júlio iniciou uma discussão que merece mais que um simples comentário. Estamos passando por uma série de mudancinhas no cotidiano que influenciam diretamente na nossa produtividade. Eu, Rafael, estou caminhando em direção ao design, estudando teoria, buscando muita inspiração. Mas, mesmo assim, continuo amando a dobradinha XHTML+CSS e um pouco de programação.

Mesmo trabalhando com design, a gente acaba fazendo um pouco de código também, é bom e faço questão de continuar fazendo. Vejo meu progresso no design diariamente, a cada trabalho entregue, a cada cliente satisfeito. Mas na programação eu estive um pouco relaxado nos últimos anos. Fiz um bom trabalho com Padrões Web, e hoje domino XHTML e CSS. Mas com PHP era diferente.

Eu já tinha começado a estudar CakePHP um tempinho atrás. A idéia do framework era ótima, mas eu não entendia como ele funcionava, pois todo o código é orientado a objetos. Esse ano resolvi estudar um pouco sobre os conceitos da orientação a objetos e também um pouco da organização de software seguindo o pattern MVC. Foi aí que Ruby on Rails e CakePHP começaram a fazer muito sentido para mim. São ambos frameworks que, no meu ponto de vista, são muito parecidos no funcionamento.

A questão não é se eu prefiro Rails, Django ou Cake, mas a questão é que eu estou usando um framework. Ponto. Depois de assistir algumas palestras do Elcio, a gente aprende que precisa mesmo ser mais produtivo, e que uma das melhores maneiras é usar um framework, ou criar o seu próprio. Estou me distanciando um pouco da programação ultimamente; reconheço. Mas mesmo assim, toda esse estudo tem valido a pena.

Acho interessante, mais do que usar um framework criado por outros, criar o seu próprio. Ou sua biblioteca, que seja. Eu já tinha percebido que reinventava a roda a cada novo site que começava, e já tinha feito uma pequena biblioteca padrão para os novos sites. Isso é bem bacana, evita bastante retrabalho.

Próximo passo: Controle de versão

No início é complicado, e parece trabalhoso. Pode até ser, mas estamos perseverantes. Queremos tentar usar controle de versão pois, se não fosse bom, tanta gente não estaria falando tão bem. Não me lembro de ter perdido arquivos por conta de trabalho em equipe, mas já sofri com código espalhado em vários lugares. Por isso, é interessante pensar na implantação do controle de versão do código.

Conclusão: Não seja preguiçoso!

Permanecer no status quo é fácil, muito cômodo. Anime-se, desenvolvedor! Tanto comodismo é prejudicial à produtividade, e quem ainda nem se importa com isso não tem muito futuro. A programação se torna divertida quando há organização, pois tomando certas medidas para aumento de produtividade, o trabalho se torna muito mais fácil.

May 15

Sim Sim Sim! CodeCast número 4!

O CodeCast 4 é sobre Flash!

Não há hoje, em termos de Web, software mais polêmico que o Adobe Flash. Neste episódio do CodeCast discutimos sobre ele, e sobre como foi nossa experiência com ele. Falamos da história do software, dos prós e contras, de ActionScript e do Silverlight, a tentativa da Microsoft de desbancar o Flash. Além disso, lemos alguns comentários dos ouvintes, e no final dei uma dica de um software bem bacana.

Nesta edição o arquivo pesa 14MB, e possui duração média de 30 minutos. Para baixar acesse o site do CodeCast. Espero que goste!

May 10

Dicas avançadas para otimizar seu CSS

Caso tenha perdido, leia Dicas para melhorar seu CSS, que contém a introdução e dicas básicas de otimização das folhas de estilo em cascata.

Você sempre pode ir além, é claro. Existem mais maneiras, tão simples quanto as outras, de escrever código CSS ainda mais estruturado. As dicas que seguem são especialmente dirigidas àqueles que mantêm grandes quantidades de código, aos que atualizam seus CSS’s com freqüência, ou àqueles que trabalham em equipe - onde todos podem fazer eventuais alterações.

Grandes sites, que conseqüentemente possuem folhas de estilo maiores, exigem certa modularidade em todo o processo de desenvolvimento. Do Javascript ao PHP, do HTML ao banco de dados, passando (é claro) pelo CSS, o código inteiro carece de constante atualização. Como otimizar, então, nossos estilos para que nossa vida seja mais fácil?

Nada como código comentado

Use e abuse dos comentários para descrever seletores complexos, e para organizar todo seu CSS de maneira geral.

Zerar os estilos

Cada browser faz sutis modificações na maneira com que os estilos são renderizados. Para evitar a dor de cabeça posterior, algo interessante de se fazer ainda no início de desenvolvimento é o reset de estilos, que já falei sobre anteriormente.

Crie estilos padrão para elementos comuns

Seus elementos a, cabeçalhos h1, h2, h3, h4, h5, h6, parágrafos p, listas não-ordenadas ul e ordenadas ol - entre outros - geralmente possuem exatamente a mesma formatação em todo o site. Por isso, você pode aplicar certas propriedades diretamente ao elemento. Por exemplo, se seus links são sempre verdes, não coloque um color: green; em cada lugar que os links aparecem, como em #sidebar a, #post a, #header a, #footer a, .caixa a { color: green; }.

Prefira definir um estilo padrão, como a { color:green }, e então faça modificações apenas onde for necessário. Isso evita que seu código fique muito ambíguo, o que torna difícil a manutenção, pois se você determina a mesma cor para os links dentro de diferentes elementos, a cada modificação serão vários lugares a serem alterados.

Com os cabeçalhos, de h1 a h6, você pode e deve definir os tamanhos, pois a medida padrão para os cabeçalhos pode mudar um pouco de acordo com o browser.

Crie um índice com o conteúdo do arquivo

Otimização CSS - Table of Contents

Pode ser uma boa, caso você não tenha o costume de identar o código. Defina uma TOC no início do documento, utilizando texto comentado, e então insira as marcações sinalizando o início de uma nova seção ao longo do código. Se isso ajuda ou não, depende de cada um. Só um código bem identado às vezes já vale mais do que esta estruturação com índice.

Separe seu código CSS em arquivos diferentes

Se você optar, pode separar cada pedaço do seu CSS em outros arquivos, e então chamá-los em um global. Isso é ótimo na manutenção, já que você sempre saberá exatamente onde procurar cada trecho de código, e o encontrará mais fácil pois cada arquivo não será tão extenso.

Importante: Leve sempre em consideração a performance, a velocidade de carregamento. Quanto mais arquivos forem chamados, mais requisições HTTP serão necessárias e mais tempo levará para o carregamento completo. Use esta dica com moderação.

Otimize seu CSS automaticamente com PHP

Chegamos na dica interessante do dia. Você provavelmente, em busca de otimização e melhora de performance, deve ter a sua própria maneira de otimizar o CSS antes de enviá-lo ao site. Existem inúmeros sites, como o CSS Cleaner, que otimiza o código para você, só que a cada alteração é necessário passar todo o código pelo otimizador novamente. Ou então, alguns preferem escrever todas as propriedades na mesma linha, etc, etc. Queremos uma boa manutenção, mas não podemos abrir mão da performance.

Trouxe um macete bem legal, mas é só para quem usa PHP. Adicione ao arquivo .htaccess da pasta dos seus arquivos CSS o seguinte código:


<Files otimizar.css>

SetHandler application/x-httpd-php

</Files>

Nesta mesma pasta, crie um arquivo chamado otimizar.css, e inclua nele o seguinte código.

<?php

header('Content-type: text/css');

ob_start("comprimir");

function comprimir($buffer){

$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!’, ”, $buffer);

$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);

return $buffer;

}

include($_GET['file'].”.css”);

ob_end_flush();

?>

A partir de então, passe a chamar seus arquivos CSS pelo endereço otimizar.css?file=nome_do_css. A alteração no arquivo .htaccess tornará possível a execução de scripts PHP no arquivo otimizar.css, e o arquivo otimizar.css removerá espaços, comentários e quebras de linha no seu arquivo, retornando um CSS compactado do jeito que você gosta. Este código não é de minha autoria, mas como não lembro mais de onde tirei, não posso dar os devidos créditos.

Espero que tenham gostado, pessoal. Deste e do primeiro artigo sobre Otimização de CSS.

photo Rafael Marin Bortolotto
RafaelMarin.net
rafael arroba rafaelmarin.net
Rua Antonio Rossato, 223
Caxias do Sul , RS , 95013-090 Brazil
Latitude: -29.160758, Longitude: -51.197619
+55 54 3211.3159