SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
Mobilidade
Desenvolvimento de aplicações móveis
Sobre o palestrante
●   Graduado em Ciência da Computação;
●   Arquiteto/desenvolvedor com mais de 10 anos de experiência com
    desenvolvimento de aplicações de missão crítica;
●   Entusiasta ágil;
●   Especialista na plataforma Java/JEE;
●   Certificados
    ○   SCEA - Sun Certified Enterprise Architect for the Java2 EE

    ○   SCBCD – Sun Certified Business Component Developer

    ○   SCWCD - Sun Certified Web Component Developer for the Java 2EE Platform

    ○   SCPJ2 - Sun Certified Programmer for Java[tm] 2 Platform 1.2

    ○   ISEB ISTQB – Foundation Certificate in Software Testing

●   Atualmente trabalha como consultor freelancer;
Agenda
● Conceito de mobilidade;
● Mercado;
● Por que aderir?
● Desenvolvimento móvel:
  ○ Nativo;
  ○ Web mobile;
  ○ Web mobile versus Nativo;
Agenda
  ○   Híbrido;

  ○   Multiplataforma;

● Plataformas dominantes;
● Qual abordagem?
● Treinamento;
Conceito de mobilidade
● O que é mobilidade?
  ○ Mobilidade ou sistemas
       computacionais móveis são
       sistemas que podem facilmente ser
       movidos fisicamente ou cujas
       capacidades podem ser executadas
       enquanto eles estão sendo
       movidos;


● Em outras palavras:
  ○ Informação disponível em qualquer
       lugar e a qualquer momento;
Mercado
● Vendas de smartphones em 2011
  superaram a venda de PCs;
● Aumento de 45% em relação a 2010;
Mercado
● Em 2013 os smartphones irão superar os
  PCs em acesso à internet;
Mercado
●   Em 2016 serão vendidos 1.6 bilhões de
    smartphones;
Mercado
● Há mais de 3 bilhões de dispositivos móveis;
● 4x o número de PCs;
Mercado
● Estamos nos tornando uma sociedade pós-PC:
  ○ Máquinas e serviços que interagem de forma mais
     natural com os usuários:
     ■   Smartphone;
     ■   Tablet;
     ■   Qualquer dispositivo móvel conectado a Internet;
Por que aderir?
●   Mercado de aplicações e
    dispositivos móveis estão
    em crescimento acelerado;

●   Novos usuários em
    potencial;

●   Para muitas pessoas o
    smartphone é o principal
    dispositivo;
Por que aderir?
● Maior visibilidade e novas
  oportunidades para as
  organizações;

● Segundo GigaOm Pro Survey,
  em 2011 38% dos negócios
  foram feitos com smartphones,
  em comparação a 26% do ano
  anterior;
Por que aderir?
● A Internet levou informação para dentro de
  nossas casas e escritórios, agora é possível
  acessá-la em qualquer lugar;

● Hoje é possível desenvolver praticamente
  qualquer tipo de aplicação:
  ○ E-commerce;
  ○ ERP;
  ○ Aplicações dedicadas;
Desenvolvimento móvel
● Novo paradigma com oportunidades e
  desafios específicos, onde as melhores
  práticas do mundo desktop simplesmente
  não se aplicam;
Desenvolvimento móvel
● Criação de um novo ecossistema em
  constante mudança;

● Sem padrões estabelecidos;

● Mercado em constante experimentação;

● Usuários mobile têm padrões de uso e
  métodos de navegação únicos;
Desenvolvimento móvel
● Características dos dispositivos móveis:

  ○ Múltiplas versões da aplicação:
    ■ Crescente variedade de plataformas (BlackBerry, iPhone,
          Windows Mobile, Android etc) ;


  ○ Diferentes modelos de hardware:
    ■ Android é a plataforma mais fragmentada;
Desenvolvimento móvel
● Tamanho e resolução da tela:
    ○   A aplicação deve estar preparada para adaptar-se automaticamente
        ou devem ser feitas versões diferentes para cada tamanho específico;


● Memória e processamento:
  ○ A aplicação deve preocupar-se com a capacidade de memória e
        processamento do dispositivo que irá ser executada;


● Conexão de rede imprevisível, cobertura limitada e
   baixa velocidade;
Desenvolvimento móvel
● Conectividade:
   ○   Ao desenvolver uma aplicação, deve-se saber de que formas ela vai
       se comunicar com meio externo para a troca de informações;


● Aplicação tem que se preocupar com consumo de
  bateria;
Desenvolvimento móvel
● Antes de migrar ou criar aplicações móveis
  deve-se levar em conta:

  ○ Layout:
    ■ Disponibilizar apenas as funcionalidades mais importantes para o
          usuário. Nesse caso, menos é mais;
      ■   Utilizar navegação vertical e transição entre páginas, ao invés de
          usar navegação esquerda/direita;
      ■   Evitar links multinível;
      ■   Prover atalhos para a home, seção anterior e posterior no fim de
          cada página, para que o usuário não precise rolar a página até o
          início;
Desenvolvimento móvel
 ○ Definir público alvo;

 ○ Conteúdo:
   ■ Garantir que a informação seja fácil de ler e navegar;

 ○ Evitar animações complexas para não consumir
     bateria desnecessariamente;
