Conhecendo o Cappuccino - Parte 1
November 7th, 2008O que é o Cappuccino
É um framework open source que permite o desenvolvimento de aplicações web semelhantes aos aplicativos de desktop.
O que o Cappuccino é capaz de desenvolver
O 280slides.com é o exemplo mais famoso de um aplicativo desenvolvido pelo Cappuccino. Chama de Keynote da web. Qualquer um que já usou o tão aclamado pela crítica Keynote, da Apple, ou o famigerado PowerPoint conseguirá criar apresentações rapidamente apresentações elegantes usando nada mais do que o browser.
Algumas funcionalidades não foram adicionadas em favor da simplicidade. E quem utiliza o 280slides.com num Mac Os X esquece que está trabalhando num browser.
Quem criou o Cappuccino
O Cappuccino foi criado por dois caras que que já trabalharam na Apple, chamados Francisco Tolmasky e Ross Boucher. O Francisco Tolmasky trabalhava desenvolvendo aplicativos para o iPhone e o Ross Boucher trabalhava no back-end do iTunes.
O desenvolvimento com o Cappuccino
Para desenvolver o Cappuccino é preciso entender o ObjectiveJ ,que foi modelado depois do ObjectiveC. Ou seja, o desenvolvedor não precisa se preocupar com JavaScript, CSS, HTML, Ajax, corss-browser. Basta entender o ObjectiveJ, que o Cappuccino toma conta do resto.
O ObjectiveJ é interpretado totalmente no browser, isso significa que é possível também usar Javascript durante a codificação. Não é necessário nenhum plugin, nem de nenhum serviço rodando no servidor.
O que o pessoal desenvolveu foi um interpretador de ObjectiveJ que transforma todo o código em Javascript, e em seguida o interpreta.
O Cappuccino é uma reimplementação do Cocoa, só que em ObjectiveJ. Isso significa que os desenvolvedores de familiarizados com o desenvolvimento de aplicativos para desktop podem agora desenvolver aplicativos ricos para a web, com a mesma facilidade encontrada no Cocoa.
Os criadores do Cappuccino trabalhavam com desenvolvimento de aplicativos para desktop, por isso eles tem o conhecimento de quão complicado é desenvolver aplicativos para a web. Por isso o Cappuccino foca na arquitetura da aplicação, permitindo o desenvolvimento de funcionalidades como copiar e colar, abrir e salvar documentos etc. Além de tudo isso, ele tem um ótimo suporte a gráficos.
O objetivo maior do cappuccino é ser um framework onde o desenvolvedor não precise se preocupar com os detalhes da implementação, significando que se no futuro todos os browser implementarem o SVG, e o a equipe que desenvolve o Cappuccino decidir que ele deve dar suporte a SVG, derrepente todos os aplicativos em Cappuccino estarão dando suporte a SVG.
O Cappuccino funciona no Safari, Internet Explorer, Opera e browsers baseados no Mozilla, como o Firefox, por exemplo. E pela natureza dos browsers, ele funciona em Windows, Mac e Linux.
Existe alguns problemas de compatibilidade com o Internet Explorer 6. Nessa versão do browser da Microsoft, existe um problema com a transparência das imagens no formato PNG. Apesar disso a equipe de desenvolvimento do framework trabalham pesado para que o programador não precise se preocupar com os detalhes específicos de cada browser.
Contras do Cappuccino
Essa altenativa também tem seu lado negativo: os desenvolvedor que não estão acostumados com Cocoa trilharão um longo caminho para o aprendizado dessa linguagem e para se acostumar com a ’sintaxe de troca de mensagens. Além disso o ObjectiveJ tem que ser transformado em JavaScript puro para poder ser interpretado, o que leva a uma certa lentidão na página inicial. Para solucionar o problema da lentidão inicial, existe uma ferramenta que preprocessa o ObjectiveJ, evitando aquela sobrecarga inicial,
Pros do Cappuccino
Existem vantagens em se trabalhar com um processador no lado do cliente. Os desenvolvedores podem trabalhar com ciclos rapidos de desenvolvimento “Altera o código, recarrega a tela e vê a mudança”. Comparando com as linguagens que precisam ser compiladas, o desenvolvimento usando uma linguagem que tem o processamento on the fly se torna muito mais rápido, especialmente quando se trabalha pesado com interface de usuário. Com o ObjectiveJ é só apontar o browser para o arquivo index.html e ver a aplicação rodar.