Documentação, por favor

August 31st, 2007 § 7 comments

Nas minhas contínuas pesquisas sobre frameworks para desenvolvimento Web, uma das coisas que têm me chamada atenção é a documentação disponível e a facilidade com que um usuário iniciante consegue informações que lhe permitam começar o processo de desenvolvimento.

Hype à parte, o único ganhador nesse caso é o Rails. Mesmo o Django não consegue o mesmo nível de facilidade–em parte, eu acredito, pelo site confuso que não provê um caminho direto para usuários e a falta de um tutorial mais atualizado e condizente com as mudanças que estão acontecendo no mesmo.

O Seaside, por mais poderoso que seja, tem uma curva de aprendizado extremamente íngreme: não existe nenhum tutorial para a versão mais recente, a documentação bordeja o ridículo, e mesmo os exemplos que vêm com o pacote primário se referem a uma versão anterior. O resultado é que tarefas simples se convertem em uma caçada à classes e um processo de tentativa e erro.

O irônico é que volta e meia alguém reclama da popularidade do Rails e os usuários do dito framework se dividem em dois na listas. O primeiro grupo diz que o objetivo não é competir com o Rails, mas na verdade gostariam de que pelo menos o hype fosse o mesmo. O outro grupo sugere medidas interessantes, mas não faz absolutamente nada.

O fato é que código é notoriamente difícil de se ler. Sem documentação, nenhum framework segue em frente. Há momentos em que eu gostaria que certos desenvolvedores parassem se escrever código e documentassem. Na falta disso, que indicassem o proverbial caminho das pedras para que outros pudessem escrever código.

§ 7 Responses to Documentação, por favor"

  • Há um tempo atrás eu tentei aprender um pouco sobre o Magritte (framework para descrição de meta-dados pra Smalltalk) e sobre como utilizá-lo junto com o Seaside (para geração e validação automática de formulários e tal) e eu simplesmente não consegui fazer a bagaça funcionar. Tentei ver se encontrava algo parecido no código do Pier (um CMS feito em Seaside), mas o código dele, de tão bem feito, chega a ser irritante tamanha a complexidade.

    E não parei por aí. Acabei encontrando um tutorial em PDF feito pelo próprio Lukas Renggli (criador do Magritte) — que na verdade era um trabalho acadêmico — mas que não mostrava como fazer. E as listas de discussão? Se encontra dúzias de versões diferentes que teoricamente funcionam. Teoricamente.

    Depois dessa luta toda, beijei a lona. Confesso que fiquei desapontado em não ter conseguido fazer nada que funcionasse. Quem sabe daqui algum tempo eu tente novamente, mas, infelizmente, não acredito que será diferente. 😛

    Mas sobre o Seaside, o pouco que aprendi já me convenceu de que ele é um dos melhores frameworks web existentes atualmente. Mas tem horas que essa minha expectativa é ofuscada pela idéia de que este framework só existe com o objetivo de manter o DabbleDB (aplicação comercial foderosa em Seaside).

    Do jeito que está, só mesmo quem participa do desenvolvimento do Seaside realmente o pode dizer que o conhece. E, enquanto não houver documentação, não há a menor possibilidade de haver qualquer “hype” em cima do Seaside, por melhor que este seja.

  • Só para constar: são duas e meia da manhã, mas consegui fazer o Magritte+Seaside funcionar! Acho que foi por causa da sua palestra hoje (ops, ontem), 😛 que estava ótima.

    Vou montar um tutorialzinho depois para ninguém precisar camelar tanto igual eu camelei!

    Até!

  • Este fato realmente é um problema Ronaldo, Rails só não aprende quem quer e a melhor fonte de estudo que achei até agora é o seu tutorial que mistura código e conceito de maneira bem simples, estamos esperando um tutorial assim pro Seaside.

    Abraço e parabéns pelo Herético… quer dizer… palestra, estava ótima

  • Ronaldo says:

    Daniel, pois é. Esse tipo de problema que você descreve é super-comum.

    Apesar de que o pessoal do Seaside parece estar se tocando para a necessidade de um processo mais óbvio e transparente. Eu lembro de uma discussão recente na lista sobre o assunto e fiquei impressionado com a postura de alguns desenvolvedores que acham que se a pessoa não conseguir descobrir sozinha o que é necessário, não merece usar Seaside.

    O que eu acho que falta também é um espírito de comunidade mais aberto–ironicamente, Smalltalk sempre foi assim–porque o pessoal parece achar que a panela atual é suficiente porque Seaside nunca vai e “nem quer ser” popular como o Rails. Isso me lembre de raposas e uvas verdes.

    Enfim, com o crescimento, a pressão sempre aumenta e documentação vai sair eventualmente. Já estão planejando até um livro. :-)

    Sobre o tutorial Magritte, ficou muito bom. Parabéns, estamos precisando mesmo disso.

    Aguinelo, obrigado pela parte que me toca. Sobre o tutorial, estou engatilhando um. Vamos ver o que acontece. :-)

  • É bom que esse eventual livro cubra a versão mais recente! 😛 Digo isso pois, vez ou outra, encontramos uma parte da “documentação” que está depreciada…

    Até mais!

  • É mesmo, parece que a galera do Seaside começou a perceber que tem gente querendo usar esse framework! 😛

    Tem uma apresentação sobre o Seaside nesse link:
    http://www.lukas-renggli.ch/blog/esug-lugano-seaside?view=PBPostHtmlView&command=PRViewCommand

  • Ronaldo says:

    Espero que o livro cubra só a mais recente. Mudaram tanto que ia ficar uma zorra cubrir tudo. :-)

    Sobre a apresentação, só vi os slides. Depois tenho que vê-la toda com calma.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Documentação, por favor at Superfície Reflexiva.

meta