Desenvolvimento móvel
 ● Imagem:

    ○   Usar imagens apenas quando realmente for necessário;
    ○   Usar os formatos jpeg, png e gif;
    ○   Não permitir zooming;
    ○   Permitir desabilitar imagens;


 ● Tamanho da página:

    ○   É essencial manter as páginas simples e pequenas;
    ○   Evitar que o tamanho das páginas ultrapasse 25 Kb;
Desenvolvimento móvel
● Exemplos:
Desenvolvimento móvel
● Erros comuns:
  ○ Achar que não há necessidade de criar uma versão
     móvel da aplicação só porque a aplicação web abre
     no browser do smartphone;


  ○ Exportar todas as funcionalidades da versão
     desktop para a mobile;


  ○ Utilização frequente do pinch to zoom;
Desenvolvimento móvel
● Erros comuns:

  ○ Páginas web convencionais não foram projetadas
    para serem acessadas por dispositivos móveis:

    ■   Tamanho pré-fixado;
    ■   Animações javascript complexas e efeitos mouse-over;
    ■   Uso de tags específicas;
    ■   Baixa usabilidade e performance;
Desenvolvimento móvel
● Erros comuns:

  ○ Desenvolvimento voltado para um tipo de dispositivo
     ao invés do tamanho da tela e resolução;


  ○ Utilizar os mesmos serviços "API" da versão
     desktop para a versão móvel:
     ■   Tráfego desnecessário de dados;


  ○ Utilizar a mesma abordagem para plataformas
     diferentes;
Desenvolvimento móvel
●   O site da TAM não funciona corretamente no
    Android, iPhone e iPad;
Desenvolvimento móvel
● Diferenças entre Web Mobile e Web Desktop;
Desenvolvimento móvel
● O desenvolvimento de aplicações móveis é
  classificado em:

  ○ Nativo;

  ○ Web mobile;

  ○ Híbrido;

  ○ Multiplataforma;
Nativo
● Refere-se a aplicações desenvolvidas
  usando ling. de programação específica de
  uma plataforma como iOS ou Android;

● Atualmente é a solução preferida pelos
  programadores;
Nativo
● São rápidas, confiáveis e podem acessar
  recursos de hardware (câmera,
  acelerômetro, bússola, etc);

● Restrita a plataforma escolhida;
Nativo
● Vantagens:

  ○   Performance;
  ○   Usabilidade;
  ○   Interfaces rica "Rich GUI";
  ○   Armazenamento local;
  ○   Offline;
  ○   Acesso completo aos hardwares e APIs do
      dispositivo (câmera, accelerometer, compass, etc);
  ○   Monetização;
Nativo
● Desvantagens:

  ○   Alto custo de desenvolvimento e manutenção;
  ○   Atualização não é transparente ao usuário;
  ○   Processo de aprovação;
  ○   Complexidade:
      ■ Cada plataforma tem características específicas;
  ○ Escassez de profissionais capacitados;
Nativo
● Arquitetura;
Nativo
● Comparativo entre plataformas;
Web mobile
● Aplicações que utilizam padrões abertos e
  teoricamente podem ser executadas em
  qualquer dispositivo que possua browser;

● Possibilita uso de conhecimentos prévios das
  tecnologias web (html, xhtml, js e css) com
  novas técnicas para fazer a aplicação
  funcionar em dispositivos móveis;

● Mesmo código para todos os dispositivos;
Web mobile
● Vantagens:

  ○ Portável;
  ○ Uso de tecnologias (HTML/CSS/Javascript)
      conhecidas;
  ○   Problemas de performance são cada vez menos
      importante devido evolução dos browsers móveis;
  ○   Não há processo de aprovação;
  ○   Atualização transparente para o usuário;
Web mobile
● Desvantagens:

  ○ Performance inferior às aplicações nativas;
  ○ Sem acesso a componentes de hardware do
      dispositivo (câmera, acelerômetro, bússola, etc);
  ○   Baixa usabilidade;
  ○   Especificação HTML5 não finalizada;
  ○   Dificuldade em adaptar para diferentes dispositivos,
      resolução de telas e diversidade de browsers;
Web mobile
● Responsive Web
  Design é um conceito
  onde o objetivo é
  apresentar informação
  de forma acessível e
  confortável para
  diversos meios de
  acesso;

● Layout agnostic;
Web mobile
● Com o crescimento da variedade de
  dispositivos, onde os websites são
  visualizados em laptops, tablets, netbooks,
  smartphones e etc, torna-se praticamente
  impossível criar múltiplas versões do mesmo
  web site;

● O web site deve se adaptar para qualquer
  tipo, tamanho e resolução do dispositivo;
Web mobile
● Detecta as características do aparelho como
  resolução e tamanho através de "media
  queries", ao invés do tipo;

● Uso de tecnologias conhecidas como js e
  css para montar o layout do web site;

● Performance pode ser inferior em relação a
  abordagem de diferentes web site para cada
  dispositivo;
Web mobile
● Exemplos:
Web mobile
Exemplos:
Web mobile
● Um design responsivo incluí:

  ○ Adaptar o layout da página de acordo com a
     resolução em que está sendo visualizada;

  ○ Redimensionar as imagens automaticamente para
     que caibam na tela e para que não sobrecarreguem
     a transferência de dados;
