Sábado, 14 de Julho de 2007 20:10
Estou particularmente bem impressionado com a dinâmica da Universidade do Porto nos últimos tempos. Tanto em iniciativas com o objectivo de dar mais visibilidade ao que de bom se faz na universidade, como em relação a algumas parcerias que têm feito. Alguns bons exemplos:
Etiquetas:
alemanha, asprela, aveiro, django, fraunhofer, MAP, minho, newsletter, porto, UA, UM, UP, uptec
Quinta-feira, 1 de Março de 2007 22:25
No outro artigo que escrevi sobre formas de produzir documentos já houve quem desse alguns palpites interessantes, mas vou tentar resumir melhor as possibilidades que tenho considerado.
- Latex – Principais pontos fracos são a curva de aprendizagem (é fácil aprender o básico, mas perco tipicamente demasiado quando preciso de fazer algo de novo) e a sintaxe pouco amigável (sobretudo quando se usam tabelas ou se incluem imagens). Contudo, a qualidade de apresentação do resultado final é a melhor que conheço.
- Docbook – É XML e, por consequência , algo verboso. No entanto, consegue-se estruturar um documento de forma muito clara. As ferramentas de edição e processamento de docbook é que nem sempre funcionam de forma tão integrada quanto gostaria. Para windows o sistema mais integrado que conheço é o eDE (que faz uso de umas folhas de estilo XSLT que transformam Docbook em XSL-FO e do processador de XSL-FO da Apache).
- Wiki – Ao contrário da opinião de muita gente não acho a sintaxe do wiki tão amigável quanto isso, mas a verdade é que cumpre a sua função e mantém um certo grau de simplicidade. Por outro lado, as ferramentas que apoiam a edição são geralmente bem fraquinhas; mesmo repartindo por várias páginas os vários capítulos de um documento, as coisas começam a ficar difíceis de gerir quando existe conteúdo consideravelmente extenso em cada uma dessas páginas (convém gravar frequentemente, e cada gravação começa a demorar cada vez mais tempo à medida que aumenta a quantidade de texto a enviar para o servidor Web). Não é também, à partida, das abordagens mais orientadas a documentos impressos.
- ODF – Tanto quanto sei não é possível separar conteúdo de apresentação de forma clara. Neste momento a única implementação digna desse nome é o OpenOffice.
- OOXML – Além das desvantagens do ODF, é caro, considerando que para o usar é necessário contentarmo-nos com o MSOffice.
- GoogleDocs – Excelente para trabalho colaborativo mas tem na minha opinião umas quantas outras limitações.
Já vi, com base nestas opções, também uma solução híbrida entre um wiki e o docbook :) Um meu amigo criou um script python que exporta para docbook um conjunto de páginas de um mediawiki, para posterior geração de um PDF com o eDE. Aproveitam-se vantagens das duas abordagens e o resultado final é bastante decente. Mantêm-se no entanto as desvantagens de usar os limitado editores dos wikis.
Uma outra solução, que me parece promissora, é a que estão a usar no DjangoBook (um livro livre sobre o projecto django). Estão a usar um sistema (desenvolvido pelos próprios mentores do projecto) com umas funcionalidades engraçadas, nomeadamente, permite à comunidade comentar o livro que estão a escrever com a granularidade de parágrafos. A ideia é posteriormente exportar os conteúdos para um qualquer formato mais orientado à impressão. O código deste projecto não está disponível, mas encontrei entretanto um outro projecto paralelo, que é praticamente uma cópia do anterior. Ainda lhe devo dar uma vista de olhos com mais atenção, mas parece-me apesar de tudo algo aquém do que queria, sobretudo porque não vejo forma de versionar o documento e as limitações do editor que encontro num wiki mantêm-se também aqui.
Além destas, haverá mais alguma opção digna de nota?
Etiquetas:
django, documentos, eDe, googledocs, latex, mediawiki, microsoft-office, ODF, OOXML, openoffice, subversion, wiki, XML, XSL-FO, XSLT
Domingo, 20 de Agosto de 2006 16:13
Ainda na minha demanda por uma melhor linguagem/framework para desenvolvimento para a Web, acho que as seguintes linguagens/frameworks merecem, pelo menos, que as tenha em conta:
Contudo, vou já pôr de lado, por razões diferentes, Java, PHP e Perl. Uma das características que procuro é uma forma harmoniosa de separar a produção de documentos XHTML da lógica de negócio propriamente dita. O PHP é muito orientado à produção de documentos, enquanto o Java é mais adequado à codificação da lógica de negócio. Perl, confesso que não conheço muito bem, mas tenho a sensação que se aproxima bastante de PHP, com a desvantagem que não foi desenhada de raiz com o objectivo de gerar documentos para a Web (e não são de excluir também alguns sustos que tenho tido ao olhar para algum código Perl particularmente compacto ;). Com qualquer uma das que conheço se consegue, de alguma forma, separar a produção da markup da lógica de negócio, no entanto, nenhuma delas atinge essa separação de forma satisfatória, pelo menos, para mim.
Com PHP consegue-se esta separação pela utilização de um qualquer sistema de templates dos que por aí andam, deixando apenas a codificação da lógica de negócio ser feita em código PHP propriamente dito. Com JSP também se consegue algo parecido pela utilização de taglibs; a linguagem de template neste caso baseia-se num dialecto XML definido pelo próprio programador. No entanto, até hoje ainda não usei nenhuma solução de templating para PHP ou JSP de que gostasse realmente. Ora as sintaxes de template são intragáveis, ora se confundem com o próprio XHTML (diluindo o valor da estrutura do documento, uma vez que lhe mistura tags que não fazem parte dessa estrutura), ou são tão “comodamente” parecidas com a própria linguagem da lógica de negócio que se ganha demasiado poder ao nível da linguagem de template, perdendo-se toda a vantagem da separação que pretendíamos (mais tarde ou mais cedo o programador cai na tentação de adicionar lógica de negócio nos templates).
Assim, sobra-me analisar mais a fundo Ruby e Python, bem como algumas frameworks que lhes existam associadas. Tenho lido de bom (e de mau) a seu respeito e tenho por isso alguma curiosidade de olhar para elas mais de perto.
Ultimamente tenho usado um pouco de Python e da framework Django, e não estou desiludido. Conto relatar mais dessa experiência proximamente.
Etiquetas:
django, framework, java, linguagem, php, python, ruby, template