O documento discute as principais plataformas e linguagens para desenvolvimento de aplicativos móveis, incluindo Java ME, BlackBerry, .NET Compact Framework, iPhone SDK e Objective C. A escolha da plataforma e linguagem depende do sistema operacional do dispositivo alvo, com cada um tendo suas próprias ferramentas de desenvolvimento.
3. Definição
Um aplicativo móvel é um software desenvolvido para ser instalado em um
dispositivo eletrônico móvel,como PDA(palmtop), telefone celular, tablet e
smartphone. Este aplicativo pode ser instalado no dispositivo, (se for compatível
com o aparelho) através de uma loja on-line, tais como Google Play ou App Store.
Uma parte dos aplicativos disponíveis são gratuitos, enquanto outros são pagos.
O número de downloads de aplicativos móveis está em forte crescimento. Esta
tendência está associada com a venda de smartphones, que também houve um
grande crescimento de 74% em um ano.
4.
5. Android é um sistema operacional baseado no
núcleo Linux para dispositivos móveis, como o
próprio Google Nexus One, Nexus S ou Galaxy
Nexus, bem como por outros fabricantes de
celulares como a HTC, Samsung, entre outros. É
desenvolvido pela Open Handset Alliance, liderada
pelo Google e outras empresas.
Segundo a Google, mais de 200.000 telefones
celulares com este sistema operacional são
vendidos todos os dias.
6. iOS (antes chamado de iPhone OS) é um sistema
operacional móvel da Apple Inc. desenvolvido
originalmente para o iPhone, também é usado em
iPod Touch, iPad e Apple TV. A Apple não permite que
o iOS seja executado em hardware de terceiros. A
interface do usuário do iOS é baseado no conceito de
manipulação direta, utilizando gestos em multi-toque.
A interação com o sistema operacional inclui gestos
como apenas tocar na tela, deslizar o dedo, e o
movimento de "pinça" utilizado para se ampliar ou
reduzir a imagem. Acelerômetros internos são usados
por alguns aplicativos para responder à agitação do
aparelho (um resultado comum é o comando de
desfazer) ou rodá-la em três dimensões (um resultado
comum é a mudança do modo retrato para modo
paisagem).
7. Windows RT é uma versão do sistema operacional Windows 8
projetado para rodar em dispositivos de baixa potência, utilizando a
arquitetura ARM. Ao contrário de todas as outras variações do
Windows 8, o Windows RT só pode ser obtido pelos usuários como
software pré-carregado em dispositivos projetados por OEMs
participantes, tornando-o comparável a outros grandes sistemas
operacionais móveis, com exceção do Android.
Embora ela não tem alguns recursos e funcionalidades em
comparação com o Windows 8 para dispositivos compatíveis com Intel
(tornando-o mais parecido com um sistema operacional
móvel), Windows RT é projetado principalmente para aproveitar
melhor a bateria. (o que tem contribuído para o seu uso comum
dentro smartphones e tablets), e para aproveitar o microsoftstore (
nova loja para plataforma de aplicativos (que é a única maneira de
obter um software de terceiros no neste sistema operacional). [1]
dispositivos Windows RT também se distinguem pela inclusão de uma
versão especial do Office 2013 otimizado para ser executado de
forma mais eficiente em um ambiente de baixo consumo de energia.
A Microsoft lançou oficialmente o Windows RT unto com o Windows 8
em 26 de outubro de 2012.
8. O Windows Mobile é um sistema operacional
compacto, desenvolvido para rodar em dispositivos
móveis como Pocket PCs, Smartphones e Aparelhos
de multimídia em geral. Projetado para ser capaz
de realizar boa parte do que é possível em uma
versão PC do Windows, o sistema vem com um
conjunto de aplicações básicas bem conhecidas no
mundo dos PCs, tais como o
Word, Excel, PowerPoint, Windows Media Player
Pocket.
9. BlackBerry OS é um sistema operacional
móvel de código fechado desenvolvido pela
empresa canadense Research In Motion
especialmente para os modelos de celulares
da empresa, os Blackberry. Sua última versão
estável é a 6.0, lançada em Agosto de 2010.
O sistema foi desenvolvido na linguagem
C++, e suporta aplicativos em Java
10. Symbian é um sistema operacional móvel (OS)
e plataforma de computação, projetado para
smartphones, sob conduta da Nokia é
mantido pela Accenture desde 22 de junho de
2011. A plataforma Symbian é o sucessor do
Symbian OS
11. Distribuição dos SO’s
• 1. Google - Android (45%)
• 2. Apple - IOS (22%)
• 3. Microsoft - WP7/Windows Mobile (8%)
• 4. Black Berry - RIM (8%)
• 5. Nokia - Symbian (2%)
• 6. Java ME - (2%)
12.
13. A habilidade de criar um aplicativo e o fazer ―magicamente‖
funcionar em todos os aparelhos móveis não está disponível no
momento, apesar de existirem várias empresas trabalhando duro
para chegar lá. Enquanto isso, existem duas abordagens
diferentes, com uma terceira a caminho.
Uma delas é oferecer um ―driver‖para cada telefone que oferece
acesso a, por exemplo, acelerômetro e GPS a partir de linguagens
como JavaScript, Ruby e Python. Dessa maneira, um desenvolvedor
pode escrever o aplicativo em uma linguagem (juntamente com
HTML e CSS), que pode ser executado em todos os telefones que têm
o ―driver‖.
Outra é escrever o aplicativo em uma linguagem e, então, o
―traduzir‖ para outras linguagens que podem ser usadas em outros
telefones. O desenvolvedor então criaria o aplicativo (p.e. para o
iPhone) e o executaria através de uma ferramenta para produzir
versões que podem ser executadas em outras plataformas.
14. Um dos maiores obstáculos ao se desenvolver
aplicativos móveis hoje é o número de diferentes
aparelhos de telefone que devem ser suportados.
Apesar de o iPhone ser a mais popular
plataforma para aplicativos atual, não é mais
suficiente ter suporte só para ele. O Android é
um competidor valioso, e o iPad apresenta
diferentes opções e possibilidades que muitas
vezes garantem o desenvolvimento de sua
própria experiência em aplicativos. Para
oferecer, verdadeiramente, uma oferta
móvel, você também deve suportar Symbian,
Blackberry, Windows Mobile e Palm apenas para
cobrir os smartphones mais usados. Mas como
você desenvolve para múltiplas plataformas?
15. RED FOUNDRY - Red Foundry fornece uma solução completa para a
construção e gerenciamento de aplicações móveis nativas. Sem
programação, a nossa plataforma unificada permite tudo, desde
impressionantes aplicativos móveis baseadas em conteúdo até soluções
empresariais poderosas, reduzindo o ciclo de desenvolvimento do
aplicativo móvel de meses para dias.
VIZIAPPS - ViziApps é um serviço online para o desenvolvimento de
aplicativos móveis nativos. ViziApps permite-lhe criar e implantar
aplicativos móveis nativos sem programação, com 1/10 do custo e 1/10
do tempo quando comparado com outras soluções e aplicativos
BIZNESS APPS - um proprietário de um site pode começar por escolher
um modelo específico da indústria, de entre os modelos existentes
como restaurantes, bares, academias, entre outros.
RUNREV LIVE CODE -recurso incrivelmente rico, profundo, contando com
mais de 2000 recursos para criar um projeto sofisticado. LiveCode dá-
lhe liberdade para fazer distribuição livre, sem nenhuma taxa, sem taxas
de hospedagem e sem assinaturas obrigatórias.
16. Performance
Boa parte dos aplicativos cliente já está carregada no aparelho: a camada visual, imagens, textos-
padrão, tabelas, enfim, toda a aparência do sistema é fixa no cliente. O que trafega pela rede são
apenas as informações necessárias para popular o aplicativo. Geralmente essas informações são
textos simples e trafegam muito rápido pela rede. Em uma abordagem Web, todas as informações
necessárias para cada tela devem ser baixadas do servidor para o dispositivo. A cada requisição é
necessário fazer o download de tudo novamente. Além de ser mais lento, custa mais caro para o
usuário, que paga pelo tráfego adicional de dados. Nesse quesito, ponto para os aplicativos cliente.
Usabilidade
Apesar dos navegadores para mobile estarem evoluindo rapidamente, o conjunto de recursos da
linguagem HTML limita muito a usabilidade das aplicações baseadas em Web. Especialmente quando
se fala em interatividade, ainda são poucos e bem restritos os elementos de interface disponíveis
para HTML mobile: caixas de seleção e escolha, pop-ups, alertas, tabelas e alguns poucos outros.
O ponto principal para adoção ou não de aplicativos móveis é a usabilidade – eles devem ser
extremamente simples, para qualquer usuário acostumado com os recursos do aparelho. Se o
usuário tiver alguma dificuldade de uso na primeira tentativa, as possibilidades de haver uma
segunda chance são pequenas. Atenção especial a isto. Usabilidade traz mais um ponto para
aplicativos cliente.
Segurança
As necessidades mais comuns de aplicações corporativas para plataformas móveis envolvem, de
alguma forma, expor informações de sistemas internos
Aplicativos cliente apresentam características de segurança mais interessantes. Tem-se controle sobre a
distribuição. Para quem usa e instala o aplicativo, as informações podem ser criptografadas para
envio e descriptografadas no cliente. Assim, seus sistemas não ficam expostos para toda a Internet –
apenas os clientes terão acesso aos serviços.
17. Recursos do aparelho
A cada dia mais recursos tecnológicos vêm equipando os modelos de smartphones:
poderosas câmeras fotográficas e filmadoras, GPS, bússola, tocadores de músicas e
vídeos. Com tantas ferramentas disponíveis, faz todo o sentido utilizá-las de forma
integrada a seus aplicativos.
A realidade, porém, é que apenas aplicações cliente têm capacidade de interagir com
esses recursos, uma vez que dependem de APIs oferecidas pelos sistemas operacionais
para realizar esse tipo de integração. Aplicações via web não têm essa capacidade, por
limitações da própria linguagem de desenvolvimento e por questões de segurança, que
limitam o acesso dos navegadores ao sistema operacional.
Se você precisa integrar recursos de hardware do aparelho aos seus sistemas, o único
caminho é com aplicativos cliente.
Plataformas de desenvolvimento
Cada sistema operacional – iPhone, Symbian, Blackberry, Android e Windows Mobile –
tem linguagens e ferramentas de desenvolvimento específicas. Isto significa que uma
aplicação cliente desenvolvida para um sistema operacional não funciona em outro.
Sim, para cada sistema operacional, uma aplicação! Aplicações web são mais genéricas –
todos os sistemas operacionais têm navegadores com capacidade de acessá-las, e a
variação entre fabricantes e sistemas operacionais ocorre basicamente no tamanho e na
resolução de tela. Apesar de algumas deficiências, podemos dizer que uma aplicação
web funciona para todos os dispositivos, e este é o seu principal benefício.
18. A nova maneira de criar aplicativos está surgindo através do HTML 5, que é uma grande
extensão das especificações HTML atuais e que, entre outras coisas, poderia oferecer APIs
diretas para GPS e outros recursos móveis específicos. O principal problema do HTML 5 é que
o padrão ainda não foi finalizado, e poucos telefones o suportam. Quando ele se tornar
largamente suportado, no entanto, você poderá, teoricamente, criar um aplicativo que será
executado em todos os telefones e browsers (que suportam HTML5).
Prós e contras
Existem prós e contras para ambas as opções atuais e futuras. As principais vantagens em
usar
essas tecnologias são velocidade de entrada no mercado e fácil manutenção de um aplicativo
em vez de múltiplos aplicativos. Outras vantagens são visual e sentido uniformes em todos os
dispositivos, suporte para layout flexíveis (usando HTML e CSS, pelo menos) e uso de
tecnologias conhecidas. Ainda não é fácil encontrar ótimos desenvolvedores para dispositivos
móveis, mas é muito fácil achar bons desenvolvedores web que estão familiarizados
com HTML, CSS, JavaScript, Ruby, Python e outras linguagens.
A principal desvantagem, além de não suportar todas as plataformas, é que você fica
restrito ao que o ―driver‖ e o ―tradutor‖ são capazes de lidar. Você provavelmente não será
capaz de acessar o armazenamento local (isso será parte do HTML5), Bluetooth, Wi-Fi ou
similares que não estiverem acessíveis em todos os telefones. Existe também a questão da
performance, uma vez que o código (seja traduzido ou escrito em uma linguagem que precisa
ser
interpretada) pode não ser otimizado para um determinado telefone.
19.
20. J2ME (Java 2 Micro Edition): Mantida
pela Sun, J2ME é a plataforma Java direcionada
para dispositivos com recursos de hardware e
software limitados. É suportado pela grande
maioria dos aparelhos, pois, basta que o
aparelho possua uma JVM (Java Virtual Machine)
que atenda as especificações da Sun instalada
para que ele possa executar aplicativos na
linguagem J2ME.
É uma plataforma gratuita, com diversas IDEs
(Integrated DevelopmentEnvironment)
disponíveis.É a plataforma mais popular e
suportada pela maior quantidade e diversidade
de aparelhos
21. BlackBerry: Os aparelhos BlackBerry são desenvolvidos
pela RIM (Research In Motion) e possuem um sistema
operacional próprio, o BlackBerry OS. Também possui a sua
própria linguagem de desenvolvimento, que na verdade é
uma Linguagem Java modificada criada pela RIM para que o
desenvolvedor possa explorar melhor os recursos do
aparelho.
.NET Compact Framework: Plataforma nativa do sistema
operacional Windows Mobile da Microsoft. O
desenvolvimento de seus aplicativos é feito na linguagem
C# utilizando a ferramenta Visual Studio, também da
Microsoft.
Oferece um bom suporte ao desenvolvedor e é simples de
se trabalhar devido às facilidades oferecidas pelo Visual
Studio. Porém é suportada apenas por aparelhos que
possuem o sistema operacional Windows Móbile. Apesar
desta limitação, a quantidade de aparelhos com este
sistema tem crescido consideravelmente e tende a continuar
crescendo, tendo em vista a força e influencia da Microsoft.
22. iPhone: Possui sua própria plataforma de
desenvolvimento e suporta apenas aplicativos
desenvolvidos na linguagem Objective C, utilizando o
iPhone SDK. O Objective C é uma linguagem
orientada a objetos variante do C utilizada
principalmente para desenvolver aplicativos para os
sistemas da Apple, como o iPod, iPhone e o Mac OS.
Iniciar o desenvolvimento para iPhone é um pouco mais
penoso e caro, pois além de ser uma linguagem que
não está entre as mais comuns, é necessário ter um
computador Mac ,pois o iPhone SDK não possui
versões para Windows ou Linux. Porém, apesar do
grande número de aplicativos existentes e do custo
para iniciar o desenvolvimento, há uma crescente
demanda por profissionais que desenvolvam para
iPhone e tornar-se desenvolvedor iPhone pode ser
um bom negócio.
23. Android: É um sistema operacional
desenvolvido pelo Google e o
desenvolvimento dos seus aplicativos é feito
na linguagem Java combinada com XML
utilizando o Android SDK, ferramenta
desenvolvida e distribuida pelo Google.
24.
25. OviStore - Nokia (Symbiam OS)
Google Play - Android
Apple Store - iOs
Microsoft Store – Windows RT/8
26. Um dos tópicos favoritos nas discussões entre fãs de Android e iOS é a
quantidade de aplicativos existentes em cada loja virtual. No entanto, o
argumento preferido dos fãs da Apple sobre a suposta superioridade da App
Store pode ter finalmente chegado ao fim, pois a Google anunciou que a Play
atingiu a mesma quantidade de programas disponíveis para download.
De acordo com a empresa, a loja acaba de alcançar a marca de 700 mil
apps, ou seja, a mesma quantidade anunciada pela Apple na semana passada.
Com isso, as concorrentes se igualam nesse aspecto, o que deve deixar a
disputa dos dois sistemas operacionais ainda mais acirrada.
A estratégia da Google é clara. A grande variedade de aplicativos existente
para o iOS sempre foi um dos motivos que faziam o consumidor tender para
dispositivos como o iPhone. A ideia de reforçar que essa diferença não existe
mais é uma ótima maneira de mostrar que o Android também está em pé de
igualdade em termos de volume de jogos, utilitários e demais programas
27.
28. Criar iniciativas internas, apoiando os usuários a dar
sugestões de suas próprias soluções e assim desenvolver
aplicativos compatíveis ao sistema corporativo.
Não ser pessimista e nem otimista ao extremo.
Provavelmente durante muito tempo existirão
PCs, laptops, smartphones e tablets. Alguns funcionários
deixarão de usar laptops e PCs, mas outros continuarão a
usá-los. Considere um ambiente heterogêneo.
Não ignorar a necessidade de novas tecnologias. Os seus
desenvolvedores tem fluência em HTML5, Android e iOS?
Existem tecnologias de organização? A sua equipe está
devidamente preparada para este novo mundo?
32. A SulAmérica acaba de lançar o aplicativo do SulAmérica Saúde. Com o
objetivo de tornar mais ágil o acesso às informações referentes ao plano
de saúde, o aplicativo disponibiliza diversos serviços na palma da mão.
Entre eles está o cartão digital de saúde. Além da opção no formato
tradicional (em cartão), o segurado pode obter os dados do produto no
próprio aplicativo o que evita imprevistos como o esquecimento da
identificação, uma vez que dificilmente o celular é esquecido.
O aplicativo da SulAmérica também disponibiliza a consulta a rede de
mais de 25 mil prestadores médicos em todo o País. Além de identificar
o médico, clínica ou hospital de interesse, é possível selecionar o
profissional de saúde ou o estabelecimento médico por geolocalização.
Isso por que o aplicativo localiza a rede de prestadores no entorno do
local em que o segurado está.
E ainda é possível obter informações sobre o crédito em conta corrente
do reembolso, desconto de até 50% em medicamentos e rede de
farmácias cadastradas, entre outras informações úteis para o
segurado, como os canais de atendimento disponíveis pela companhia e
os links de acesso aos sites da seguradora. O aplicativo pode ser
adquirido gratuitamente nas lojas de aplicativos do iPhone ou Android.
33. Disponível na América Latina e no Caribe, o FedEx Mobile permite que os
clientes consultem o status de suas remessas, encontrem a estação ou
balcão de coleta FedEx, o Centro Autorizado de Envio FedEx ou o Centro de
Serviço Mundial FedEx mais próximo e obtenham tarifas de envios e outras
informações — tudo bem ali, em seus dispositivos móveis. O FedEx Mobile
pode ser acessado via internet móvel no http://m.fedex.com por qualquer
dispositivo com acesso à internet. Além disso, os usuários do iPhone e do
Blackberry podem baixar o aplicativo FedEx Mobile.
―A FedEx tem sido pioneira no lançamento de sistemas de rastreamento
online, que permitem aos clientes acompanhar o status de uma
encomenda‖, diz Cliff Deeds, diretor de Experiência de
Cliente, Serviço, Tecnologias e Comunicação Corporativa da FedEx. ―À
medida que a indústria móvel evolui, os usuários passam a recorrer cada vez
aos dispositivos móveis para fazer transações e obter informações online.
Para ter acesso ao serviço, os clientes precisarão de uma conta de usuário e
senha no fedex.com. A FedEx possui uma solução automatizada para
praticamente todos os passos do processo de envio. As soluções
automatizadas da FedEx são criadas para simplificar as transações de
envio, seja o usuário uma pequena empresa ou um empreendimento de
grande porte.
34.
35.
36.
37. Segundo um estudos já são 466 mil empregos gerados no país desde
2008. Em 2007, esse número ainda era igual a zero. De lá pra cá, 155
mil pessoas começaram a trabalhar com o desenvolvimento e suporte
técnico a aplicativos, enquanto outros 311 mil funcionários
especializados em tecnologia, marketing e design também encontraram
lugar no mercado.
O estudo leva em conta os postos gerados por aplicativos tanto do
Android, quanto iOS, BlackBerry, Windows Phone e Facebook. O
número, apesar de surpreendente, não guarda nenhum mistério. Muitos
aplicativos exigem uma equipe de trabalhadores como
programadores, designers de interface, suporte e gerenciamento.
Além dos desenvolvedores autonômos, muitas empresas focadas em
apps mobile surgiram nesses últimos anos,além de outras grandes
empresas que dedicaram grande atenção a esse mercado como
a Electronic Arts, Gameloft, Amazon e gigantes como Google, Apple e
Facebook.