Web mobile
 ○ Ocultar elementos desnecessários nos dispositivos;

 ○ Adaptar tamanho de botões e links para interfaces
    touch onde o ponteiro do mouse é substituído pelo
    dedo do usuário;

 ○ Utilizar de forma inteligente recursos mobile como
    geolocalização e mudança na orientação do
    aparelho (horizontal ou vertical);
Web mobile
Exemplos:
Web mobile
Exemplos:
Web mobile
● Atualmente há um crescente interesse no
  uso da tríade (HTML5, JS e CSS3) para o
  desenvolvimento de aplicações web mobile;

● HTML5 permite criar aplicações que
  ofereçam experiência próxima a das
  aplicações nativas:
  ○ Suporte a multitouch, GPS;
  ○ Armazenamento local;
Web mobile
● Frameworks específicos "JQuery Mobile"
  HTML5 para o desenvolvimento móvel;

● Empresas como Microsoft, Facebook e
  Financial Times estão investindo em
  HTML5;

● Microsoft anunciou que será possível
  desenvolver aplicação para o Windows 8
  usando apenas HTML5 e JavaScript;
Web mobile
● Tendências para 2012 segundo relatório do
  Appcelerator/IDC:
  ○ Crescente interesse por HTML5;
  ○ 79% dos desenvolvedores dizem que planejam usar ou integrar HTML5
        em suas aplicações mobile;
    ○   O principal problema do HTML5 é que o padrão ainda não foi finalizado;
Web mobile
● Apesar das aplicações web mobile ainda
  não conseguirem obter a mesma eficácia e
  eficiência das aplicações nativas, é apenas
  questão de tempo para aplicações web
  mobile superarem as aplicações nativas;

● A história está se repetindo:
  ○ Alguém se lembra dos anos 90´s?
Web mobile versus nativo
The Issues             Native Apps                       Web Apps
Internet access        Not required                      Required, except for rare apps with offline
                                                         capability
Installation/updates   Must be deployed or               Hit refresh
                       downloaded
User interface         Native apps are responsive and    Browsers can be clunky, but new
                       functional                        advancements in JavaScript like jQuery
                                                         Mobile are catching up fast
Device compatibility   Platform-dependent, hardware-     Platform-agnostic, content can be
                       dependent                         reformatted with CSS to suit any device
Animation/Graphics     Fast and responsive               Web apps are getting closer, but will
                                                         probably always lag
Streaming media        Few problems with audio and       Flash works where supported. Browser-
                       video. Flash works, but only if   based audio and video are getting there,
                       the device supports it            but still beset by compatibility headaches.
                                                         Give it a year or two
Web mobile versus nativo
The Issues          Native Apps                            Web Apps
Access to           Yes, all of them: camera,              Access through the browser is limited, though
hardware sensors    gyroscope, microphone, compass,        geolocation is common
                    accelerometer, GPS
Development         Specific tools required for some       Write once, publish once, view it anywhere.
                    platforms (like Apple’s). You have     Multiple tools and libraries to choose from
                    to build a new app for each target
                    platform
Can I sell it?      Charge whatever you want. Most         Advertising is tolerated, subscriptions and
                    app distributors take a slice, up to   paywalls less so. No distribution costs
                    30%                                    beyond server fees
Distribution        Most app stores require approval.      No such hassle
                    And you gotta wait

Outside access to   No, the reader must download your      Yep, just click a link
your content        app
Advertising         Control over design (though limited    More choices for design, plus access to web
                    in iAds) and rate                      analytics. Rates vary widely
Híbrido
● Aplicação nativa que encapsula tecnologias
  web;

● Transparente para o usuário;

● Regra de negócio fica no servidor;

● Interface do usuário nativa da plataforma:
  ○ Assegura acesso a componentes de hardware;
Híbrido
● Arquitetura;
Híbrido
● Exemplos;
Desenvolvimento móvel
● Comparativo entre abordagens;
Desenvolvimento móvel
● Trade-off;
Multiplataforma
● Frameworks projetados para criar
  aplicações multiplataforma sem a
  necessidade de reescrever a aplicação para
  cada plataforma;

● Foco no negócio da aplicação;

● Frameworks populares:
  ○ Titanium;
  ○ PhoneGAP;
Multiplataforma
● Vantagens

  ○ Interface gráfica nativa da plataforma;

  ○ Acesso aos recursos de hardware do dispositivo;

  ○ Código fonte único;

  ○ Menor time to market;
Multiplataforma
● Desvantagens:

  ○ Pode ser necessário ter que aprender ling. ou
    tecnologia proprietária;

  ○ Dependência do framework;

  ○ Custo;

  ○ Não adequado para desenvolvimento de aplicações
    complexas;
Multiplataforma
● Titanium:
  ○ Tecnologias Web(HTML, JS, CSS e Python);
  ○ Cria aplicação web e/ou nativa;
  ○ Acesso completo aos hardwares e APIs do
    dispositivo;
  ○ Suporte para iPhone,iPad e Android;

