Estou fazendo um trabalho como freelance com o Drupal e, como uso Mac, estou utilizando o famoso editor Textmate como ambiente de desenvolvimento.

Antes de ter um Mac, nunca tinha tido contato com esse editor mas já tinha visto vários vídeos (a maioria de tutoriais de Rails) usando a ferramenta e achei bastante interessante.

Uso Linux desde 2001 e desde 2002 usava o VIM e/ou o GEdit como ambiente para desenvolvimento. Tanto o Vim quanto GEdit são ferramentas fabulosas e, quando estou no Linux, uso os dois.

Nunca gostei de IDEs gigantes e pesadas como o Eclipse ou NetBeans (famosos no mundo Java), mas estou me adaptando bem à leveza e simplicidade do Textmate.

O Textmate, em muitos aspectos, se parece demais com o GEdit (ou seria o contrário? não sei). Ele é muito leve, tem um bom suporte a coloração de sintaxe, e é bem personalizável. O sistema de bundles é bem legal e bastante flexível.

Usei a ferramenta pelo tempo de avaliação de depois comprei a mesma. Estou gostando muito e acho que com ele minha produtividade aumentou consideravelmente

Já criei o meu pequeno Bundle para o Drupal, assim as tarefas mais comuns (e mais chatas) ficaram bem mais rápidas e fáceis.

O efeito colateral agora é que, quando uso o GEdit no trabalho, fico sentindo falta de algumas coisas que tenho configurado em casa.

Olá a todos!

Esse final de semana fiquei por conta de fazer uma extensão para o Firefox.
Eu sou Cristão e realizo trabalhos na igreja que envolve projeção de letras de músicas e textos bíblicos.
Tinha feito uma pesquisa rápida na internet para ver se achava alguma extensão para o Firefox que facilitasse minha vida, mas não consegui achar nada. Diante disso, resolvi criar minha primeira extensão.

Há muito tempo eu já havia feito um programa para pesquisa bíblica(em 1998, quando eu estava aprendendo a programar). Me lembrei que eu tinha os arquivos com o texto bíblico daquela época e resolvi usá-los para essa nova tarefa.

Assim nasceu a minha primeira extensão. Eu fiz um parsing nesse arquivo para extrair o conteúdo e armazenar em um banco de dados MySQL, onde seria mais fácil consultar que um arquivo de texto.
Fiz a extensão usando o tutorial do Nando Vieira e a documentação da API da XUL, tudo isso aliado ao meu já existente conhecimento de Javascript e Ajax.

A extensão está funcionando, mas ainda vou fazer melhorias. Atualmente ela coloca na barra de status um botão intitulado "Abrir Busca" que devo tirar de lá, colocar no menu "Ferramentas" junto com teclas de atalho para facilitar o uso.(corrijido, agora está no menu "Ferramentas" e tem teclas de atalho)
Por enquanto a pesquisa só pode ser feita numa versão dos textos bíblicos(uma edição de João Ferreira de Almeida que não consegui identificar). No futuro pretendo incluir ma pesquisa os textos da NVI, bem como fazer melhorias na interface da extensão.

Quem quiser pode baixar a extensão aqui.

Update: Infelizmente o firefox não está entendo que é para fazer a instalação automática da extensão. Então baixe o arquivo(clicando com o botão direito sobre o link, e pedindo para salvar o destino) e vá no menu arquivo do seu Firefox e mande abrir o arquivo XPI. Corrigido

Update 2: O meu amigo Arnaldo Janz identificou um problema para instalar a extensão, o qual corrigi e enviei novamente para o servidor. Agora acredito que está funcionando corretamente(nos meus testes funcionou)

Qualquer dúvida ou comentário deixe abaixo o seu comentário.

Até breve!

Olá!

Dei uma sumida esses dias por força da faculdade e do trabalho, mas resolvi falar hoje de umas coisas que aprendi com um amigo (Orzenil) e depois aprendi na prática.

Um framework é, na minha concepção, a base de sustentação para o desenvolvimento de sistemas no contexto atual, segundo o paradigma de orientação a objeto.

É claro que no paradigma estruturado também é perfeitamente possível haver um framework, mas essa denominação é mais recente e veio junto com a força da Orientação a Objetos (já meio antiga, mas que hoje em dia tem muita força, graças ao Java).

Um bom framework, deve atender alguns requisitos básicos:

  • Deve ter uma API consistente e extensível
  • É importante que trabalhe em camadas
  • Deve, de preferência, ser estruturada sob Design Patterns(MVC, por exemplo)
  • Deve ter um bom tratamento de erros

