Sendo assim, o tema é
bastante útil para profissionais de desenvolvimento que desejam desenvolver
para várias plataformas, tendo pouco trabalho, escrevendo menos e produzindo
mais. Outra grande vantagem é utilizar linguagens já conhecidas e consolidadas
no mercado, tornando assim mais fácil e prazeroso o desenvolvimento de APPs.
Segundo a Gartner, uma das mais conceituadas empresas de consultoria, as vendas de smartphones ultrapassaram a marca de 250.2 milhões de unidades ao redor do mundo. Cada smartphone pode trazer consigo uma infinidade de aplicativos.
Esse número exorbitante de aparelhos traz a velocidade instantânea para a disseminação de alguns aplicativos, que se espalham como se fosse um vírus. O download do aplicativo pode ser cobrado, onde parte do dinheiro vai para o desenvolvedor, ou então, o aplicativo pode ser baixado gratuitamente e conter anúncios, que são convertidos em renda a cada exibição. Com isso a renda gerada para seus desenvolvedores pode ser muito vantajosa.
Cada smartphone está equipado com um sistema operacional, podendo ser: Android, IOS, Windows Phone, Black Berry, Bada, entre outros. Essa variedade de sistemas operacionais ou plataforma acaba trazendo um grande problema na hora de desenvolver, pois cada sistema tem a sua arquitetura o que implica diretamente nos seus comandos e também na linguagem nativa para desenvolver seus softwares.
Hoje em dia podemos desenvolver em basicamente três tipos de plataforma, que estão ligadas diretamente à sua linguagem de desenvolvimento e o ambiente onde o mesmo irá funcionar.
A primeira e mais comum das maneiras de desenvolvimento são as aplicações nativas, as quais são feitas nas ferramentas e linguagens que os próprios desenvolvedores da plataforma apresentam.
A aplicação nativa tem acesso total ao hardware do aparelho, conseguindo então acessar qualquer funcionalidade encontrada no dispositivo e também obter uma resposta mais rápida aos comandos passados para o aparelho.
O problema das aplicações nativas é que para cada sistema operacional é necessário desenvolver um App diferente, ou seja, para atender pelo menos às principais plataformas (Android, IOS e Windows Phone) é necessário desenvolver três códigos diferentes, cada um com sua linguagem.
Como solução para essa problemática, utilizou-se muito os chamados webApps. As webApps são aplicações desenvolvidas utilizando tecnologias web para rodar no navegador do celular, sendo assim qualquer dispositivo que possua uma conexão com a internet e um browser pode acessar essa aplicação.
As webApps atendem perfeitamente as aplicações que não necessitam de comunicação com o aparelho do usuário, no caso de acesso a alguma funcionalidade extra, como a câmera, esse tipo de aplicação não poderá atender, pois não possui esse privilégio de acesso aos recursos do aparelho.
Para resolver o problema das duas tecnologias apresentadas acima, temos os aplicativos híbridos, que podem ...