- 28 de March de 2023
- Blog
Fuchsia e o futuro do desenvolvimento Android
Desde 2016, a Google vem investindo em seu novo sistema operacional: o Fuchsia. Sua primeira versão oficial foi lançada em 2021 e intrigou a comunidade Android: será o novo sistema operacional um substituto ao Android e ChromeOS? O que acontecerá ao desenvolvimento Android, tão difundido entre os desenvolvedores?
Por isso, viemos aqui esclarecer algumas dúvidas sobre esse novo projeto sendo desenvolvido pela Google em parceria com a comunidade!
O que é o Fuchsia?
Pode-se dizer que o Fuchsia é uma espécie de experimento da Google, pelo menos é o que é dito oficialmente. Trata-se de um esforço para criar um sistema operacional e um kernel inteiramente do zero!
Vídeo mostrando o Fuchsia sendo executado em um emulador fornecido pela Google
Ao invés de depender de uma opção já existente, como o Android e ChromeOS — que são baseados em uma versão do Linux Kernel —, o Fuchsia inclui em seu projeto uma implementação de uma espécie de mini-kernel chamado Zircon. Essa união entre sistema operacional e kernel é o que traz grande interesse à comunidade!
No entanto, também traz um dilema, tanto para Google quanto para comunidade: os aplicativos hoje são compilados para serem executados no Kernel de seus sistemas operacionais e, já que temos um kernel totalmente novo, os aplicativos precisariam passar por alguma forma de atualização para esse novo sistema.
O problema é que ninguém gostaria de comprar um novo aparelho que não tenha seus principais apps e os desenvolvedores não irão trabalhar em suporte para uma nova plataforma antes que ela se torne popular.
Compatibilidade provavelmente é a solução
Frente a esse “problema do ovo e a galinha”, parece que a solução adotada pela Google é trabalhar em compatibilidade entre as plataformas. Não seria agradável de nenhuma forma perder todo o crescimento e evolução do Android e do Linux por décadas, do ponto de vista do SO e do desenvolvedor.
Inicialmente, essa compatibilidade se baseou em rodar uma instância completa do Android como uma máquina virtual, para que os aplicativos pudessem ser emulados dentro do novo sistema operacional. Uma solução parecida com a usada pelo ChromeOS para oferecer os aplicativos Android em seu sistema.
O problema dessa solução é a clara perda de performance causado pela emulação. Por isso, recentemente, a Google vem trabalhando em uma solução chama Starnix.
O Starnix
Em julho de 2022, todo o código Fuchsia (device/google/fuchsia) dentro do AOSP (Android Open Source Project) foi removido e lá, deixado um solitário “TODO”, indicando que alguma nova ferramenta seria construída em seu lugar.
Essa ferramenta é o Starnix, que tem como objetivo fornecer uma camada de compatibilidade para os programas compilados para Linux e Android.
Essa camada tem a intenção de funcionar como o Wine (acrônimo para “Wine is not an emulator”). Ao invés de depender de emulação para fornecer aplicativos Android, o Starnix traduz as chamadas de sistema (syscalls) de um binário compilado para Android, para que ele possa ser entendido pelo outro ambiente, o Fuchsia.
starnix (android_binary.exe -> android_thread_syscall()) -> fuchsia_thread_syscall()
Portanto, a Google tem a intenção de tornar os aplicativos Android compatíveis com o novo sistema operacional. De acordo com o site 9to5Google, que vem acompanhando o avanço do Fuchsia desde 2017, existem tarefas no roadmap do Fuchsia para melhor gerenciar o processo de init do Android. Além disso, também há tarefas para “lançar e rodar o aplicativo de relógio” no novo sistema.
Conclusão
Analisando todas essas informações, parece claro que o time do Google Fuchsia tem a intenção de usar o sistema operacional além dos aparelhos atuais. Já existem aparelhos no mercado, como o Pixelbook e o Google Nest (Google Home), usando o sistema. Mas, com os avanços para tornar o Fuchsia um sistema operacional de propósito geral com suporte a aplicativos Android, teremos que esperar o futuro para saber a quais aparelhos a Google ainda pretende integrá-lo.

Arquitetura do Fuchsia: um sistema operacional apenas para aparelhos smart home?
Por enquanto, podemos apenas fazer algumas inferências sobre o projeto:
- A Google não tem intenção de perder todo o ecossistema de desenvolvimento Android construído por anos com a comunidade, visto os esforços para tornar os aplicativos Android compatíveis;
- Entretanto, a Google sabe que não pode depender de aplicativos Android para sempre. A empresa vem investindo em Bootcamps e treinamentos para o novo sistema. Além disso, aplicativos como o Chrome já foram adaptados para suporte ao Fuchsia;
- O projeto não parece estar sendo desenvolvido para se limitar aos aparelhos smart para casa da Google. Mas também não parece que veremos tão cedo o novo sistema alcançar a maturidade suficiente para atender a todo o mercado.
Um último ponto que gostaria de destacar é o impacto das demissões em massa sobre o projeto do Fuchsia. Como sabemos, diversas Big Techs tiveram grandes lay-offs no começo desse ano e a Google não é exceção. Por hora, parece que o corte não teve um impacto grande no projeto Fuchsia em específico.
Contudo, se, depois de ler tudo isso, você está com medo de ter todo o seu conhecimento de desenvolvedor Android dissolvido com o surgimento de um novo sistema operacional, deixo aqui um link que acompanha o longo cemitério de projetos encerrados (descontinuados, mortos, enterrados) pela empresa: https://killedbygoogle.com/
*Este texto foi escrito em conjunto com Marcos Scarpim, nosso Head de Mobile!