● PhoneGap:
  ○ Tecnologias Web(HTML e JS);
  ○ Acesso completo aos hardwares e APIs do
    dispositivo;
  ○ Suporte para iPhone, iPad e Android, Blackberry e
    Symbian;
Multiplataforma
Plataformas dominantes
●   De acordo com o NDP as plataformas iOS e
    Android representaram 90% do mercado
    móvel em 2011;
Plataformas dominantes
● Android 47%
● iOS 43%
iOS
● Linguagem: Objective-C;

● Curva de aprendizado maior na ling.
  Objective-C por ser pouca difundida;

● Muitas funcionalidades na API, mas
  aplicações ficam presas numa "sandbox";

● Exclusivo para iPhone, iPod e iPad;
iOS
● IDE: Xcode (Apenas Mac OS);

● Mensalidade anual de $99,00;

● Interface do usuário e hardware
  padronizados para todos os dispositivos;

● Aprovação de uma aplicação na App Store
  dura aproximadamente 15 dias;
iOS
● Arquitetura;
Android
● Plataforma mais popular;

● Faz parte da Open Handset Alliance:
  ○ Samsung;
  ○ Motorola;
  ○ LG;


● Código aberto;

● Linguagem: Java;
Android
● IDE: Eclipse;

● Aplicação é executada dentro da máquina
  virtual "Dalvik";

● Fragmentada:
  ○ Diversos tipos de aparelhos com hardwares,
    memórias e versões do Android diferentes;

● Taxa de licenciamento única de $25,00;
Android
● Muitas funcionalidades na API;

● Pequena curva de aprendizado para quem
  conhece Java;

● Processo de aprovação simples e rápido;

● Houve casos de aplicações infectadas por
  Malware;
Android
● Arquitetura;
Qual abordagem?
● Não existe solução única e padronizada
  para todos os tipos de aplicações;

● Cada solução precisa de uma análise
  detalhada de todos os requisitos que devem
  ser implementados na aplicação;

● Foco no curto prazo, pois os conceitos
  estão em constante mudança;
Qual abordagem?
●   Geralmente aplicações Web mobile são mais
    baratas para desenvolver e distribuir, mas não
    oferecem a mesma experiência que as
    aplicações nativas;

●   Se acesso a recursos de hardware for
    requisito mandatório, acredito que a
    abordagem "híbrida", "multiplataforma" ou
    "nativa" seja mais adequada;
Treinamento
Referências
●   http://www.gartner.com;
●   http://www.businessinsider.com/category/intelligence;
●   http://www.morganstanley.com/;
●   http://econsultancy.com/us/blog/7832-the-fight-gets-technical-mobile-apps-
    vs-mobile-sites;
●   http://www.yahoo.com;
●   http://pro.gigaom.com/;
●   http://www.appcelerator.com/company/survey-results/mobile-developer-
    report-q-2012/;
●   http://marketshare.hitslink.com;
●   http://www.jumptap.com/blog/android-and-iphone-now-hog-91-of-mobile-
    os-market-share/;
●   http://www.zdnetasia.com/analysis-of-mobile-development-approaches-
    62300902.htm;
●   http://phonegap.com/2011/10/13/phonegap-build-pricing-plans-update/;
●   http://www.appcelerator.com/products/titanium-mobile-application-
    development/;
●   http://www.boxuk.com/blog/mobile-the-business-case;

Mais conteúdo relacionado

Mais procurados

Boas Práticas em Design de Interfaces
Boas Práticas em Design de InterfacesBoas Práticas em Design de Interfaces
Boas Práticas em Design de InterfacesFelipe Almeida
 
Design Thinking - Prototipação
Design Thinking  - PrototipaçãoDesign Thinking  - Prototipação
Design Thinking - PrototipaçãoUFPA
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de PrototipaçãoJuliano Pires
 
Workshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produtoWorkshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produtoCarla De Bona
 
Projecto e Produção Multimédia
Projecto e Produção MultimédiaProjecto e Produção Multimédia
Projecto e Produção MultimédiaGoncalo
 
Mini Curso - Design de Interface para Dispositivos Móveis
Mini Curso - Design de Interface para Dispositivos MóveisMini Curso - Design de Interface para Dispositivos Móveis
Mini Curso - Design de Interface para Dispositivos MóveisJane Vita
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRonildo Oliveira
 
Exercícios Photoshop 2
Exercícios Photoshop 2Exercícios Photoshop 2
Exercícios Photoshop 2João Leal
 
Sistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoSistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Princípios Básicos do Design de Sistemas Interativos
Princípios Básicos do Design de Sistemas InterativosPrincípios Básicos do Design de Sistemas Interativos
Princípios Básicos do Design de Sistemas InterativosWellington Oliveira
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAndré Constantino da Silva
 
Documentar e planejar projetos de UX
Documentar e planejar projetos de UXDocumentar e planejar projetos de UX
Documentar e planejar projetos de UXTersis Zonato
 
O que é Computação Gráfica?
O que é Computação Gráfica?O que é Computação Gráfica?
O que é Computação Gráfica?Liliane Machado
 

Mais procurados (20)

Boas Práticas em Design de Interfaces
Boas Práticas em Design de InterfacesBoas Práticas em Design de Interfaces
Boas Práticas em Design de Interfaces
 
