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.

Exemplo de Código Open Blocks

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?

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

  1. Não disse _exatamente_ que PHP é para crianças e adolescentes aprenderem a programar – disse apenas que a linguagem ocupa um espaço importante para um primeiro contato com a programação. E isso é muito fácil de verificar. Em qualquer fórum de PHP (e há vários na Web) a quantidade de adolescentes é impressionante. Em processos de seleção recentes (eu faço isso de tempos em tempos) peguei muitos currículos de candidatos com 18 ou 19 anos, a maioria dos quais aprendeu a programar aos 13, 14 anos – e que com 19 anos já tem cinco ou mais anos de experiência. E isso não tem nada a ver com méritos da linguagem, e nem com a qualidade dos programas escritos.

    Veja que muitos desses programadores PHP adolescentes levam a sério a profissão depois e vão aprender outras linguagens. A moda hoje é Ruby, mas pode ser Python ou Java. Aliás, o “preconceito” com PHP é muito parecido com o que afetava os programadores Basic há 20 anos atrás. Muitos deles aprenderam outras linguagens depois, e se tornaram excelentes profissionais. Essas pessoas só puderam ter um contato inicial porque a informalidade do ambiente – antes Basic, hoje PHP – permitia esse tipo de exploração casual. Existe uma lacuna para este tipo de ferramenta, para uso em aplicações móveis. Se não for o App Inventor, terá que surgir alguma outra coisa – e não acho que seja alguma variação do Eclipse ou framework Java que irá atender a essa necessidade (por melhor que seja!).

  2. Não disse _exatamente_ que PHP é para crianças e adolescentes aprenderem a programar – disse apenas que a linguagem ocupa um espaço importante para um primeiro contato com a programação. E isso é muito fácil de verificar. Em qualquer fórum de PHP (e há vários na Web) a quantidade de adolescentes é impressionante. Em processos de seleção recentes (eu faço isso de tempos em tempos) peguei muitos currículos de candidatos com 18 ou 19 anos, a maioria dos quais aprendeu a programar aos 13, 14 anos – e que com 19 anos já tem cinco ou mais anos de experiência. E isso não tem nada a ver com méritos da linguagem, e nem com a qualidade dos programas escritos.

    Veja que muitos desses programadores PHP adolescentes levam a sério a profissão depois e vão aprender outras linguagens. A moda hoje é Ruby, mas pode ser Python ou Java. Aliás, o “preconceito” com PHP é muito parecido com o que afetava os programadores Basic há 20 anos atrás. Muitos deles aprenderam outras linguagens depois, e se tornaram excelentes profissionais. Essas pessoas só puderam ter um contato inicial porque a informalidade do ambiente – antes Basic, hoje PHP – permitia esse tipo de exploração casual. Existe uma lacuna para este tipo de ferramenta, para uso em aplicações móveis. Se não for o App Inventor, terá que surgir alguma outra coisa – e não acho que seja alguma variação do Eclipse ou framework Java que irá atender a essa necessidade (por melhor que seja!).

  3. A única ressalva que eu faço é o fato da plataforma ser dirigida para Andróide que ainda não está tão difundida assim para Smart Phones e Celulares.

    Mas é uma iniciativa interessante por justamente estimular o primeiro contato com lógica e conceitos de programação. Eu me interessei por programação usando o Basic numa calculadora “modernonsa” do meu irmão – nos idos dos anos 84 e concordo com o Carlos que há uma lacuna grande a ser explorada para a programação para Celulares deslanchar de vez.

  4. A única ressalva que eu faço é o fato da plataforma ser dirigida para Andróide que ainda não está tão difundida assim para Smart Phones e Celulares.

    Mas é uma iniciativa interessante por justamente estimular o primeiro contato com lógica e conceitos de programação. Eu me interessei por programação usando o Basic numa calculadora “modernonsa” do meu irmão – nos idos dos anos 84 e concordo com o Carlos que há uma lacuna grande a ser explorada para a programação para Celulares deslanchar de vez.

  5. Marcelo, Android ainda não é tão difundido hoje mais vai ser, dificilmente não vai ser padrão com tantas empresas fortes envolvidas no projeto, hoje já os principais smarts da Motorola, HTC e Sansung já são android. O sistema é muito bom, a gama de softwares já é muito superior ao windows mobile, Symbiam e acredito que do I-phone também, e ainda esta crescendo, as atualizações são constantes e o produto esta melhor a cada dia. A google não é boba, ela sabe que a principal diferença de uma plataforma para outra é a quantidade de softwares disponíveis, e facilitando o desenvolvimento vai chover softwares, ta certo, 99% deles vão ser bobinhos e inúteis, mas vai sempre surgir uma jóia no meio valorizando ainda mais o sistema dela.

  6. Marcelo, Android ainda não é tão difundido hoje mais vai ser, dificilmente não vai ser padrão com tantas empresas fortes envolvidas no projeto, hoje já os principais smarts da Motorola, HTC e Sansung já são android. O sistema é muito bom, a gama de softwares já é muito superior ao windows mobile, Symbiam e acredito que do I-phone também, e ainda esta crescendo, as atualizações são constantes e o produto esta melhor a cada dia. A google não é boba, ela sabe que a principal diferença de uma plataforma para outra é a quantidade de softwares disponíveis, e facilitando o desenvolvimento vai chover softwares, ta certo, 99% deles vão ser bobinhos e inúteis, mas vai sempre surgir uma jóia no meio valorizando ainda mais o sistema dela.

Deixe uma resposta para Tales Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *