palestra desenvolvimento de apps móveis: iniciando no ios e android

35
palestra CRIAÇÃO DE APPS MÓVEIS Iniciando em iOS e Android oferecimento Carlos Eugênio Torres Eng. de Computação [email protected] facebook.com/carloseugeniotorres @cetorres palestrante

Upload: carlos-eugenio-torres

Post on 22-Apr-2015

3.738 views

Category:

Technology


1 download

DESCRIPTION

Palestra proferida na FATENE, em 23/11/2011, na III Semana de Tecnologia, com o tema Desenvolvimento de Apps Móveis: Iniciando no iOS e no Android.Mais informações em: http://cetorres.com e http://cacira.com.br.

TRANSCRIPT

Page 1: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

palestra

CRIAÇÃO DE APPS MÓVEISIniciando em iOS e Android

oferecimentoCarlos Eugênio TorresEng. de Computação [email protected] facebook.com/carloseugeniotorres @cetorres

palestrante

Page 2: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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.

Page 3: Palestra Desenvolvimento de Apps Móveis: Iniciando no 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

Page 4: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e 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.

Page 5: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Tipos de Apps Móveis

Nativos

Web

Híbridos

Page 6: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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.

Page 7: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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).

Page 8: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataformas Mais Usadas

Android iOS

Page 9: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma Android

Android

Google

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

Page 10: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 11: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 12: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e 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

Page 13: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma Android

Android

Criar novo projeto no Eclipse

Page 14: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma Android

AndroidTela com novo projeto

Principais pastas:src gen Android 2.xassets res

Page 15: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma Android

AndroidArquitetura

Page 16: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 17: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e 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

Page 18: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 19: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 20: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 21: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma iOS

iOS

Criar novo projeto no XCode

Page 22: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma iOS

iOSTela com novo projeto

Principais pastas:ClassesOther sourcesResourcesFrameworksProducts

Page 23: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Plataforma iOS

Arquitetura

iOS

Page 24: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 25: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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;

Page 26: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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).

Page 27: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS 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.

Page 28: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Lojas de Apps Móveis

Apple App Store Google Android Market

Page 29: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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.

Page 30: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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.

Page 31: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

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

Page 32: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

ProjetoCliente de Twitter para Android

Page 33: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e 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

Page 34: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

ProjetoCliente de Twitter para Android

Mãos à obra!

+

Page 35: Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Endereço: Av. Washington Soares, 1400, sala 909, Fortaleza, CE, CEP 60811-341Website: http://cacira.com.br - E-mail: [email protected] - Tel/Fax: (85) 3273-5701

Obrigado!Perguntas?

@CACIRAfacebook.com/cacira