Post on 22-Apr-2015
description
palestra
CRIAÇÃO DE APPS MÓVEISIniciando em iOS e Android
oferecimentoCarlos Eugênio TorresEng. de Computação carlos.torres@cacira.com.br facebook.com/carloseugeniotorres @cetorres
palestrante
Sobre Carlos Eugênio TorresGraduado 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.
AgendaTipos de Apps Móveis
Apps Móveis e Internet
Plataforma Android
Arquitetura
Instalando Ambiente
Plataforma iOS
Arquitetura
Instalando Ambiente
Frameworks Alternativas
Lojas de Apps Móveis
Projeto: Cliente de Twitter no Android
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.
Tipos de Apps Móveis
Nativos
Web
Híbridos
Apps Móveis e InternetUmas 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.
Apps Móveis e InternetTodas 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).
Plataformas Mais Usadas
Android iOS
Plataforma Android
Android
Free: desenvolverUSD 25/ano: distribuir
API bastante rica e documentada
Possui App Inventor
Será a plataforma mais usada até 2012
Ambiente de desenvolvimento em
Windows, Linux e Mac
Vendas crescentes
Linguagem Java
Open source
Android Market com mais de 400 mil apps
Possui outras lojas de apps não oficiais
Plataforma AndroidLinguagem: 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
Plataforma AndroidPrincipais funcionalidades:
Framework de desenvolvimento de aplicações;
Nova máquina virtual Dalvik;
Navegador web integrado Webkit;
Biblioteca gráfica para dispositivos móveis;
SQLite;
Suporte multimídia;
Telefonia GSM;
Bluetooth, EDGE, 3G e WiFi;
Câmeras, acelerômetro e GPS;
Ambiente de desenvolvimento com plugin no Eclipse.
Android
Plataforma AndroidComo 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
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.
Android
Plataforma Android
Android
Criar novo projeto no Eclipse
Plataforma Android
AndroidTela com novo projeto
Principais pastas:src gen Android 2.xassets res
Plataforma Android
AndroidArquitetura
Material de aprendizado
Documentação da Google (tutoriais, vídeos, referência da linguagem Java e da API do SDK)
http://developer.android.com
Tutoriais na internet
Livros impressos e eletrônicos
Plataforma Android
Android
Plataforma iOS
iOS
Apple
Free: desenvolverUSD 99/ano: distribuir
API bastante rica e documentada
Muitas frameworks de terceiros
Plataforma madurae robusta com grande
suporte da comunidade
Ambiente de desenvolvimento
apenas em Mac OS X
Comercialmente à frente das outras
Linguagem Objective-C
Modelo comercial atraente
App Store com maisde 500 mil apps
Maior canal demídia móvel
Plataforma iOSLinguagem: Objective-C, Web;
Exclusivo para iPhone, iPod Touch e iPad;
Muitas funcionalidades na API, mas a aplicação fica presa numa “sandbox” quando instalada;
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
iOS
Plataforma iOSPrincipais funcionalidades:
Framework de desenvolvimento de aplicações;
Navegador web integrado Webkit;
Biblioteca gráfica para dispositivos móveis;
SQLite, Core Data;
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.
iOS
Plataforma iOSComo 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
http://developer.apple.com/devcenter/ios/index.action
Instalar pacote XCode + iOS SDK
Testar instalação com aplicativo padrão no simulador.
iOS
Plataforma iOS
iOS
Criar novo projeto no XCode
Plataforma iOS
iOSTela com novo projeto
Principais pastas:ClassesOther sourcesResourcesFrameworksProducts
Plataforma iOS
Arquitetura
iOS
Plataforma iOS
iOS
Material de aprendizado
Documentação da Apple (tutoriais, vídeos, referência da linguagem Objective-C e da API do SDK)
http://developer.apple.com/devcenter/ios/index.action
Tutoriais na internet
Livros impressos e eletrônicos
Frameworks AlternativasFrameworks 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;
Plataformas mais usadasFrameworks 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).
Plataformas mais usadasFrameworks 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.
Lojas de Apps Móveis
Apple App Store Google Android Market
Lojas de Apps MóveisA 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.
Lojas de Apps MóveisCaracterí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.
Lojas de Apps MóveisNú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
ProjetoCliente de Twitter para Android
ProjetoCliente de Twitter para Android
Principais conceitos abordados
Chamadas HTTP (GET)
Parse de JSON (REST API)
Montagem de interface (Widgets, Styles, Menus, Drawables...)
Listagens (ListView, ListAdapter)
Tarefas assíncronas (AsyncTask)
Preferências de usuário (SharedPreferences)
Android Manifest
ProjetoCliente de Twitter para Android
Mãos à obra!
+
Endereço: Av. Washington Soares, 1400, sala 909, Fortaleza, CE, CEP 60811-341Website: http://cacira.com.br - E-mail: contato@cacira.com.br - Tel/Fax: (85) 3273-5701
Obrigado!Perguntas?
@CACIRAfacebook.com/cacira