O documento apresenta uma palestra sobre criação de aplicativos móveis para as plataformas Android e iOS. Resume os principais tópicos da palestra em 3 frases:
1) A palestra discute os tipos de aplicativos móveis, frameworks alternativas, lojas de aplicativos e as arquiteturas e ferramentas de desenvolvimento das plataformas Android e iOS.
2) É apresentado um projeto de exemplo de um cliente para Twitter no Android, abordando conceitos como chamadas HTTP, parse de JSON, interface gráfica e preferências
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
1. palestra
CRIAÇÃO DE APPS MÓVEIS
Iniciando em iOS e Android
palestrante oferecimento
Carlos Eugênio Torres
Eng. de Computação
carlos.torres@cacira.com.br
facebook.com/carloseugeniotorres
@cetorres
2. Sobre Carlos Eugênio Torres
Graduado em Ciência da Computação pela UFC, Brasil
(2004);
Graduado em Engenharia Informática e de
Computadores pelo IST, Portugal (2005);
MBA em Gestão de Projetos pela FGV, Brasil;
Mais de 12 anos de experiência com desenvolvimento
web e móvel, inclusive internacional, na Vodafone
Telecom, Portugal;
Fundador da CACIRA Tecnologia, empresa especializada
em soluções móveis para iOS e Android.
3. Agenda
Tipos de Apps Móveis Frameworks Alternativas
Apps Móveis e Internet Lojas de Apps Móveis
Plataforma Android Projeto: Cliente de Twitter no Android
Arquitetura
Instalando Ambiente
Plataforma iOS
Arquitetura
Instalando Ambiente
4. Tipos de Apps Móveis
O aplicativo móvel é o componente
de software da mobilidade e o que
mais a torna flexível e útil. É um dos
componentes de onde partem a
maioria das inovações e utilizações
diferentes.
6. Apps Móveis e Internet
Umas das formas de comunicação que
podem ser usadas pelas aplicações móveis
é através da internet;
Utiliza meios de ligações sem fio como 3G,
Edge, GPRS ou WiFi;
Solicita e envia informações a serviços web, e-
mail IMAP, RSS feeds, API remotas a fim de
buscar integração com variados sistemas online.
7. Apps Móveis e Internet
Todas as plataformas disponibilizam API para
comunicação com os protocolos disponíveis
na internet;
Integrações mais comuns:
Redes sociais (Twitter, Facebook etc);
RSS feeds e blogs;
Mapas online;
Meteorologia;
Notícias (economia, esportes, política etc).
9. Plataforma Android
Possui outras lojas de
Android Market com
apps não oficiais
mais de 400 mil apps
Google
Open source
Free: desenvolver
USD 25/ano: distribuir Linguagem
Java
API bastante rica e
documentada Vendas crescentes
Android
Possui App Inventor Ambiente de
desenvolvimento em
Será a plataforma mais Windows, Linux e Mac
usada até 2012
10. Plataforma Android
Linguagem: Java, Web;
Criada pela Google para smartphones e tablets;
Muitas funcionalidades na API;
Possui loja de venda de aplicações. Desenvolvedor paga anuidade para
vender na loja;
Pequena curva de aprendizado para quem já conhece Java;
IDE: Eclipse;
SDK: http://developer.android.com/sdk/index.html
11. Plataforma Android
Principais funcionalidades:
Framework de desenvolvimento de aplicações;
Nova máquina virtual Dalvik;
Navegador web integrado Webkit;
Biblioteca gráfica para dispositivos móveis;
Android
SQLite;
Suporte multimídia;
Telefonia GSM;
Bluetooth, EDGE, 3G e WiFi;
Câmeras, acelerômetro e GPS;
Ambiente de desenvolvimento com plugin no Eclipse.
12. Plataforma Android
Como tornar-se um desenvolvedor
Windows XP+, Linux ou Mac OS X;
Inscrever-se como desenvolvedor Android
http://developer.android.com/index.html
Java SDK 5 ou 6 Android
Eclipse 3.2+
Plugin JDT (desenvolvimento Java)
Plugin ADT (desenvolvimento Android)
Android SDK
Configurar Android SDK no Eclipse
Testar instalação com aplicativo padrão no simulador.
16. Plataforma Android
Material de aprendizado
Documentação da Google (tutoriais,
vídeos, referência da linguagem
Java e da API do SDK) Android
http://developer.android.com
Tutoriais na internet
Livros impressos e eletrônicos
17. Plataforma iOS
Maior canal de
App Store com mais
mídia móvel
de 500 mil apps
Apple Modelo comercial
atraente
Free: desenvolver
USD 99/ano: distribuir Linguagem
Objective-C
API bastante rica e
Comercialmente à
documentada
frente das outras
iOS
Muitas frameworks Ambiente de
de terceiros desenvolvimento
Plataforma madura
apenas em Mac OS X
e robusta com grande
suporte da comunidade
18. Plataforma iOS
Linguagem: Objective-C, Web;
Exclusivo para iPhone, iPod Touch e iPad;
Muitas funcionalidades na API, mas a aplicação fica
presa numa “sandbox” quando instalada; iOS
Possui loja de venda de aplicações. Desenvolvedor paga anuidade para
vender na loja;
Grande curva de aprendizado na linguagem Objective-C, por ser pouco
difundida;
IDE: Xcode (apenas Mac OS X);
SDK: http://developer.apple.com/devcenter/ios/index.action
19. Plataforma iOS
Principais funcionalidades:
Framework de desenvolvimento de aplicações;
Navegador web integrado Webkit;
Biblioteca gráfica para dispositivos móveis;
SQLite, Core Data;
iOS
Suporte multimídia;
Telefonia GSM e CDMA;
Bluetooth, EDGE, 3G e WiFi;
Câmeras, acelerômetro e GPS;
Ambiente de desenvolvimento X-Code,
mesmo para aplicações Mac OS X.
20. Plataforma iOS
Como tornar-se um desenvolvedor
Mac OS X (atualizado com última versão);
Criar Apple ID e inscrever-se como desenvolvedor iOS
http://developer.apple.com/programs/register/
Download do XCode + iOS SDK
iOS
http://developer.apple.com/devcenter/ios/index.action
Instalar pacote XCode + iOS SDK
Testar instalação com aplicativo padrão no simulador.
24. Plataforma iOS
Material de aprendizado
Documentação da Apple (tutoriais,
vídeos, referência da linguagem
Objective-C e da API do SDK)
iOS
http://developer.apple.com/devcenter/ios/index.action
Tutoriais na internet
Livros impressos e eletrônicos
25. Frameworks Alternativas
Frameworks alternativas
Existem frameworks de terceiros para desenvolvimento em
iOS e Android sem necessidade de ter conhecimento das
linguagens e SDKs nativos.
Essas frameworks tem o objetivo de facilitar a entrada de
novos desenvolvedores no mundo dos Apps móveis com
uma curva de aprendizado menor, usando linguagens já
conhecidas ou mais fáceis como Javascript ou Lua.
Geralmente interpretam código escrito numa linguagem
diferente da nativa e geram o código nativo para ser
compilado.
Em geral são multiplataforma, gerando código para iOS e
Android, dentre outras;
26. Plataformas mais usadas
Frameworks alternativas - Exemplos
Titanium Appcelerator
http://www.appcelerator.com
Usa Javascript, tem API própria e gera código em Objective-C
Gera aplicativos nativos para iPhone, iPad e Android.
Phonegap
http://www.phonegap.com
Deixa o desenvolvedor criar aplicativos usando HTML, CSS e
Javascript, encapsulando uma web app num navegador
interno.
Não cria aplicativos nativos, mas consegue ser usado para
aplicativos em iPhone, iPad e Android).
27. Plataformas mais usadas
Frameworks alternativas - Exemplos
Corona
http://www.anscamobile.com/corona
Usa Lua, tem API própria e gera aplicativos nativos
Usado para criação de jogos em 2D
Cria aplicativos para iPhone, iPad e Android.
Unity 3D
http://unity3d.com
Usa C#, tem API e IDE próprias
Usado para criação de jogos em 3D
Cria aplicativos para iPhone, iPad e Android.
28. Lojas de Apps Móveis
Apple App Store Google Android Market
29. Lojas de Apps Móveis
A primeira loja de aplicativos móveis foi a App Store
da Apple. Criada em 2008 como uma extensão a já
existente iTunes Store, que vendia música e filmes,
passou a vender aplicativos inicialmente para
iPhone, depois para iPad.
Após a App Store da Apple, surgiram a Windows
Marketplace da Microsoft e a Android Market da
Google. Ambas seguindo os mesmos moldes.
30. Lojas de Apps Móveis
Características principais de uma app store:
Um lugar centralizado para todas as apps organizadas por categorias,
com busca e ranking;
Contas de usuário com cartão de crédito pré-cadastrado para facilitar
compras;
Revisão e testes das apps antes de serem disponibilizadas na loja;
Download de apps diretamente do dispositivo móvel, sem
necessidade de um desktop intermediar a transação;
Comentários e notas dos usuários nas apps;
Painel online para o desenvolvedor para gerenciar suas apps e
ganhos.
31. Lojas de Apps Móveis
Números
Apple App Store
500.000+ apps disponíveis para iPhone
140.000+ apps disponíveis para iPad
18 bilhões de downloads desde julho de 2008
Google Android Market
300.000+ apps disponíveis
10 bilhões de downloads desde agosto de 2008