DESIGN DE INTERFACE
DESIGN DE INTERFACEDESIGN DE INTERFACE
DESIGN DE INTERFACE
 
Design Thinking - Prototipação
Design Thinking  - PrototipaçãoDesign Thinking  - Prototipação
Design Thinking - Prototipação
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de Prototipação
 
Ux design - Conceitos Básicos
Ux design - Conceitos BásicosUx design - Conceitos Básicos
Ux design - Conceitos Básicos
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Workshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produtoWorkshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produto
 
Projecto e Produção Multimédia
Projecto e Produção MultimédiaProjecto e Produção Multimédia
Projecto e Produção Multimédia
 
Manual do Gimp
Manual do GimpManual do Gimp
Manual do Gimp
 
Mini Curso - Design de Interface para Dispositivos Móveis
Mini Curso - Design de Interface para Dispositivos MóveisMini Curso - Design de Interface para Dispositivos Móveis
Mini Curso - Design de Interface para Dispositivos Móveis
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em Jogos
 
Exercícios Photoshop 2
Exercícios Photoshop 2Exercícios Photoshop 2
Exercícios Photoshop 2
 
Sistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoSistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - Apresentação
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Princípios Básicos do Design de Sistemas Interativos
Princípios Básicos do Design de Sistemas InterativosPrincípios Básicos do Design de Sistemas Interativos
Princípios Básicos do Design de Sistemas Interativos
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de Usuário
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Documentar e planejar projetos de UX
Documentar e planejar projetos de UXDocumentar e planejar projetos de UX
Documentar e planejar projetos de UX
 
O que é Computação Gráfica?
O que é Computação Gráfica?O que é Computação Gráfica?
O que é Computação Gráfica?
 

Semelhante a Introdução ao Desenvolvimento Móvel

Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Pedro Edson Silva Barros
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveisYgor Castro
 
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
 
O Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileO Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileThiago Cortat
 
Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Nelson Glauber Leal
 
Mobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMateada
 
Apresentação asoso tipos de aplicações móveis
Apresentação asoso   tipos de aplicações móveisApresentação asoso   tipos de aplicações móveis
Apresentação asoso tipos de aplicações móveisprismsouza
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchLeonardo Soares
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobileGustavo Barbosa
 
Apresentação asoso - Tipos de aplicações móveis
Apresentação asoso - Tipos de aplicações móveisApresentação asoso - Tipos de aplicações móveis
Apresentação asoso - Tipos de aplicações móveisprismsouza
 
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
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)grupouro
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)grupouro
 

Semelhante a Introdução ao Desenvolvimento Móvel (20)

Os caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobileOs caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobile
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveis
 
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
 
O Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileO Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em Mobile
 
Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023
 
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
 
Mobile
MobileMobile
Mobile
 
Mobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMobile Marketing - Agência Mateada
Mobile Marketing - Agência Mateada
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
 
Apresentação asoso tipos de aplicações móveis
Apresentação asoso   tipos de aplicações móveisApresentação asoso   tipos de aplicações móveis
Apresentação asoso tipos de aplicações móveis
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobile
 
Web Mobile
Web MobileWeb Mobile
Web Mobile
 
Apresentação asoso - Tipos de aplicações móveis
Apresentação asoso - Tipos de aplicações móveisApresentação asoso - Tipos de aplicações móveis
Apresentação asoso - Tipos de aplicações móveis
 
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...
 
Phonegap
PhonegapPhonegap
Phonegap
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 

