13
Off-Topic: gPhone!
on November 13, 2007
O mercado de telecom é horrível. Até o final de 2006 não havia grandes coisas a se considerar. O que havia de mais avançado? Uma versão recauchutada de Palm OS que se mantém quase o mesmo há uma década, um Windows Mobile com variáveis níveis de satisfação (nem sempre boas), um BlackBerry OS que é razoável mas nada para se empolgar e uma plataforma Symbian que, apesar de uma história derivada da Psion que eu particularmente gosto muito, tem diversos problemas para se desenvolver (como tratamento de exceptions). Isso sem contar a críptica sub-plataforma JME e o profile MIDP que é uma decepção para qualquer desenvolvedor.
Tudo bem, estou exagerando, nenhum deles é exatamente “ruim”, porém nenhum é empolgante. Apenas estão lá. Tanto faz qual modelo de aparelho, com qual OS eu pegar. Eu tive um dos primeiros PalmPilot (na época da US Robotics) e um dos primeiros Casiopeia (na época do Palm-size PC). Tive dezenas de “handhelds” e já desenvolvi tanto em .NET Compact Framework quanto J2ME . Em uma década, não vi nada que fosse importante mencionar. Eles se tornaram commodities, para a maioria, “não cheira nem fede”.
Finalmente, 2007 – o ano da virada – o excelente Apple iPhone é lançado. É a primeira vez que podemos nos empolgar novamente por um dispositivo. A Apple fez muito bem a lição de casa e isso lhe garantiu atingir os valores mais altos em suas ações e a vender já quase 2 milhões de dispositivos. Um número histórico. Não preciso detalhar, todos já conhecem exaustivamente essa história de sucesso.
Por outro lado é a primeira vez que um sistema operacional Unix completo, com todas as características de memória protegida, multi-tarefa preemptiva e aceleração gráfica em hardware chega a um aparelho tão pequeno e bem desenvolvido. O iPhone roda uma versão mais leve do mesmo Mac OS X Leopard que roda nos desktops e notebooks. E mais, utiliza o mesmo framework Cocoa e todas as tecnologias Core (Image, Audio, Animation, etc) que tornam o desenvolvimento em Objective C para Mac tão confortável.
Ou não? Polêmicas surgiram porque o iPhone era fechado para desenvolvimento. Jailbreaks, unlocks, e uma guerra entre a comunidade e a Apple teve início. Até fevereiro talvez tenhamos uma solução amigável para isso, quando a Apple deve lançar o SDK para desenvolvedores. Nessa ocasião, o melhor fone terá o melhor SDK … Será?
Evolução só se consegue com Concorrência. E essa concorrência veio na forma da única empresa no mundo hoje que poderia fazer isso: o Google. Todos esperávamos que ela lançasse um “gPhone”. Em vez disso ela anunciou uma parceria sem precedentes entre vários pesos pesados da indústria de tecnologia e de telebom para o lançamento de uma plataforma aberta que todos poderiam utilizar: Android. A Engadget tem os detalhes.
Android ainda é um protótipo. Não há nenhum aparelho no mercado capaz de rodá-lo. Ele busca muita inspiração no modus operandi dos iPhone, incluindo um perfil de utilização com telas touch-screen e aceleração gráfica com animações em 3D. Seu núcleo é uma versão customizada de GNU/Linux (yet another distro) com aplicações desenvolvidas especialmente para o estilo de uso de um Smartphone.
Seu SDK? Eclipse. Uma de suas linguagens? Java. Porém, não é o mesmo Java que usamos no desktop – oh não! A Apple não trouxe Java 6, o Google não trouxe Java 6!. É uma versão altamente customizada chamada Dalvik. O Java atual não é capaz de rodar adequadamente em hardwares menos potentes. JME é ruim demais para se considerar para um Smartphone da nova geração, com telas widescreen de alta densidade. A linguagem Java era desejável, mas não sua virtual machine. Logo, resolveu-se criar uma nova VM com um novo byte-code, incompatível com o antigo. O blog Crave tem os detalhes, mas essencialmente estão certos: é mais um novo padrão para se suportar e mais um desvio do conceito inicial de “Write once, Run anywhere” (isso não existe mais, na prática). Dadas as circunstâncias foi o melhor caminho a se tomar: “você não deve se curvar ao software, o software deve se curvar a você”, e o Google obviamente não quer se curvar :-)
De qualquer forma, a plataforma Android será um excelente catalisador para este mercado. Com certeza obrigará a Apple a andar mais depressa o que é excelente. Em um jogo é preciso pelo menos dois para começar. Não consigo imaginar ninguém melhor do que Apple e Google para participar desse jogo. Na minha opinião, a Apple ficará com o mercado premium – que prefere dispositivos mais elegantes e com melhor acabamento tanto de software quanto hardware – enquanto o Android pegará os usuários corporativos que precisam de software especial e o mercado de smartphone mais baratos que não se incomodqm tanto com um aparelho menos potente ou com hardware com menor qualidade. Basicamente, o mesmo perfil que existe hoje no mundo dos desktop.
Mas, ainda não existe nenhum aparelho que possamos comprar e usar, portanto qualquer opinião a respeito da qualidade e real usabilidade desse sistema ficará para o ano que vem. A plataforma Linux está se fragmentando mais, mas isso não é relevante: é preciso alguém de visão para direcionar o software num caminho claro, e o Google deve cumprir esse papel melhor do que ninguém. A fragmentação pode (e precisa) diminuir quando as comunidades de outras distros menores começarem a convergir ao redor do mais famoso, assim começa o processo de defragmentação tão necessária para criar uma experiência de usuário coerente e uma linha mais clara de desenvolvimento.





Eu acredito que tudo que o google toca vira fenomeno desenvolvimento para aplicativos moveis deve crescer muito sim. Principalmente depois da chegada da 3G no brasil que deve rolar no fim desse ano ainda com o leilão da anatel… Sem contar que aqui não temos muito acesso aos melhores aparelhos, oque ja é bem diferente no japao que ja esta entrando na 4G de telecom, e com essas tecnologias com certeza apareceram vario aparelhos sensasionais e acredito até que melhores que o IPHONE. Eu considero programacao para J2ME simplesmente inviavel de tao chato, a pouco tempo fiz algumas coisas em flash lite e achei bem interessante, e ja estao aparecendo aparelhos 100% flashlite tipo o LG Prada concorrente direto do iphone. Com flashlite da para fazer coisas como multitouch, coisa com apelo gráfico excelente, jogos, animacoes quase que com curva de aprendizado zero se comparado com java. Tem um suporte excelente a varios aparelhos que poder ser testado com um emulador muito mais profundo que o maldito que vem com webtoolkit do java que as veze nao mostra oque rola de verdade nos celulares, mas o flashlite perde em 3d. A adobe tem investido pesado no FlashLite.
Acho que o lance é ficar antenado na Adobe, Google e Apple no proximo ano.