Um salve a todos.
É indiscutível o crescimento de aplicações móveis. Houve um grande ?bum? no que tange esse tipo de aplicação e elas não param de surgir.
Acontece que os desenvolvedores e as empresas precisam lidar com uma grande questão, os dispositivos móveis possuem sistemas diferentes.
Bem, por mais óbvio que isso pareça, a adversidade de aparelhos, sejam celulares ou tablets e a diferença entre os sitemas são grandes problemas.
Imaginemos a seguinte situação. Um cliente contrata uma empresa para desenvolver um aplicativo para tablet e celular. O cliente, como é de se esperar atualmente, exige que o aplicativo rode em iOS, Android e RIM. Nem citarei outros sistemas para não complicar ainda mais.
A empresa, por sua vez, deverá ter 3 equipes, cada uma especializada em uma plataforma.
Já pararam para pensar o custo disso? Manter 3 equipes, com profissionais especializados em cada uma? E se por um acaso, e.g. Lei de Murphy, grande parte da sua equipe de iOS fica doente, muda de empresa ou se demite? O que o gerente de projeto faz? Acho que a primeira resposta que vem a mente é querer se matar!
Sem ir muito longe, imaginem que a empresa fez o aplicativo para cada plataforma. Não seria espantoso que a aplicação tivesse um bug no Android que não existe no RIM ou outro problema do tipo. Alguém consegue imaginar o problema de gerenciar e se certificar que a aplicação foi feita da mesma forma, atendendo a todos os requistos, sem bugs para 3 ambientes diferentes, com devices de tamanhos, hardware, processador e especificações diversos, além de ter 3 equipes completamente diferentes?
Pensem no custo, tempo e problemas para se homologar cada aplicação em cada ambiente. Também não seria estranho se uma equipe acabasse um aplicativo antes de outra. E se o cliente quiser lançar todas juntas, o que se faz, atrasa-se o lançamento? E o tempo que se perde de venda de uma aplicação que já está pronta? Além disso, é comum haver uma parte do pagamento que é entregue no fim do projeto. Bem, como o projeto pode ser as 3 aplicações, a empresa também deixa de receber uma parte do pagamento quando precisa.
Os problemas tendem a infinito. Poderia ficar aqui um bom tempo enumerando?
Mas e daí? Depois de todos esses problemas, alguns devem estar se perguntando, qual a solução?
A primeira resposta que posso dar é, como de padrão, não há bala de prata, entretanto, existem soluções que podem diminuir muito esses e outros problemas.
Há frameworks no mercado que trabalham com soluções ?híbridas?. A idéia, é que você faça um código único e no final, gere uma aplicação para iOS, outra para Android e assim por diante, sem alterar seu código ou com alterações realmente mínimas. Algumas, possibilitam inclusive gerar aplicações desktop e sistemas web. Qualquer similaridade com a idéia básica de java é simples coincidência.
É claro, antes que possam falar, a performance em geral não é a mesma. O dia que fizerem algo que gera código para diversas plataformas com a mesma performance ou até melhor de um código nativo, há algo de errado com o nativo. Porém, é como dizem popularmente, o ótimo é inimigo do bom.
As soluções atuais estão bem maduras e melhorando exponencialmente. É possível fazer aplicações hoje para vários ambientes sem ter o trabalho de codificar para cada uma. Há ainda, a possibilidade se usar código nativo junto, caso haja algo que exija tal solução, aumentando ainda mais a flexibilidade.
Alguns que podem ser citados são o Titanium, Corona e a Adobe tem trabalhado nesse sentido com o Flex SDK 4.5 e com o Air.
Eu optei pela dobradinha Sencha Touch com Phonegap. Posso dizer de antemão que ela tem suprido bem essa necessidade e que a performance não deixa nada a desejar sobre aplicações nativas.
Breve escreverei artigos técnicos, com exemplos sobre os dois e mostrando como programar uma vez e gerar aplicações para ambientes diferentes. Aguardem.
Grande abraço e até breve!
Atualizado as 14h18 do dia 25 de agosto
*Zaedy Sayão trabalha com ExtJS desde antes de sua versão 1, há 4 anos é especialista em aplicações RIA com uso do Ext, utilizando também o Sencha Touch em seus projetos. Graduando em Ciência da Computação pela UFRJ, é aderente aos movimentos ágeis e de modelos como o Mps.Br, trabalhando com PHP há mais de 4 anos e com Java há cerca de 9. Sócio-diretor da empresa Manufato Marketing e Design, atua também dando consultoria de ExtJS e Sencha Touch e colabora com o fórum nacional de ExtJS.
**As opiniões dos artigos/colunistas aqui publicadas refletem unicamente a posição de seu autor, não caracterizando endosso, recomendação ou favorecimento por parte da IT Mídia ou quaisquer outros envolvidos nesta publicação
ð Você tem Twitter? Então, siga http://twitter.com/IT_Web e fique por dentro das principais notícias de TI e telecom.
A Motorola Solutions anunciou a assinatura de um acordo definitivo para adquirir a D-Fend Solutions,…
Nesta terça-feira (2), a Meta anunciou a expansão global de configurações de conteúdo para contas…
por Bruno Paiuca Dentro da jornada de digitalização dos ecossistemas de segurança, a validação e…
A Alphabet, controladora do Google, planeja levantar US$ 80 bilhões por meio da venda de…
O Sberbank, maior banco da Rússia, está oferecendo modelos de inteligência artificial (IA) a países…
A Palo Alto Networks registrou forte aumento na procura de clientes por orientações sobre segurança…