7 de novembro de 2012

Ótimas novidades no Titanium 3.0!

Pela primeira vez a Appcelerator sincronizou as versões do seu SDK e da sua IDE - o Titanium Studio. Ambos estão agora na versão 3.0 beta. As novidades estão bem interessantes, embora algumas fossem esperadas há bastante tempo.

ActionBar e novos temas no Android

Uma das mudanças que mais me agradou foi não precisarmos mais compilar as apps usando a API 8 do Android (2.2). Por causa disso não era possível usar recursos nativos dos SDK's mais recentes como o popular elemento de UI ActionBar e os novos temas Holo Light e Holo Dark, recursos disponíveis a partir da API 14 (4.0).

Agora, no TiApp.xml, podemos definir a API que queremos usar na compilação, incluindo as mais recentes. O melhor é que, graças à graceful degradation implementada no Android, apps compiladas com as API's mais recentes também podem ser executadas em versões anteriores. Isso significa que sua app pode rodar num Android 4.1 usando ActionBar e um dos belos temas Holo, e ao mesmo tempo rodar num Android 2.2, sem ActionBar, com o antigo e deprecado menu acionado pelo botão físico fazendo seu papel.

É uma pena que a ActionBar nativa ainda não seja integralmente suportada pelo Titanium. Por enquanto, não há como definir filtros, fazer busca ou ter o botão "up" (que, para muitos casos, substitui o "back" acionado pelo botão físico). Apesar de usar a ActionBar nativa dar uma aparência muito atraente às apps, ainda precisarei continuar usando a minha própria ActionBar feita em Titanium - não tão bonita, mas com todos os recursos que preciso. Porém, é certo que isso vai mudar em breve.

Debug no device (yeah!)

Embora o debug em devices iOS seja uma novidade muito boa, fiquei feliz mesmo com o debug para devices Android. Você já deve saber que o emulador Android é muuuuuuuuuito leeeeeeeeeento, mas era a única alternativa que permitia o debug usando breakpoint, step into, over, variables, expressions etc. No device, nada disso era possível. Era. Com a nova versão do Titanium, finalmente podemos fazer debug no device. Já testei e realmente funciona!

Outras novidades

Há algumas outras novidades interessantes nessa nova versão do Titanium, como a integração do Studio com o Alloy Framework e o novo ferramental de linha de comando baseado em Node.js. Mas as novidades que realmente me agradaram foram as que mencionei anteriormente.

Testando novidades sem perder a estabilidade

Apenas para lembrar, o SDK 3.0 e o Titanium Studio 3.0 ainda estão em beta e não são recomendados para o uso em produção. Se você gosta de testar logo as novidades, mas não quer correr o risco de desestabilizar seu ambiente de desenvolvimento, minha dica é manter duas instalações do TiStudio - uma configurada para receber apenas os updates estáveis (o padrão) e outra configurada para receber os updates beta. É o que tenho feito desde que um beta bugado me fez perder um dia inteiro de trabalho.

Sobre o suporte da Appcelerator ao Android

Todo mundo sabe que a Appcelerator é muito mais ágil em suportar os novos recursos do iOS que do Android. O iOS 6, por exemplo, foi suportado oficialmente logo após seu lançamento. E mal saiu o iOS 6.0.1, já temos um release preliminar do SDK preparada para ele.

Mas quando se trata de Android, a história é bem diferente. Só agora recursos disponíveis a partir do Android 3.0 (lançado em meados de 2011) começaram a poder ser usados pelas apps feitas em Titanium. E olha que já estamos no Android 4.1 e com o 4.2 a caminho.

Em parte, isso se deve ao ritmo alucinado da Google de lançar versões do Android (o que é ruim para os desenvolvedores e péssimo para empresas como a Appcelerator), mas também é um reflexo do maior interesse dos desenvolvedores no iOS. Conforme a demanda por melhor suporte ao Android aumentar, certamente a Appcelerator vai dedicar mais energias à plataforma do robô.

Espero que você também tenha gostado das novidades. Deixe sua opinião nos comentários. []'s!

Post de anúncio da 3.0

Release notes

8 comentários:

GuitRav (Rogério Aluisio) disse...

Muito bom post! E sobre o win8 mobile o titanium vai da suporte a criar programas para esse sistema operacional também, fiquei sabendo que sim.

Alexandre disse...

Muito legal. É muito bom ver que a Appcelerator está a mil.

Dirlei Dionísio disse...

Sim Rogério, o suporte a Win8 está previsto para o ano que vem - mobile e desktop.

Clicktrans disse...

Parabéns pelo post.

Anônimo disse...

Olá,
Parabéns, Muito bom seu post.
VOcÊ tem usado o Titanium em aplicações profissionais ? Digo para clientes corporativos ? Ou desenvolve aplicações abertas no market ?

abraço

Delio

Dirlei Dionísio disse...

Obrigado, Delio. Tenho trabalhado com Titanium para clientes corporativos.

Deyvid Nascimento disse...

Bacana o post, vou instalar e testar depois, e o que vc me diz sobre melhorias para android, como tamanho do apk, lentidão em alguns devices, alguns comportamentos estranhos, etc que tinham na versão 1.8/2?

Abraços

Dirlei Dionísio disse...

O tamanho do apk é bem maior nos builds de desenvolvimento. No deploy de distribuição ele diminui um bocado. O tamanho do apk também é influenciado pela variedade de arquiteturas que você deseja suportar. O default é 'all', mas você pode especificar 'armeabi' ou 'armeabi-v7a' se tamanho for um quesito crítico pra você. Sobre isso, veja http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference

Sobre performance, desde o suporte à engine V8, a perda para apps inteiramente nativas é desprezível para a maioria dos casos. Nos casos em que performance é um fator crítico, sempre se pode recorrer a módulos nativos.

Quando a comportamentos estranhos, na maioria dos casos são consequência de bugs da própria app. Bugs no Titanium existem (como em todo software), mas são muito menos frequentes nas versões recentes.