A muitos anos atrás (tá, nem tantos assim) eu resolvi me aventurar com Zope. Eu era ‘garoto novo’ e bastante inexperiente com desenvolvimento OO. Me dei mal. Não sei se a coisa não rolou por causa dessa inexperiência ou porque Zope realmente era complicado. Mas o resultado foi: não deu.
Algum tempo depois fiquei mais experiente em OO e já me julgava capaz para fazer uma nova tentativa com o Zope. Modéstia à parte não sou um ‘toupeira’. Tenho uma experiência muito boa no desenvolvimento de Software e no trato com computadores e agora que já estava ‘afiado’ com desenvolvimento OO estava tudo indicando que dessa vez eu e o Zope teríamos um caso de amor.
Me adaptei super-rápido com o ZODB, super-mal com todo o resto. Não rolava desenvolver na Web e não gostei da idéia de guardar o código de minhas aplicações dentro do ZODB. Eu sei que ‘não gostei’ não é um argumento técnico muito forte mas mesmo assim abandonei o Zope porque achei que eu não era dígno de compreender a proposta dele.
Ganhei um treinamento ultra-fast-rápido com o Luciano Ramalho e continuei não gostando de algumas coisas.
Resolvi dar uma olhada no Plone e que era o melhor tipo de aplicação feita em cima do Zope que poderia existir. Assisti a uma apresentação sobre Archetypes e ArchgenXML proferida por caras que realmente souberam explicar o funcionamento deles.
Archetypes eu achei muito massa. ArchgenXML eu não gostei porque tenho ressalvas contra qualquer tipo de ferramenta que tente gerar código. A minha opinião pessoal é a de que a única ferramenta que consegue gerar código automaticamente se chama programador.
Aí chegou o Zope3 que simplesmente sumia com algumas das características que eu julgava indesejadas anteriormente. Parece que agora o ‘casamento’ sai.
Para tarefas triviais ainda é um canhão muito grande para matar pequenas moscas mas me parece que está se tornando uma boa ferramenta para desenvolver aplicações maiores.
Armei-me do que existe de melhor em termos de documentação sobre o Zope3 (até livros caros e importados) e estou atacando o dragão para desenvolver uma aplicação exemplo de controle de finanças pessoais (para meu uso). Tá saindo. Muito, mas muito mesmo, mais devagar do que se eu estivesse usando um framework mais ‘leve’ como um Turbogears ou o Django mas mesmo assim tá saindo.
Mas vou falar uma coisa: não é fácil. A facilidade de se aprender Zope é inversamente proporcional à facilidade de se aprender Python. Notei que sempre foi assim. Só estou conseguindo agora porque tenho muito mais experiência do que antes para tentar, mas se você está tentando aprender Zope agora não se ache um ‘burrão’ igual eu me achei no passado porque isso não é verdade. A verdade é que o Zope é um bicho muito difícil de domar mas depois de domado é o bicho mais poderoso que você pode ter em mãos.