Foi na semana passada que uma notícia agitou a internet: a partir de agosto, a Google irá obrigar novos programadores a desenvolver aplicações baseadas no Android App Bundler (AAB), fugindo do sistema APK. Mas o que é um APK? Pois bem, isto torna-se fundamental para se compreender o que a Google pretende e quais as suas implicações.
APK?
Os ficheiros APK fazem parte do universo Android desde os tempos da Android Market. O que este ficheiro tem, na verdade, é todo um conjunto de códigos a respeito da sua aplicação, quer de funcionalidades, quer no que toca a segurança. O APK tem, como tal, a sua assinatura própria por forma a que o sistema identifique se a aplicação está, ou não, instalada. Isto, apesar de parecer básico, ajuda no momento de se atualizar a aplicação recorrendo a lojas externas. Isto é: posso instalar a aplicação por meio da Play Store para, mais tarde, descarregar uma atualização pela Galaxy Store, por exemplo. Isto é possível pela assinatura que é a mesma e está no controlo do programador. Mas, se a atualização vier de uma loja que não seja de confiança, o processo pode falhar por conta desta mesma chave e que dá ao utilizador a informação de que algo não bate certo.
O que é o App Bundles?
Apesar de se pensar, pelas notícias, que os APK vão desaparecer, isso é errado. Aquilo que existe é um complemento do App Bundle na hora de ajudar um programador a desenvolver e a disponibilizar uma aplicação. Estes “pacotes” vão desde aos diferentes tipos e tamanhos de ecrãs, idiomas, sons, imagens, aspetos de visualização, entre outros componentes que fazem parte de uma aplicação e diferem do código presente num APK. Assim, da mesma forma que existem centenas de dispositivos Android, é necessários aos programadores desenvolverem diferentes tipos de APKs da mesma aplicação e que vá de encontro às diversas especificações existentes no mercado/população.
Como devem imaginar, tudo isto numa única aplicação ocupa espaço e faz com que diversos recursos sejam descarregados desnecessariamente para os nossos smartphones. Exemplo: porque me interessa ter uma aplicação a descarregar um idioma russo ou chinês? Porque não descarregar só o que irei utilizar? É isto que este App Bundle visa resolver, em que os programadores poderão fazer upload direto para a Play Store destes diferentes “módulos de APK” para que se tenha em conta cada aspeto do dispositivo do utilizador. A imagem em baixo ajuda a perceber este ponto (a Dynamic Delivery – Entrega Dinâmica):
A Google, após o programador introduzir os diferentes pacotes que fazem parte da aplicação, entrega ao utilizador aquilo que este necessita. Isto traduz-se em downloads mais rápidos e menores em tamanho. Isto também acaba por reduzir a pirataria, já que um utilizador nunca terá acesso à totalidade da aplicação, mas, por outro lado, torna tudo muito mais seguro.
Outra grande mudança
Esta segurança vem de uma nova alteração: enquanto antigamente (para novas aplicações a partir de agosto, ou para programadores que queiram já mudar para esta forma de desenvolver) eram os programadores detentores das chaves de autenticação de cada download feito, agora passa a ser a Google a ter acesso e a guardar estas chaves de validação específicas.
Isto, por si só, parece bom. Mas, se nos lembrarmos do que significa o Android para muitos, ficamos conscientes de que como é a Google a guardar estas chaves na Play Store, muito em breve as coisas poderão tornar-se duras para as lojas alternativas. Como não têm acesso a estas chaves de validação, a Google parece estar a seguir o caminho da Apple no que toca a um universo e ecossistema seguro e restrito (por meio da sua validação).
Numa altura onde a própria Microsoft anunciou que, no seu Windows 11, o sistema iria suportar aplicações com base no formato APK por meio da loja da Amazon (uma loja terceira), esta alteração da Google poderá trazer, a longo prazo, alterações na forma de como esta “funcionalidade” funciona.
A Google, consciente deste murmúrio crescente por parte da insegurança dos programadores no futuro das suas aplicações, começa a procurar alternativas. O certo é que esta mudança veio para ficar (foi anunciada o ano passado) e, quer ela seja amada ou odiada, poderá provocar mudanças interessantes na forma como o Android é visto e, em última instância, funciona.