Posts relacionados a ‘

22Out07 Da web para o desktop: Mozilla XULRunner e Adobe AIR

Diversas aplicações têm aparecido para desktop baseadas em tecnologias originalmente desenvolvidas para web. As vantagens?

Multiplataforma: Windows? Linux? Mac? A aplicação será a mesma. Absolutamente a mesma. - a não ser que você não queira isto. Não há a preocupação de desenvolver a interface do seu software em Cocoa, em GTK, Qt ou seja-lá-qual-for-a-biblioteca-de-interface-gráfica.

Recursos: As plataformas trazem consigo recursos e suporte a tecnologias que você levaria anos se fosse implementar sozinho.

Foco: Você se preocupa em trabalhar com o que sabe fazer de melhor. Menos stress, curva de aprendizado razoável, prazos determináveis e dentro da realidade.

Instalação/Desinstalação: Ah, isso os dois também suportam nativamente.

XULRunner

O XUL (pronúncia zúl) é uma linguagem de marcação, semelhante ao DHTML e foi desenvolvido para suportar aplicações do projeto Mozilla. Projetos como o Firefox e o Thunderbird possuem suas interfaces construídas em XUL e outras tecnologias, tais como CSS (apresentação/tema), Javascript (comportamento), DTD (principalmente para a internacionalização) e RDF (descrição do conteúdo).

É relativamente fácil a construção de uma aplicação em XUL para quem está acostumado a codificar HTML. Além disso há uma separação entre a interface e a lógica do software. Uma aplicação cuja interface fosse construída em XUL poderia rodar em Firefox ou qualquer outro navegador baseado no Gecko.

O XULRunner dispensa o browser. Ele é um pacote de execução que permite rodar aplicações XUL+XPCOM standalone. Isto significa que um software que se utiliza desta plataforma pode suportar extensões, temas, plugins, vários protocolos e diversas outras configurações que o Firefox e o Thunderbird suportam.

Exemplos de belos softwares desenvolvidos em XULRunner são o famoso Joost e o emergente Songbird.

Adobe AIR

Batizado inicialmente com o nome de Apollo, o AIR permite portar aplicações Flex, Flash e HTML/JS via engine WebKit (iniciada com o KHTML + modificações da Apple para o Safari + trabalho da comunidade) para o desktop.

O instalador possui 9mb e está disponível no site da Adobe. Uma vez instalado, é capaz de ler os arquivos “.air” das aplicações e instalá-los.

De exemplo, deixo o kuler, o Adobe Media Player e o Ebay Desktop

O ponto mais polêmico no uso do XULRunner ou do AIR é que para cada aplicação é instalada uma nova instância do XULRunner, enquanto que o AIR, é instalado somente uma vez. A principal desvantagem de se ter múltiplas instâncias é o uso de espaço em disco aumentado e a descentralização das atualizações da plataforma. No entanto, você não correria o risco de atualizar o pacote de execução e algumas das suas aplicações instaladas não serem mais compatíveis, o que representaria mais dor de cabeça para o desenvolvedor de cada aplicação.

tags {, , , }

2Out07 A importância do design

MonitorSei que para muitos vai ser bem estranho escutar de um programador que “design é tão importante no software tanto quanto o código”, mas isso é uma realidade para mim. O que eu digo não é baseado em teorias de livros, mas sim na prática do dia-a-dia e nas reuniões com os clientes. Já tive a oportunidade de ver e até participar de projetos que eram uma verdadeira gambiarra em forma de software, mas que por conta do design o cliente nem se dava conta dos vários bugs que existiam. Posso até estar sendo muito radical em dizer que o fluxo de informações na camada de interface (front-end) é na maioria das vezes mais importante que na camada de modelo e controle, mas é nessa realidade que a Milk-it vive atualmente.

É fácil observar várias empresas/projetos que estão crescendo de forma assustadora e que investem muito em design. Um grande exemplo é a Apple que monta computadores usando hardware normal, mas a forma como os monta os torna muito mais interessantes. O sistema operacional da Apple, Mac OS, se baseia na plataforma Unix (assim como o Linux) e faz uso do Cups e do Samba (e o Linux também), mas porque o Mac OS tem fama de ser mais fácil de operar que o Linux? Por conta do investimento da Apple no desenvolvimento de uma interface para se comunicar com tais softwares. Outro exemplo mais atual é o IBM Lotus Symphony, que é baseado no OpenOffice e está se tornando um sucesso tão rapidamente, entre outros motivos, por dispor de uma interface melhor que a do projeto de origem.

Estou levantando a bandeira do design, mas a minha praia é análise, gerência e programação. Apesar de não saber muita coisa sobre design, eu consegui enxergar o grande valor que um bom projeto de design pode agregar a um software. Não vou virar designer gráfico, de produto ou web, mas vou sempre valorizar e aprender cada vez mais sobre o assunto. Espero que este post possa fazer com que você reflita sobre como o design pode melhorar o seu software, ao invés de se preocupar somente com if, while, each, var, for, i++ ou achar que um software é bonito só porque ele funciona.

tags {, , , , , }