O Google anunciou suporte a mais uma linguagem no App Engine. Depois de Python e Java, agora é a vez de Go, uma linguagem open source criada e utilizada pelo Google. O App Engine, a plataforma de cloud computing do Google para desenvolvimento e hospedagem de aplicativos, foi inicialmente disponibilizada com suporte à linguagem Python. Em 2009, passou a suportar Java e agora disponibiliza o kit de desenvolvimento (SDK) para a linguagem Go.
O anúncio feito na semana passada, durante o Google I/O 2011, demonstra o interesse do Google em expandir o uso da linguagem. O suporte a Go, por enquanto, é experimental: embora seja possível realizar o download do SDK e desenvolver utilizando a linguagem, não será possível ainda implantar um projeto desenvolvido em Go no App Engine.
Para os desenvolvedores mais ansiosos, o Google disponibilizou um formulário de inscrição para testadores, com objetivo de aumentar o feedback do uso e agilizar as correções de bugs. Segundo o equipe do Go, o SDK é "auto-suficiente", ou seja, não é necessária nenhuma instalação prévia do Go, o que torna mais simples o uso da linguagem.
No SDK do Go, é possível encontrar várias APIs comuns nos ambientes Java e Python, como por exemplo Datastore, Blobstore, URL Fetch, Mail e Users. O ambiente suporta todas as funcionalidades da linguagem Go e a maioria das suas bibliotecas. As exceções são as APIs que não fazem sentido dentro do ambiente do App Engine. Um exemplo de API não suportada é o pacote unsafe, que permite a inclusão de operações que violam a tipagem do sistema. Além disso, apesar de suportarem channels e goroutine (funcionalidades para concorrência), aplicativos Go no App Engine são capazes de processar apenas uma thread por instância.
Foi ainda criado um grupo de discussão, o google-appengine-go, para as pessoas interessadas na evolução do Go dentro do App Engine. Também está disponível a documentação da SDK com um guia introdutório para desenvolvedores experimentarem o uso do Go. Para conhecer as melhores práticas no uso da linguagem, o guia Effective Go é uma excelente referência e a especificação permite conhecer cada detalhe da linguagem.