sábado, 29 de agosto de 2009

Perspectivas do Desenvolvimento para Dispositivos Móveis

Acredito ser uma das tendências mais fortes dos últimos tempos, no que diz respeito ao desenvolvimento de novas tecnologias, a distribuição e compartilhamento de software na modalidade livre[1]. Porém, o nicho de sistemas embarcados -- atualmente a cereja do bolo do universo das TICs -- tem se mantido há bastante tempo à margem disto, fora algumas iniciativas isoladas. No mundo dos dispositivos móveis ainda não existe (e talvez nunca existirá) uma plataforma ou arquitetura padrão como no caso dos PCs onde temos a ix86, padrão lançado pela IBM com o IBM PC. Cada fabricante de mobile investe em plataformas próprias e que na imensa maioria dos casos é muito fechada. Em outras palavras, existem uma infinidade de arquiteturas e plataformas, cada uma com especificidades e características diferentes, numa quantidade tamanha que inviabiliza o desenvolvimento multiplataforma para dispositivos móveis. Até mesmo o onipresente Java ME apresenta inúmeros sabores em suas diferentes implementações para o dessabor dos desenvolvedores.

Então o Google lançou o projeto Android. As notícias que temos ouvido a respeito remontam que cada dia mais e mais fabricantes de aparelhos tem lançado modelos com o Android instalado. Até mesmo tem se falado em netbooks que poderão vir com o SO da gigante das buscas. Isto aponta para uma possível padronização em termos de ambiente operacional, que já representa um grande avanço do ponto de vista dos desenvolvedores que não terão que se preocupar tanto com a configuração de cada aparelho. Uma das principais características do Android é o fato do mesmo se tratar de um software livre, e deste modo os fontes estão disponíveis para as empresas fabricantes poderem agregarem contribuições e até mesmo criar suas próprias distribuições do Android focadas em seus modelos. Hoje ainda são poucos os modelos que saem de fábrica com o Android instalado. São modelos da HTC. Mas já há vários rumores na Internet que a Motorola que, segundo estes mesmos rumores, realizou investimentos errados no passado e por isso não teria um SO a altura dos seus concorrentes e por isso está trabalhando pesado sobre o Android. Já existem também alguns modelos "ching-lings" (aparelhos de fabricantes asiáticas) sendo ofertados no mercado livre com o Android.

Para não perder o trem da história, a Nokia resolveu investir pesadamente em Linux com os projetos Maemo[2] e movimentar o mundo Symbian acenando com a aquisição da totalidade dos direitos de propriedade, a abertura dos fontes do SO para smartphones mais popular em todo o mundo, e ainda investimentos na comunidade de desenvolvedores com a iniciativa do fórum da Nokia[3], onde são disponibilizados vários conteúdos e documentações especializadas. Com isto, ela espera aumentar a quantidade de colaboradores voluntários e de desenvolvedores criando mais e mais produtos projetados para sua plataforma. Há quem diga que num futuro muito próximo, os modelos de ponta da Nókia deverão vir equipados com Linux e os modelos mais simples serão equipados com o Symbian. Como indício disto, temos que o modelo mais recente da linha de internet tablets da Nokia - o N900, que vem com o Maemo -, conta com um modem 3G, ou seja, pode ser usado para realizar chamadas, diferentemente dos seus antecessores N800 e N810.

Ambas as plataformas citadas acima estão alinhadas com a filosofia de software livre, logo possibilitam que desenvolvedores possam mais facilmente interagir com os dispositivos e criar aplicações conferindo mais e mais funcionalidades. As empresas fomentam grupos de desenvolvedores voluntários que trabalham colaborativamente e disponibilizam muita documentação na internet. Do outro lado da moeda temos as plataformas fechadas: BlackBerry, WindowsMobile, Palm e, não poderíamos deixar de citar o iPhone. Seus fontes não estão disponíveis para ninguém. Não é possível que um fabricante de aparelhos possa criar extensões a fim de adequar a seus modelos no caso do WindowsMobile, e no caso das plataformas BlackBerry, Palm e iPhone tratam-se de plataformas privativas exclusivas.

Os desenvolvedores que desejam desenvolver para estas plataformas são obrigados a adquirirem licenças de uso de software privativos. O SDK para desenvolvimento para iPhone, por exemplo, só roda sob o MAC/OS. Em outras palavras, esses desenvolvedores e suas soluções ficarão totalmente nas mãos dos fornecedores destas plataformas. Mas o leitor pode indagar: "Mas o iPhone tem dado muito dinheiro com a AppStore". É verdade. Mas a que preço? No fim das contas essa briga trata-se da continuação da guerra entre a catedral e o bazar, enfatizada por Raymond[4]. Para finalizar minha fala, defendo que desenvolvedores profissionais não devem se dar ao luxo de dizer "Com essa plataforma eu não trabalho!", pois plataforma boa é aquela que paga o nosso salário. Mas pessoalmente, não tenho muita paciência para ficar dando "crudle".

Referências

[1] http://www.fsf.org
[2] http://maemo.org
[3] http://www.forum.nokia.com
[4] http://www.dominiopublico.gov.br/pesquisa/DetalheObraForm.do?select_action=&co_obra=8679