Há anos eu venho falando sobre a
convergência entre a telefonia e a computação desktop. Hoje em dia,
cada vez mais empresas anunciam pequenos dispositivos (“netbooks”)
que rodam o Android — e não estamos falando de telefones. Será o
começo de uma nova revolução? Ou não?
O que é o Android? Uma resposta rápida seria “um framework formado
pelo kernel do Linux, um rico conjunto de bibliotecas e ferramentas
e uma máquina virtual Dalvik”. A máquina virtual Dalvik pode ser
encarada como uma Máquina Virtual Java (Java VM) altamente otimizada
(a definição não é formalmente correta, mas serve para este artigo).
Não é a primeira vez que alguém tenta combinar Linux e Java para
criar um ambiente de desktop alternativo e paradisíaco. A Sun tentou
algo parecido alguns anos atrás: chamava-se “Sun Java Desktop”. Saiu
uma análise “interessante” sobre ele no Linux.com e sobre o suporte
oferecido. Mas o SJD chegou ao fim da linha. Não deu certo.
A próxima tentativa de trazer o GNU/Linux para o desktop está sendo
realizada pelo Ubuntu, que sem dúvida causou impacto no mundo
GNU/Linux. Só que o Ubuntu parece ter trazido o GNU/Linux para o
desktop de muitas pessoas que já eram usuárias do GNU/Linux, e não
conquistou fatias extras do mercado de desktops. Apesar de minhas
esperanças e desejos, no momento parece pouco provável que o Ubuntu
vá conseguir afanar uma fatia expressiva do mercado do OS X e do
Windows. Isso até está acontecendo, mas é um processo muito lento,
talvez lento demais. E eu quero viver para ver o GNU/Linux rodando
na maioria dos computadores!
E o Android?
Mas Tony, você não amava o Ubuntu?
Sim, e com certeza ainda amo; acho que o Ubuntu é uma distribuição
GNU/Linux absolutamente fantástica. Mas acho que sua maior
desvantagem é ser derivado de um sistema voltado para servidores. Os
usuários precisam usar o apt-get para instalar aplicativos (pelo
terminal ou por meio de uma interface de usuário caprichada). Há
problemas com bibliotecas e dependências, e não há uma separação
muito clara entre os aplicativos para usuários finais, as
bibliotecas de suporte e as bibliotecas de sistema. Compare ao OS X,
que na minha opinião é um sistema operacional para desktops feito da
maneira certa: um aplicativo é um conjunto de arquivos independente;
para copiar o Firefox, você faz o que era de se esperar: arrasta-o
para um memory stick, e lá está ele. Aplicativos binários antigos
rodam numa boa em versões mais recentes do OS X. Quando instalei o
OpenOffice 3.1 no meu Ubuntu Intrepid Ibex, percebi que essa coisa
de servidor é forte demais no Ubuntu, e que o OS X acertou.
E o concorrente de hoje é…
Vamos avançar alguns anos: O Google, após algumas derrapadas
(OpenSocial? Google Answers? Google Checkout?) saiu-se com algo que
tem chances reais de mudar o mundo para valer: um sistema totalmente
aberto e client-side (que roda no cliente) baseado no GNU/Linux.
As pessoas já vêm usando aplicativos do Android há um ano. Há uma
loja de aplicativos plenamente operacional, onde vários aplicativos
estão disponíveis gratuitamente como software livre. O Android tem
uma forte separação entre os aplicativos para usuários finais e o
ambiente operacional, e seus aplicativos podem rodar em qualquer
telefone com o Android sem que seja preciso recompilar nada.
O mais interessante é que os fabricantes de hardware estão fazendo
(ou pensando em fazer) pequenos laptops que virão com o Android, e
não com o Windows XP (!) ou com o Ubuntu. Isso ainda não aconteceu,
mas estamos todos na expectativa.
Além disso, os desenvolvedores do Ubuntu estão debatendo sobre qual
seria a melhor maneira possível de integrar os aplicativos do
Android ao Ubuntu. Isso praticamente confirma o fato de que, para
eles, o Android será a “próxima onda” do mundo da computação
client-side. Escreva uma vez, rode em qualquer lugar — e desta vez é
para valer.
Certo?
Engatinhando…
Eu não sei. Primeiro era a “computação em rede”. Depois, o Java.
Agora é o Android. Por mais que o Android possa ser considerado
maduro no que diz respeito a um ambiente para telefones, se usado em
um laptop, será que vai reconhecer o scanner e a impressora? Vai
reconhecer uma webcam externa? O OpenOffice vai rodar nele? E um
monitor extra? Vamos poder criar aplicativos para o Android em
Python ou Ruby? Esses são só alguns exemplos. Outras distribuições
para desktop passaram anos tentando resolver algumas dessas
questões. A ideia de ter o Ubuntu como sistema operacional básico e
o framework do Android para rodar os aplicativos me parece
interessante. O Ubuntu vem fazendo grandes progressos. A parte de
servidor dessa história pode ser gerenciada pelo Ubuntu e pela
Canonical, enquanto o Android sozinho poderia cuidas dos aplicativos
para usuários finais. Mas essa é só uma ideia, mais uma de um autor
aleatório tentando prever o futuro.
Para que isso “funcione” em um ambiente de laptop, os aplicativos do
Android devem rodar como janelas normais no Gerenciador de Janelas,
e deve haver pelo menos alguma liberdade em termos da linguagem
usada para escrever esses aplicativos. Ficar preso exclusivamente ao
Java me parece uma insanidade. Esses são os dois maiores problemas,
mas com certeza há outros. E infelizmente, tenho certeza de que logo
logo (talvez em alguns anos) outro concorrente vai aparecer. E ele
vai parecer igualmente promissor.
E mais uma vez, a fatia do mundo da computação que tenta
desesperadamente se apoderar da dominância da Microsoft está
fragmentada, competindo e precisando desesperadamente de direção.
Veremos.
Android 1.0 rodando em um HTC
G1 da operadora T-Mobile
Créditos a Tony Mobily –
freesoftwaremagazine.com
Tradução por Roberto Bechtlufft <robertobech at gmail.com>