Pular para o conteúdo principal

Postagens

Mostrando postagens de Abril, 2008

Do HTML para impressora - Parte 1

Certas vezes, nós nos deparamos como a necessidade de fazer um objeto de apresentação para situações bem diferentes como o Browser e a impressora. A briga é boa: podemos criar objetos especializados para cada meio ou criar um objeto versátil o suficiente para atender os meios alvos. A seguinte proposta se guia pelo segundo caso objetivando a codificação de um único código para realizar uma tarefa específica.

Imagine uma aplicação com a seguinte funcionalidade: A aplicação tem basicamente a função de buscar notas por um certo critério, exibir e imprimir a nota procurada. Um operador informa os campos chaves da nota. No passo seguinte, a aplicação devolve uma página com os dados da nota e uma formatação que mimetize ao máximo o layout originial da nota. Eventualmente, como essa nota está integrada a uma aplicação web, a página conterá outras “informações” como logo, links de navegação etc que não tem nada a ver com a nota mas apenas com a aplicação que a contém.
Sem um tratamento adequa…

Javascripting in Java

Linguagens dinâmicas apresentam várias vantagens sobre as linguagens compiladas. Uma dessas vantagens é a habilidade de adicionar código em tempo de execução com facilidade. Por exemplo, imagine um servidor que de alguma forma receba e processe comandos. Num ambiente Java (onde o servidor é um programa Java assim como os comandos são objetos Java) é um certo malabarismo com o Classloader para fazer isso.

http://www.javaworld.com/javaworld/jw-06-2006/jw-0612-dynamic.html?page=2


Enquanto que esse dinamismo é ainda “sustentável” para Classes, a situação é mais complicada para fragmentos de código. Nesse caso é preciso compilar uma classe Java e carregá-la. Com Javascript, a situação é outra. Uma vez que a linguagem é interpretada, é simplesmente trivial adicionar fragmentos de código. Para provar isso vou implementar um programa que imprime gráficos, para funções arbitrárias de uma variável x “real” (aliás, radicalmente arbitrárias... não irei nem mesmo validar se a entrada é de fat…

Objetos versus Arquivos (Squeak vs Eclipse)

Objetos ou Arquivos


No Unix, os arquivos são utilizados como a metáfora comum para uma ampla variedade de propósitos. Nesse mundo, dispositivos, processos, recursos do sistema são mostrados como arquivos. Apesar das limitações, esse é um conveniente meio de realizar diversas tarefas administrativas. Operações com direcionamento são utilizados de forma sistemática para arquivos ou dispositivos (ex: ls > ls.txt ou ls > /dev/lpt1 ). No windows, todos recursos são objetos, inclusive os arquivos. Isso também proporciona uma forma conveniente para manipular tais conceitos. Mas, não vemos no Windows a mesma facilidade de manipulação para fins administrativos que temos no Unix.

Um cenário semelhante acontece com as plataformas de desenvolvimento. De um lado, temos o Java/Eclipse, onde cada classe é representado por arquivos do SO e do outro lado, Smalltalk/Squeak as classes são objetos armazenados em memória e de alguma maneira persistido no computador (a tal imagem da área de trabalho). …