Cor Cinza

Bom, para aqueles que não sabem eu também dou meus pitacos com programação pra web. Nestes últimos tempos tenho trabalhado com o site educacional aCoruja.com. A proposta do site é criar o maior diretório de cursos do Brasil, mas a nossa estrutura estava um pouco amarrada demais, impedindo o crescimento natural da página.

Depois de longas reuniões, decidimos que mudar tudo. Re-fazer o site do zero. Pensar em um novo design e numa nova abordagem. Resolvemos apostar então naquilo que chamam de site colaborativo, onde o conteúdo pode ser gerado e administrado pelos próprios usuários. Será um tipo de “wiki” sobre cursos diversos oferecidos no Brasil.

Para auxiliar a criação de um site desse tipo, resolvi usar um framework de PHP para ajudar no desenvolvimento. Um tempo antes já tinha ouvido falar desse tal de CakePHP, mas pra falar a verdade, nunca tive coragem o suficiente pra encarar qualquer tipo de framework. O desafio que agora eu ia enfrentar parecia ser o motivo necessário pra tentar aprender.

Em pouco tempo o CakePHP me conquistou com alguns “features” muito bacanas. Bom, basicamente ele é um framework MVC [model-controller-view] totalmente orientado a objetos, e embora seja complicado aprender a usar um framework específico inicialmente, o resultado a longo prazo é ótimo:

1º – Você acaba sendo forçado a programar de forma limpa, separando as funções do seu modelo em um lugar, as funções do controle em outro, e os arquivos que vão mostrar esses conteúdos em outro canto. Tudo fica separado e organizado.

2º – Você não precisa reinventar a roda. Desde que comecei a usar CakePHP não tive que fazer UM formulário! Vocês não imaginam minha alegria. Eu odeio fazer formulários, e com o CakePHP eu posso simplismente pular essa parte. Ele faz tudo pra mim.

3º – Você acabada desenvolvendo aplicações complicadas em menos tempo. Como você não perde tempo tendo de refazer funções e mais funções, você acaba criando tudo com mais facilidade e clareza, economizando muito tempo.

Pra ter uma idéia de como esta ferramenta é poderosa, verifique este artigo onde um tal de Matt diz ter criado um site de namoros em 66.5 horas com CakePHP [e muito planejamento, dá lá uma olhada]. Você também pode dar uma olhada neste screencast, onde eles mostram como criar um blog com cake, ou este outro onde eles mostram como criar um outro tipo de site.

Enfim, começar com o Cake não é moleza, ainda mais se você não está familiarizado com o conceito de programação MVC, por isso vou tentar explicar como eu comecei a entender esta história.

- Comece pelo tutorial do blog. Ele está no manual do Cake, lá na frente, mas o Manual do Cake não segue uma ordem muito bacana não. Por mais que você não entenda o que está fazendo no tutorial do blog, execute cada passo com cuidado.

- Depois de ter lido o tutorial do blog, passe para o próximo tutorial, o de autenticação de usuários. Você vai boiar em vários lugares novamente, mas não desista! Execute os passos com cuidado.

- Depois que você fez os dois aplicativos, comece a ler o Manual desde o começo e aos poucos as coisas vão começar a fazer sentido. Você vai lembrar do que você fez antes [mesmo que você só tenha copiado e colado] e vai começar a montar o quebra cabeças.

- Tente fazer suas próprias aplicações com CakePHP. Muitas dúvidas vão surgir, por isso, visite o canal de suporte do framework no IRC. O canal está no servidor da Freenode e se chama #cakephp [der]. As pessoas lá são muito bacanas e sempre vai ter alguém pra te ajudar! Eu estou sempre por lá, então se precisar e se eu puder ajudar, é só chamar! Meu nick lá é “Eber” [der de novo].

- Na dúvida, de uma olhada no API [application programming interface]. Lá você encontra listadas e detalhadas todas as classes, funções e objetos de tudo que faz parte do Cake!

Segue uma lista de outros sites e blogs que você pode visitar pra saber mais sobre o CakePHP.

- The Bakery: este é um site oficial do CakePHP onde existem artigos, tutorias e códigos sempre muito úteis para qualquer tipo de aplicação. Dê sempre um olhada aqui antes de criar uma função nova ou um componente.

- Cakebaker: blog sobre cake e php em geral.

- TulioFaria: blog de brasileiro entusiasta do CakePHP. Com muitas dicas e tutoriais.

- ThinkingPHP and beyond: blog que aborda assuntos como Cake, Drupal, Javascript e etc…

- Rudimentary Art of Programming & Development: muita coisa boa sobre cake, ruby, ajax, desenvolvimento…

- Jonathan Snook: este cara é um designer, desenvolvedor, escritor de livros de técnologia e também um entusiasta do CakePHP

- IBM: Cook Up Websites Fast: tutorial que ensina como criar um site rapidamente usando CakePHP.

- IBM: Build A Production Wiki: outro tutorial da IBM que ensina como fazer um wiki com Cake! Muito útil!

Bom, então eu acho que é isso. Espero que este post possa ajudar alguém, e se precisar, me mande um email [eber.freitas (at) gmail (ponto) com]. Em breve coloco algo sobre o meu novo projeto n’Acoruja.com apresentando meus progressos.

Abraços a todos!

Tags: , ,

Comentários /comments

Este post ainda não possui comentários

Comente! /post a comment!