Google App Inventor: A Programação Visual para Equipamentos Móveis Ganha um Reforço de Peso


Em fevereiro de 2010, revisamos algumas ferramentas de programação com ênfase na facilidade de uso, baseadas em um paradigma visual. Entre as ferramentas, destacamos o Scratch, desenvolvido pelo MIT. Na época destacamos o quanto estas ferramentas são importantes, tanto para atrair novos desenvolvedores para o mercado de trabalho, como também para permitir um novo enfoque no desenvolvimento de aplicações, mais visual e interativo.

Ontem, o Google anunciou uma nova ferramenta focada em programação visual para o Android. O Google App Inventor é um ambiente de programação visual, que se baseia no Open Blocks, que por sua vez se baseia no Scratch (lembra dele?). Ambos projetos são do MIT, que (curiosamente) já esteve envolvido em uma das primeiras tentativas de criar ferramentas para tornar o ensino de programação acessível – a linguagem Logo.

Este tipo de desenvolvimento não gera a mesma curiosidade ou tráfego que a última mudança de termo de uso do Facebook, mas tem um potencial de longo prazo fantástico. Nos anos 80 a linguagem Basic foi fundamental para introduzir muita gente aos computadores pessoais. Hoje em dia, o PHP faz basicamente a mesma coisa pela Web. A programação para celulares ainda é complicada, exigindo um certo aprendizado mínimo, que vai desde a instalação de um ambiente de desenvolvimento cruzado complexo até processos e regras para gerar pacotes e colocar em um “store” para download. É interessante também que o Google tenha escolhido um caminho mais formal para desenvolver o App Inventor, trabalhando com universidades conhecidas (o MIT) e com um processo de amadurecimento de um ano junto às escolas até chegar ao anúncio.

E como funciona?

Apesar de ainda ser um beta fechado (preenchemos o registro e vamos aguardar pela liberação), com base no Scratch e na documentação disponível dá para imaginar como a coisa funciona. O ambiente se baseia em dois componentes fundamentais: a “linguagem” Open Blocks, e o IDE integrado.

O Open Blocks é um tipo de linguagem visual interessante, que representa construções de bloco comuns (if, when, etc.) como “peças” encaixáveis. Para quem já programa, é como se em vez de indentar o código, você “desenhasse” o mesmo com peças encaixáveis. O formato de quebra-cabeças torna o processo mais lúdico e ajuda a conduzir o iniciante, no sentido de entender quando e como usar cada tipo de construção.

nextWithLength Google App Inventor: A Programação Visual para Equipamentos Móveis Ganha um Reforço de Peso

Já o IDE parece inicialmente comum, mas é na verdade um componente essencial da estratégia. O App Inventor oferece recursos para todo o ciclo de desenvolvimento, desde o desenho inicial até o empacotamento para distribuição. Além disso ele permite que a aplicação seja construída “ao vivo”, com o celular conectado. Ou seja – em vez de testar a aplicação em um emulador, o próprio aparelho faz parte do desenvolvimento.

Basic, PHP, e… App Inventor?

Assim como o Basic nos anos 80/90 e o PHP nos anos 2000, o Google App Inventor parece posicionado para ocupar um espaço importante: permitir que iniciantes, principalmente crianças e adolescentes, tenham contato com a programação. Muita gente boa começou a carreira de forma despretensiosa digitando programas copiados de revistas ou colados de páginas Web. Existe um espaço aberto para uma ferramenta que torne a programação para dispositivos móveis mais acessível. No entanto, é bom lembrar que ao longo da história outros projetos tentaram ocupar este espaço, e que nem o Basic e nem PHP carregam tanta bagagem de teoria ou recomendação acadêmica. Ferramentas excelentes na teoria nem sempre dão bons resultados práticos.

O curioso disso tudo é que o App Inventor nem precisa ser um líder de mercado para ser bem sucedido. Basta que um ou outro garoto aprenda a programar por meio dele – e depois venha a mudar o mundo, como tantos outros fizeram antes. Afinal, Mark Zuckerberg começou programando em PHP, não é verdade?