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.

Essa semana vou ver se consigo pôr no ar com algum conteúdo o site do Debian-DF. Na verdade não há uma comunidade ainda formada, mas acredito que criar o site será um bom ponto de partida.

O intúito do Debian-DF é centralizar os usuários de Debian no DF, de forma realizar eventos, divulgar o Debian(e o Linux, de uma forma mais geral), produzir documentação, produzir software e tudo o mais que o Software Livre pode proporcionar em termos de comunidade.

Se você é residente em Brasília ou em alguma parte do Distrito Federal, é usuário Debian(ou de outra distro, mas quer conheçer e ajudar), entre em contato comigo pelo e-mail debian-df@rafaelsilva.net

Olá,

Essa é a "nova" versão do meu site. Antes ele era todo estático, porém sentia muita falta de atualizações. Foi então que resolvi alterá-lo para um sistema de blog.

Navegando pela Web, vi poucos blogs bons, alguns ruins e muitos realmente horríveis.
Até que, há pouco tempo, um amigo(Fernando Albuquerque), me mostrou o B2Evolution, uma evolução do antigo B2. Uma das maiores vantagens do B2Evolution é que ele é pensado para ser compatível com Webstandards, o que pra mim é muito importante.

Então ontem eu resolvi usá-lo como base para o meu site. Eu o testei uma semana atrás, e concluí que ele já tinha tudo o que eu queria, só instalei, e adaptei o tema que o Fernando também fez. E temos aí essa nova versão.

Com isso espero trazer mais dinamismo para meu site, e também algumas novidades, que antes eram providas pelo RSS que ficava na lateral.

Bom, por hoje eu paro por aqui, espero voltar em breve com novidades mesmo.

Rafael

Olá,

Seja bem vindo ao WebPHP. Esse é o meu site pessoal, onde é
possível acessar aos meus trabalhos, tanto scripts, como exemplos de
trabalhos que realizei.

A intenção desse site é servir de Webfólio para
os meus trabalhos(grande parte feitos em PHP), mas também é
poder compartilhar os meus trabalhos com quem desejar fazer o download dos mesmos.

Como sou membro ativo da comunidade de software livre(Debian GNU/Linux dentre
outras), procuro sempre liberar meus trabalhos(sejam softwares ou documentos)
sob uma licença livre (GPL para software, FDL para documentos). Sinta-se
à vontade para fazer o download desses trabalhos e usá-los conforme
as suas licenças.

Atualmente ainda falta completar o conteúdo de algumas áreas do
site, por isso eu peço desculpas. Essas áreas serão criadas
e/ou preenchidas por conteúdo com o tempo(que no meu caso tem sido muito
pouco).

Espero que aqui você encontre o que procura, seja um bom script, um bom documento (seja tradução ou não) ou mesmo
excelente profissional: eu ;-)

Se por acaso você vir algo errado, detectar algum erro ou tiver alguma
sugestão ou pergunta, não hesite em entrar em contato comigo através
do formulário de contato.

Atenciosamente,

Rafael Ferreira Silva
Programador/Desenvolvedor Web - Webmaster
Brasília - DF

Páginas