Talvez você se pergunte: pra que eu preciso de um framework?
Acredito que a resposta mais comum para essa pergunta é: agilidade no desenvolvimento. Eu explico.

Com um framework, a maioria das rotinas básicas que você vai utilizar, já está prevista como por exemplo:

  • conexão com banco de dados
  • autenticação de usuário[em alguns frameworks]
  • formatação de exibição de campos

Isso diminui enormemente o seu trabalho de desenvolvimento uma vez que o básico já está previsto e você não irá precisar reprogramar tudo do zero.

Se o framework já usar, pelo menos, um Design Pattern, a produtividade aumenta, pois você já irá ter todo o suporte desse Pattern, que em casos como o do MVC, é fantástico!

A programação em camadas, é uma coisa fundamental para o desenvolvimento de softwares. Quando falamos de desenvolvimento para Web, isso pode ser multiplicado algumas vezes.

Hoje em dia, programar sem que haja essa divisão em camadas, dificulta muito o trabalho do desenvolvedor, que, além de trabalhar no que seria a camada de negócios, também vai ter que trabalhar na camada de apresentação, e isso toma muito tempo.

É importante dividir tudo em camadas, e deixar ao designer o que lhe compete, e ao desenvolvedor a sua parte. Se o projeto puder ter uma pessoa só para trabalhar com a camada de dados, é melhor, no entanto, esse trabalho para o desenvolvedor não se torna um jugo tão pesado (em alguns casos), é claro que há projetos que isso pode ser um fardo enorme!

Quando eu ainda trabalhava na Intertexto, tive uma experiência com um toolkit (segundo denominação do próprio projeto), que pode ser um bom exemplo do que eu considero um framework. Esse tookit é o OpenACS, uma ferramenta muito produtiva, escalável, extensível e robusta. Espero um dia poder falar melhor sobre ela aqui.

Em um dos freelance que estou fazendo no momento, acabei descobrindo um framework que promete muito, em PHP. O nome do projeto é Seagull, ainda está numa versão de desenvolvimento mas apresenta um excelente avanço. O framework é todo construído sob a PEAR, o que compatibiliza o projeto com a mais renomada biblioteca do PHP.

Em breve volto com mais notícias.

Abraços!

Essa semana estou trabalhando em mais um freelance (ainda não posso divulgar todos os detalhes), e para o desenvolvimento do projeto, resolvi trabalhar com as classes da PEAR.

Eu já havia usado usado a PEAR quando ainda ela era a PHPLib, e naquela época já era muito boa, mas faltavam algumas coisas, ou você tinha que fazer alguns "gatos" para que funcionasse corretamente. Agora, depois de algum tempo sem mexer com a PEAR, resolvi adotá-la e fiquei felizmente surpreso. As classes que estão no repositório oficial estão muito bem feitas e extremamente profissionais. Acredito que com essas classes você pode ter um rendimento muito maior, e é isso que estou sentindo na pele (felizmente).

Estou usando algumas classes fantásticas, como a LiveUser e a QuickForm. Essas duas e mais a Template_IT fazem da PEAR uma ferramenta muito poderosa para desenvolvimento de Websites com muitos formulários e que costumam (ou que precisam) mudar de aparência com relativa frequência.

Obviamente, como o projeto usa banco de dados, também estou fazendo uso da maravilhosa (e já bem conhecida) DB.
Em termos de abstração de banco de dados em PHP, a DB dá um show!

Depois dessa experiência me sinto motivado a escrever mais um artigo, e dessa vez será sobre a PEAR. Talvez nesse artigo também eu fale sobre um assunto muito interessante e que agora pra mim é lei: os WebStandards. Como eu escrevi em um artigo, padronização é fundamental, e nada melhor do que começar pelo lugar mais evidente: a estrutura do site. Esse assunto ainda vai dar muito pano para manga :-)

É isso, para quem estiver interessado, visite o site da PEAR e dêm uma olhada no que já tem pronto antes de começar a "reinventar a roda".

Hoje estão disponíveis para download na seção Scripts alguns dos scripts que fiz.

Esses scripts são bem simples (com exceção do TGIOTT que já está um pouco melhorado) e alguns deles ainda têm um código bem amador. Isso porque alguns scripts datam da época que eu estava aprendendo PHP e alguma coisa sobre HTML então é possível que você encontre algo que poderia ter sido feito de outra forma.

Espero que esses scripts estejam sendo úteis para alguém pois além de aprender a minha intenção com esses scripts é ajudar outras pessoas a aprenderem também.

Se você usou (ou usa) algum dos meus scripts e quer me ajudar de alguma forma, dê uma olhada na minha Wishlist e veja se há algo lá que você poderia contribuir.