Palestra Dispositivos Móveis
-
Upload
gustavo -
Category
Technology
-
view
480 -
download
2
description
Transcript of Palestra Dispositivos Móveis
Dispositivos Móveis
Gustavo Ducati [email protected]
Agenda
• Dispositivos Móveis• Alguns números• Android (Características, Desenvolvimento)• iOS (Características, Desenvolvimento)• Windows Phone (Desenvolvimento)• E o futuro ?
Dispositivos Móveis
Alguns Números ...Smartphones
Alguns Números ...Tablets
Alguns Números ...Market Share Sistemas Operacionais
O que é Android ?
• Sistema Operacional baseado em Linux• Utiliza Kernel 2.6• Criado pela Android Inc (Palo Alto (USA)) em
2004• Empresa é comprada pelo Google em 2005;• Mantido pela Open Handset Alliance
(Google, Dell, Intel, Motorola, Samsung, ...)• Lançado ao mercado em 2008
AndroidPrimeiro Celular - HTC Dream
AndroidArquitetura
AndroidDalvik
Máquina virtual Java simplificada e otimizada para execução de aplicações emdispositivos com menor poder de processamento e memória.
AndroidDalvik
• Cada aplicação é executada em uma instância da VM Dalvik.
• Aplicações não compartilham dados (memória) nem código.
• O sistema Android foi adaptado para poder gerenciar diversas instância da VM simultaneamente.
Android API Level
• Existe uma API para cada versão do Android
• Novas versões são compatíveis com as anteriores.
Android API Level
• Ao criar sua aplicação, procure compilar usando a menor versão da API possível.
• Novas versões irão rodar sua aplicação sem problemas. Mas é importante que você teste a aplicação no maior número de versões possível.
• E usando a menor versão possível, você aumenta o número de dispositivos que podem executar sua aplicação.
AndroidMais informações
• Aplicações Android são empacotadas no formato .APK.
• O Android é um sistema Linux multiusuário, onde cada aplicação tem o seu usuário.
• Permissões são definidas em todos os arquivos da aplicação, de modo que apenas o usuário da própria aplicação tenha acesso.
• Cada aplicação roda em um processo, que é uma instância da Dalvik.
AndroidDesafios !!!
• Performance Menos memória e processador, velocidade de conexão.
• Usabilidade • Telas menores • Diversidade de dispositivos • Compatibilidade • Diferentes versões da API do Android.
AndroidPerformance ...
Senão ...
AndroidTamanho de telas
• Tamanho da tela (em polegadas) • Densidade da tela (resolução), medida em
pixels por polegada.
AndroidAmbiente Desenvolvimento
AndroidAmbiente Desenvolvimento
• Windows, Linux• JDK – JAVA_HOME nas variáveis de ambiente – Adicionar a pasta JAVA_HOME/bin no PATH
• Eclipse • Android SDK – Apenas descompactar em um diretório
• Plugin ADT para Eclipse – Configurar o caminho do Android SDK (pasta extraída
anteriormente)
AndroidAmbiente Desenvolvimento
• Eclipse – Editor visual no estilo arrastar e soltar para
construção das telas. • Execução em modo debug • Editor visual para o arquivo Manifest • Compilação, empacotamento e assinatura de
sua aplicação em um arquivo .APK
AndroidEclipse
AndroidEmulador
AndroidArquivo Manifest
• Contém uma séria de informações sobre sua aplicação. • Nele são feitas definições como: • Permissões que sua aplicação precisa (acesso a
internet, a lista de contatos, etc) • Hardware e software necessários (câmera, bluetooth,
etc) • Versão mínima do Android necessária para rodar a
aplicação • Outras bibliotecas que não as nativas da plataforma. • Versão de sua aplicação
AndroidPlay Store
• A Google Play Store, loja de aplicativos, irá ler todas as informações do arquivo Manifest de modo a apresentar para o usuário apenas as aplicações que o seu dispositivo pode suportar.
AndroidPlay Store
• Inscrição: – https://play.google.com/apps/publish
• Taxa de US$25,00 com cartão de crédito via Google Checkout.
• Taxa de 30% do valor de cada cópia vendida do Android Market
• Esse dinheiro vai para as entidades de pagamento e outros, não fica para o Google.
AndroidDistribuições
iOSDados
• Desenvolvido pela Apple em 2006• Lançando com o iPhone em 2007• Utiliza a linguagem nativa C• Possui kernel 2.6 do linux• Linguagem de desenvolvimento de aplicação
(Objective-C)
iOSDesenvolvimento
• Necessita de uma computador Apple• XCODE (gratuito)
iOSDesenvolvimento
• IDE– Programação– Depuração– Compilação– Testes– Interface Gráfica
• Sem custo (App Store)• iOS Simulator
iOSObjective-C
• Linguagem Nativa• Originada do C• Orientada a Objetos (Smalltalk)• Aberta• Muitas vezes ASSUSTA ...
iOSObjective-C
iOSPublicação
• Execução na máquina (FREE)• Enviar para APP Store– US$ 99,00 / Ano– Publicação (Instalação)– Grande Burocracia
• Licença Corporativo (Sem App Store)– US$ 299,00 / Ano– Gera arquivos .ipa– Não é publicado na APP Store. Publicação Local.
iOSApp Store
• Loja exclusiva• Avaliação Rigorosa (Segurança, Imagens, etc...)• Pode ter vários aplicativos• Se pagos, a Apple fica com 30%• Pagamento com cartão de crédito• Processo Burocrático
iOSAd Hoc / Enterprise
• Distribuição Direta• Online ou Offline• Controles rigorosos as empresas• Entrevista por telefone• CNPJ Internacional (DUNS)• Não há avaliação• Não há processo de venda
Windows Phone
• Ambiente Windows• Visual Studio 2012• Linguagem C# e VB.net• Publicação na Windows Store• Mesma política de licenciamento da Apple e
até os mesmos valores• Burocracia
E o futuro ?
Perguntas
Alguns links ...
• http://www.gartner.com/newsroom/id/2525515
• http://www.idc.com/getdoc.jsp?containerId=prUS24093213
• http://developer.android.com/develop/index.html
• http://developer.android.com/about/dashboards/index.html
• Google Images \o/
Meus Contatos
• Gustavo Ducati Buttelli• E-mail: [email protected]• Facebook: fb.com/gustavo.buttelli• Twitter: @gbuttelli
OBRIGADO !!!