SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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
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.
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
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 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.
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).
Plataformas Mais Usadas




     Android    iOS
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
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
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.
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.
Plataforma Android


                               Android

                     Criar novo projeto no Eclipse
Plataforma Android


                                Android
                     Tela com novo projeto

                     Principais pastas:
                        src
                        gen
                        Android 2.x
                        assets
                        res
Plataforma Android


                     Android
                     Arquitetura
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
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
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
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.
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.
Plataforma iOS



                               iOS

                 Criar novo projeto no XCode
Plataforma iOS



                                 iOS
                 Tela com novo projeto

                 Principais pastas:
                    Classes
                    Other sources
                    Resources
                    Frameworks
                    Products
Plataforma iOS



                   iOS
                 Arquitetura
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
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;
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).
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.
Lojas de Apps Móveis




  Apple App Store   Google Android Market
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.
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.
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
Projeto
Cliente de Twitter para Android
Projeto
Cliente 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
Projeto
Cliente de Twitter para Android



           Mãos à obra!

                  +
Obrigado!
                        Perguntas?
                        facebook.com/cacira           @CACIRA
  Endereço: Av. Washington Soares, 1400, sala 909, Fortaleza, CE, CEP 60811-341
Website: http://cacira.com.br - E-mail: contato@cacira.com.br - Tel/Fax: (85) 3273-5701

Mais conteúdo relacionado

Mais procurados

Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidSalvador Torres
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoFernando Rizzato
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...Édipo Souza
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Gustavo Zimmermann
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 

Mais procurados (20)

Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico Embarcadero
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android
AndroidAndroid
Android
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Android
AndroidAndroid
Android
 
RAD Studio 10.2 Tokyo
RAD Studio 10.2 TokyoRAD Studio 10.2 Tokyo
RAD Studio 10.2 Tokyo
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Android
AndroidAndroid
Android
 
Android
Android Android
Android
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Introdução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para IphoneIntrodução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para Iphone
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 

Destaque

Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos MóveisGrendene S/A
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisMarcelo Quinta
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Dirceu Belém
 
Desenvolvimento para Android - Bento Gonçalves (08/2011)
Desenvolvimento para Android - Bento Gonçalves (08/2011)Desenvolvimento para Android - Bento Gonçalves (08/2011)
Desenvolvimento para Android - Bento Gonçalves (08/2011)Gustavo Ciello
 
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosPalestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosCarlos Eugenio Torres
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 

Destaque (13)

Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Introdução a Tecnologias Web
Introdução a Tecnologias WebIntrodução a Tecnologias Web
Introdução a Tecnologias Web
 
Principais Tecnologias WEB
Principais Tecnologias WEBPrincipais Tecnologias WEB
Principais Tecnologias WEB
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 5 - 0...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 5 - 0...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 5 - 0...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 5 - 0...
 
Workshop Tecnologia Web
Workshop Tecnologia WebWorkshop Tecnologia Web
Workshop Tecnologia Web
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
 
Desenvolvimento para Android - Bento Gonçalves (08/2011)
Desenvolvimento para Android - Bento Gonçalves (08/2011)Desenvolvimento para Android - Bento Gonçalves (08/2011)
Desenvolvimento para Android - Bento Gonçalves (08/2011)
 
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosPalestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 

Semelhante a Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android

Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisRogério Moraes de Carvalho
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileCícero Moura
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis HíbridasThomas Kanzig
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISLIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISOs Fantasmas !
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegapwlsilva
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Luiz Gavinho
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Leonardo Melo Santos
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveiscedulio
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidilegra
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...William S. Rodriguez
 
Apps Híbridos e novas promessas Mobile.
Apps Híbridos e novas promessas Mobile.Apps Híbridos e novas promessas Mobile.
Apps Híbridos e novas promessas Mobile.Tiago Braga
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 

Semelhante a Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android (20)

Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento Mobile
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis Híbridas
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISLIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegap
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Palestra Android
Palestra AndroidPalestra Android
Palestra Android
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
Introdução intel XDK
Introdução intel XDKIntrodução intel XDK
Introdução intel XDK
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveis
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 
Apps Híbridos e novas promessas Mobile.
Apps Híbridos e novas promessas Mobile.Apps Híbridos e novas promessas Mobile.
Apps Híbridos e novas promessas Mobile.
 
Ciclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos MóveisCiclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos Móveis
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 

Mais de Carlos Eugenio Torres

Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Carlos Eugenio Torres
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Carlos Eugenio Torres
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013Carlos Eugenio Torres
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1Carlos Eugenio Torres
 
Vertigus Corporate Presentation 2008
Vertigus Corporate Presentation 2008Vertigus Corporate Presentation 2008
Vertigus Corporate Presentation 2008Carlos Eugenio Torres
 

Mais de Carlos Eugenio Torres (8)

Ingenium Magazine Issue 102
Ingenium Magazine Issue 102Ingenium Magazine Issue 102
Ingenium Magazine Issue 102
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
 
Palestra Mobilidade
Palestra MobilidadePalestra Mobilidade
Palestra Mobilidade
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
 
Vertigus Corporate Presentation 2008
Vertigus Corporate Presentation 2008Vertigus Corporate Presentation 2008
Vertigus Corporate Presentation 2008
 

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.
  • 5. Tipos de Apps Móveis Nativos Web Híbridos
  • 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.
  • 13. Plataforma Android Android Criar novo projeto no Eclipse
  • 14. Plataforma Android Android Tela com novo projeto Principais pastas: src gen Android 2.x assets res
  • 15. Plataforma Android Android Arquitetura
  • 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.
  • 21. Plataforma iOS iOS Criar novo projeto no XCode
  • 22. Plataforma iOS iOS Tela com novo projeto Principais pastas: Classes Other sources Resources Frameworks Products
  • 23. Plataforma iOS iOS Arquitetura
  • 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
  • 33. Projeto Cliente 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
  • 34. Projeto Cliente de Twitter para Android Mãos à obra! +
  • 35. Obrigado! Perguntas? facebook.com/cacira @CACIRA Endereço: Av. Washington Soares, 1400, sala 909, Fortaleza, CE, CEP 60811-341 Website: http://cacira.com.br - E-mail: contato@cacira.com.br - Tel/Fax: (85) 3273-5701