Último

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (8)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Introdução ao Desenvolvimento Móvel

  • 2. Sobre o palestrante ● Graduado em Ciência da Computação; ● Arquiteto/desenvolvedor com mais de 10 anos de experiência com desenvolvimento de aplicações de missão crítica; ● Entusiasta ágil; ● Especialista na plataforma Java/JEE; ● Certificados ○ SCEA - Sun Certified Enterprise Architect for the Java2 EE ○ SCBCD – Sun Certified Business Component Developer ○ SCWCD - Sun Certified Web Component Developer for the Java 2EE Platform ○ SCPJ2 - Sun Certified Programmer for Java[tm] 2 Platform 1.2 ○ ISEB ISTQB – Foundation Certificate in Software Testing ● Atualmente trabalha como consultor freelancer;
  • 3. Agenda ● Conceito de mobilidade; ● Mercado; ● Por que aderir? ● Desenvolvimento móvel: ○ Nativo; ○ Web mobile; ○ Web mobile versus Nativo;
  • 4. Agenda ○ Híbrido; ○ Multiplataforma; ● Plataformas dominantes; ● Qual abordagem? ● Treinamento;
  • 5. Conceito de mobilidade ● O que é mobilidade? ○ Mobilidade ou sistemas computacionais móveis são sistemas que podem facilmente ser movidos fisicamente ou cujas capacidades podem ser executadas enquanto eles estão sendo movidos; ● Em outras palavras: ○ Informação disponível em qualquer lugar e a qualquer momento;
  • 6. Mercado ● Vendas de smartphones em 2011 superaram a venda de PCs; ● Aumento de 45% em relação a 2010;
  • 7. Mercado ● Em 2013 os smartphones irão superar os PCs em acesso à internet;
  • 8. Mercado ● Em 2016 serão vendidos 1.6 bilhões de smartphones;
  • 9. Mercado ● Há mais de 3 bilhões de dispositivos móveis; ● 4x o número de PCs;
  • 10. Mercado ● Estamos nos tornando uma sociedade pós-PC: ○ Máquinas e serviços que interagem de forma mais natural com os usuários: ■ Smartphone; ■ Tablet; ■ Qualquer dispositivo móvel conectado a Internet;
  • 11. Por que aderir? ● Mercado de aplicações e dispositivos móveis estão em crescimento acelerado; ● Novos usuários em potencial; ● Para muitas pessoas o smartphone é o principal dispositivo;
  • 12. Por que aderir? ● Maior visibilidade e novas oportunidades para as organizações; ● Segundo GigaOm Pro Survey, em 2011 38% dos negócios foram feitos com smartphones, em comparação a 26% do ano anterior;
  • 13. Por que aderir? ● A Internet levou informação para dentro de nossas casas e escritórios, agora é possível acessá-la em qualquer lugar; ● Hoje é possível desenvolver praticamente qualquer tipo de aplicação: ○ E-commerce; ○ ERP; ○ Aplicações dedicadas;
  • 14. Desenvolvimento móvel ● Novo paradigma com oportunidades e desafios específicos, onde as melhores práticas do mundo desktop simplesmente não se aplicam;
  • 15. Desenvolvimento móvel ● Criação de um novo ecossistema em constante mudança; ● Sem padrões estabelecidos; ● Mercado em constante experimentação; ● Usuários mobile têm padrões de uso e métodos de navegação únicos;
  • 16. Desenvolvimento móvel ● Características dos dispositivos móveis: ○ Múltiplas versões da aplicação: ■ Crescente variedade de plataformas (BlackBerry, iPhone, Windows Mobile, Android etc) ; ○ Diferentes modelos de hardware: ■ Android é a plataforma mais fragmentada;
  • 17. Desenvolvimento móvel ● Tamanho e resolução da tela: ○ A aplicação deve estar preparada para adaptar-se automaticamente ou devem ser feitas versões diferentes para cada tamanho específico; ● Memória e processamento: ○ A aplicação deve preocupar-se com a capacidade de memória e processamento do dispositivo que irá ser executada; ● Conexão de rede imprevisível, cobertura limitada e baixa velocidade;
  • 18. Desenvolvimento móvel ● Conectividade: ○ Ao desenvolver uma aplicação, deve-se saber de que formas ela vai se comunicar com meio externo para a troca de informações; ● Aplicação tem que se preocupar com consumo de bateria;
  • 19. Desenvolvimento móvel ● Antes de migrar ou criar aplicações móveis deve-se levar em conta: ○ Layout: ■ Disponibilizar apenas as funcionalidades mais importantes para o usuário. Nesse caso, menos é mais; ■ Utilizar navegação vertical e transição entre páginas, ao invés de usar navegação esquerda/direita; ■ Evitar links multinível; ■ Prover atalhos para a home, seção anterior e posterior no fim de cada página, para que o usuário não precise rolar a página até o início;
  • 20. Desenvolvimento móvel ○ Definir público alvo; ○ Conteúdo: ■ Garantir que a informação seja fácil de ler e navegar; ○ Evitar animações complexas para não consumir bateria desnecessariamente;
  • 21. Desenvolvimento móvel ● Imagem: ○ Usar imagens apenas quando realmente for necessário; ○ Usar os formatos jpeg, png e gif; ○ Não permitir zooming; ○ Permitir desabilitar imagens; ● Tamanho da página: ○ É essencial manter as páginas simples e pequenas; ○ Evitar que o tamanho das páginas ultrapasse 25 Kb;
  • 23. Desenvolvimento móvel ● Erros comuns: ○ Achar que não há necessidade de criar uma versão móvel da aplicação só porque a aplicação web abre no browser do smartphone; ○ Exportar todas as funcionalidades da versão desktop para a mobile; ○ Utilização frequente do pinch to zoom;
  • 24. Desenvolvimento móvel ● Erros comuns: ○ Páginas web convencionais não foram projetadas para serem acessadas por dispositivos móveis: ■ Tamanho pré-fixado; ■ Animações javascript complexas e efeitos mouse-over; ■ Uso de tags específicas; ■ Baixa usabilidade e performance;
  • 25. Desenvolvimento móvel ● Erros comuns: ○ Desenvolvimento voltado para um tipo de dispositivo ao invés do tamanho da tela e resolução; ○ Utilizar os mesmos serviços "API" da versão desktop para a versão móvel: ■ Tráfego desnecessário de dados; ○ Utilizar a mesma abordagem para plataformas diferentes;
  • 26. Desenvolvimento móvel ● O site da TAM não funciona corretamente no Android, iPhone e iPad;
  • 27. Desenvolvimento móvel ● Diferenças entre Web Mobile e Web Desktop;
  • 28. Desenvolvimento móvel ● O desenvolvimento de aplicações móveis é classificado em: ○ Nativo; ○ Web mobile; ○ Híbrido; ○ Multiplataforma;
  • 29. Nativo ● Refere-se a aplicações desenvolvidas usando ling. de programação específica de uma plataforma como iOS ou Android; ● Atualmente é a solução preferida pelos programadores;
  • 30. Nativo ● São rápidas, confiáveis e podem acessar recursos de hardware (câmera, acelerômetro, bússola, etc); ● Restrita a plataforma escolhida;
  • 31. Nativo ● Vantagens: ○ Performance; ○ Usabilidade; ○ Interfaces rica "Rich GUI"; ○ Armazenamento local; ○ Offline; ○ Acesso completo aos hardwares e APIs do dispositivo (câmera, accelerometer, compass, etc); ○ Monetização;
  • 32. Nativo ● Desvantagens: ○ Alto custo de desenvolvimento e manutenção; ○ Atualização não é transparente ao usuário; ○ Processo de aprovação; ○ Complexidade: ■ Cada plataforma tem características específicas; ○ Escassez de profissionais capacitados;
  • 35. Web mobile ● Aplicações que utilizam padrões abertos e teoricamente podem ser executadas em qualquer dispositivo que possua browser; ● Possibilita uso de conhecimentos prévios das tecnologias web (html, xhtml, js e css) com novas técnicas para fazer a aplicação funcionar em dispositivos móveis; ● Mesmo código para todos os dispositivos;
  • 36. Web mobile ● Vantagens: ○ Portável; ○ Uso de tecnologias (HTML/CSS/Javascript) conhecidas; ○ Problemas de performance são cada vez menos importante devido evolução dos browsers móveis; ○ Não há processo de aprovação; ○ Atualização transparente para o usuário;
  • 37. Web mobile ● Desvantagens: ○ Performance inferior às aplicações nativas; ○ Sem acesso a componentes de hardware do dispositivo (câmera, acelerômetro, bússola, etc); ○ Baixa usabilidade; ○ Especificação HTML5 não finalizada; ○ Dificuldade em adaptar para diferentes dispositivos, resolução de telas e diversidade de browsers;
  • 38. Web mobile ● Responsive Web Design é um conceito onde o objetivo é apresentar informação de forma acessível e confortável para diversos meios de acesso; ● Layout agnostic;
  • 39. Web mobile ● Com o crescimento da variedade de dispositivos, onde os websites são visualizados em laptops, tablets, netbooks, smartphones e etc, torna-se praticamente impossível criar múltiplas versões do mesmo web site; ● O web site deve se adaptar para qualquer tipo, tamanho e resolução do dispositivo;
  • 40. Web mobile ● Detecta as características do aparelho como resolução e tamanho através de "media queries", ao invés do tipo; ● Uso de tecnologias conhecidas como js e css para montar o layout do web site; ● Performance pode ser inferior em relação a abordagem de diferentes web site para cada dispositivo;
  • 43. Web mobile ● Um design responsivo incluí: ○ Adaptar o layout da página de acordo com a resolução em que está sendo visualizada; ○ Redimensionar as imagens automaticamente para que caibam na tela e para que não sobrecarreguem a transferência de dados;
  • 44. Web mobile ○ Ocultar elementos desnecessários nos dispositivos; ○ Adaptar tamanho de botões e links para interfaces touch onde o ponteiro do mouse é substituído pelo dedo do usuário; ○ Utilizar de forma inteligente recursos mobile como geolocalização e mudança na orientação do aparelho (horizontal ou vertical);
  • 47. Web mobile ● Atualmente há um crescente interesse no uso da tríade (HTML5, JS e CSS3) para o desenvolvimento de aplicações web mobile; ● HTML5 permite criar aplicações que ofereçam experiência próxima a das aplicações nativas: ○ Suporte a multitouch, GPS; ○ Armazenamento local;
  • 48. Web mobile ● Frameworks específicos "JQuery Mobile" HTML5 para o desenvolvimento móvel; ● Empresas como Microsoft, Facebook e Financial Times estão investindo em HTML5; ● Microsoft anunciou que será possível desenvolver aplicação para o Windows 8 usando apenas HTML5 e JavaScript;
  • 49. Web mobile ● Tendências para 2012 segundo relatório do Appcelerator/IDC: ○ Crescente interesse por HTML5; ○ 79% dos desenvolvedores dizem que planejam usar ou integrar HTML5 em suas aplicações mobile; ○ O principal problema do HTML5 é que o padrão ainda não foi finalizado;
  • 50. Web mobile ● Apesar das aplicações web mobile ainda não conseguirem obter a mesma eficácia e eficiência das aplicações nativas, é apenas questão de tempo para aplicações web mobile superarem as aplicações nativas; ● A história está se repetindo: ○ Alguém se lembra dos anos 90´s?
  • 51. Web mobile versus nativo The Issues Native Apps Web Apps Internet access Not required Required, except for rare apps with offline capability Installation/updates Must be deployed or Hit refresh downloaded User interface Native apps are responsive and Browsers can be clunky, but new functional advancements in JavaScript like jQuery Mobile are catching up fast Device compatibility Platform-dependent, hardware- Platform-agnostic, content can be dependent reformatted with CSS to suit any device Animation/Graphics Fast and responsive Web apps are getting closer, but will probably always lag Streaming media Few problems with audio and Flash works where supported. Browser- video. Flash works, but only if based audio and video are getting there, the device supports it but still beset by compatibility headaches. Give it a year or two
  • 52. Web mobile versus nativo The Issues Native Apps Web Apps Access to Yes, all of them: camera, Access through the browser is limited, though hardware sensors gyroscope, microphone, compass, geolocation is common accelerometer, GPS Development Specific tools required for some Write once, publish once, view it anywhere. platforms (like Apple’s). You have Multiple tools and libraries to choose from to build a new app for each target platform Can I sell it? Charge whatever you want. Most Advertising is tolerated, subscriptions and app distributors take a slice, up to paywalls less so. No distribution costs 30% beyond server fees Distribution Most app stores require approval. No such hassle And you gotta wait Outside access to No, the reader must download your Yep, just click a link your content app Advertising Control over design (though limited More choices for design, plus access to web in iAds) and rate analytics. Rates vary widely
  • 53. Híbrido ● Aplicação nativa que encapsula tecnologias web; ● Transparente para o usuário; ● Regra de negócio fica no servidor; ● Interface do usuário nativa da plataforma: ○ Assegura acesso a componentes de hardware;
  • 58. Multiplataforma ● Frameworks projetados para criar aplicações multiplataforma sem a necessidade de reescrever a aplicação para cada plataforma; ● Foco no negócio da aplicação; ● Frameworks populares: ○ Titanium; ○ PhoneGAP;
  • 59. Multiplataforma ● Vantagens ○ Interface gráfica nativa da plataforma; ○ Acesso aos recursos de hardware do dispositivo; ○ Código fonte único; ○ Menor time to market;
  • 60. Multiplataforma ● Desvantagens: ○ Pode ser necessário ter que aprender ling. ou tecnologia proprietária; ○ Dependência do framework; ○ Custo; ○ Não adequado para desenvolvimento de aplicações complexas;
  • 61. Multiplataforma ● Titanium: ○ Tecnologias Web(HTML, JS, CSS e Python); ○ Cria aplicação web e/ou nativa; ○ Acesso completo aos hardwares e APIs do dispositivo; ○ Suporte para iPhone,iPad e Android; ● PhoneGap: ○ Tecnologias Web(HTML e JS); ○ Acesso completo aos hardwares e APIs do dispositivo; ○ Suporte para iPhone, iPad e Android, Blackberry e Symbian;
  • 63. Plataformas dominantes ● De acordo com o NDP as plataformas iOS e Android representaram 90% do mercado móvel em 2011;
  • 65. iOS ● Linguagem: Objective-C; ● Curva de aprendizado maior na ling. Objective-C por ser pouca difundida; ● Muitas funcionalidades na API, mas aplicações ficam presas numa "sandbox"; ● Exclusivo para iPhone, iPod e iPad;
  • 66. iOS ● IDE: Xcode (Apenas Mac OS); ● Mensalidade anual de $99,00; ● Interface do usuário e hardware padronizados para todos os dispositivos; ● Aprovação de uma aplicação na App Store dura aproximadamente 15 dias;
  • 68. Android ● Plataforma mais popular; ● Faz parte da Open Handset Alliance: ○ Samsung; ○ Motorola; ○ LG; ● Código aberto; ● Linguagem: Java;
  • 69. Android ● IDE: Eclipse; ● Aplicação é executada dentro da máquina virtual "Dalvik"; ● Fragmentada: ○ Diversos tipos de aparelhos com hardwares, memórias e versões do Android diferentes; ● Taxa de licenciamento única de $25,00;
  • 70. Android ● Muitas funcionalidades na API; ● Pequena curva de aprendizado para quem conhece Java; ● Processo de aprovação simples e rápido; ● Houve casos de aplicações infectadas por Malware;
  • 72. Qual abordagem? ● Não existe solução única e padronizada para todos os tipos de aplicações; ● Cada solução precisa de uma análise detalhada de todos os requisitos que devem ser implementados na aplicação; ● Foco no curto prazo, pois os conceitos estão em constante mudança;
  • 73. Qual abordagem? ● Geralmente aplicações Web mobile são mais baratas para desenvolver e distribuir, mas não oferecem a mesma experiência que as aplicações nativas; ● Se acesso a recursos de hardware for requisito mandatório, acredito que a abordagem "híbrida", "multiplataforma" ou "nativa" seja mais adequada;
  • 75. Referências ● http://www.gartner.com; ● http://www.businessinsider.com/category/intelligence; ● http://www.morganstanley.com/; ● http://econsultancy.com/us/blog/7832-the-fight-gets-technical-mobile-apps- vs-mobile-sites; ● http://www.yahoo.com; ● http://pro.gigaom.com/; ● http://www.appcelerator.com/company/survey-results/mobile-developer- report-q-2012/; ● http://marketshare.hitslink.com; ● http://www.jumptap.com/blog/android-and-iphone-now-hog-91-of-mobile- os-market-share/; ● http://www.zdnetasia.com/analysis-of-mobile-development-approaches- 62300902.htm; ● http://phonegap.com/2011/10/13/phonegap-build-pricing-plans-update/; ● http://www.appcelerator.com/products/titanium-mobile-application- development/; ● http://www.boxuk.com/blog/mobile-the-business-case;