Hugo Raniere
Jampa Mobility Forum 2009
   Mundo dos Dispositivos Móveis:
    ◦   Inúmeros Dispositivos
    ◦   Diversas Plataformas
    ◦   Diversos Fabricantes
    ◦   Várias pessoas interessadas em desenvolver aplicativos
    ◦   Resultado: diversas ferramentas




                                   Desenvolvimento para Dispositivos Móveis:
                                         Um Walkthrough pelas Ferramentas
Melhores
                                   ferramentas


     Mais investimentos                                 Maior facilidade e
     em ferramentas por                                   agilidade no
    parte dos fabricantes                               desenvolvimento




              Importância das ferramentas


Mais dispositivos                                                  Mais
    vendidos                                                  desenvolvedores




                    Maior quantidade        Maior quantidade de
                        usuários                aplicações
                      interessados             desenvolvidas




                                         Desenvolvimento para Dispositivos Móveis:
                                               Um Walkthrough pelas Ferramentas
   Ainda é a plataforma mais utilizada para
    desenvolvimento móvel
   Mais de 2 bilhões de dispositivos no mundo




                         Desenvolvimento para Dispositivos Móveis:
                               Um Walkthrough pelas Ferramentas
   Ciclo de Desenvolvimento



Codificação       Compilação     Empacotamento                    Teste           Deploy




                                 + [Assinatura]
              + Preverificação
                                 +[Obfuscação]




                                      Desenvolvimento para Dispositivos Móveis:
                                            Um Walkthrough pelas Ferramentas
   Tipos de Ferramentas:
    ◦ Software Development Kits – SDKs
    ◦ Integrated Development Environments – IDEs
    ◦ Plug-ins para IDEs
    ◦ Soluções Completas (IDE + Plug-in + SDK)
    ◦ Automação de Builds




                            Desenvolvimento para Dispositivos Móveis:
                                  Um Walkthrough pelas Ferramentas
   SDKs – Software Development Kits

Codificação     Compilação      Empacotamento                    Teste              Deploy




                                                                                        Deploy
              APIs (Stubs)   Signing Tools           Emuladores                         Tools

              Preverifier                                  Debug
                                                           Profiler
                                                            Trace


                  JDK
                                               Demos                             Docs

                                     Desenvolvimento para Dispositivos Móveis:
                                           Um Walkthrough pelas Ferramentas
   SDKs – Software Development Kits
    ◦ WTK – Sun Java Wireless Toolkit
     http://java.sun.com/products/sjwtoolkit/
    ◦ Fabricantes:
      Motorola – MOTODEV SDK for Java ME
       http://developer.motorola.com/
      Nokia – SDKs diferentes por plataforma
       http://forum.nokia.com/
      Sony Ericsson – Sony Ericsson SDK for the Java ME
       Platform
       http://developer.sonyericsson.com



                               Desenvolvimento para Dispositivos Móveis:
                                     Um Walkthrough pelas Ferramentas
SUN WTK




          Desenvolvimento para Dispositivos Móveis:
                Um Walkthrough pelas Ferramentas
MOTODEV SDK




              Desenvolvimento para Dispositivos Móveis:
                    Um Walkthrough pelas Ferramentas
Nokia Series 40 6th edition SDK




                        Desenvolvimento para Dispositivos Móveis:
                              Um Walkthrough pelas Ferramentas
   IDEs + Plug-ins

 Codificação       Compilação     Empacotamento                   Teste           Deploy




Edição de Código                  Criação do Jar

 Edição de JAD                    Signing Tools

                                   Obfuscators
                                                                   Integração com
                   Compiladores                                         SDKs
                      Java



                                      Desenvolvimento para Dispositivos Móveis:
                                            Um Walkthrough pelas Ferramentas
   IDEs – Integrated Development Environments
    ◦ Eclipse
     http://www.eclipse.org/
    ◦ NetBeans
     http://www.netbeans.org/
   Plugins para Java ME
    ◦ Eclipse Mobile Tools for Java – MTJ
     http://www.eclipse.org/dsdp/mtj/
    ◦ NetBeans Mobility Pack – empacotado com a
      distribuição padrão do Netbeans



                                Desenvolvimento para Dispositivos Móveis:
                                      Um Walkthrough pelas Ferramentas
   Soluções Completas
    ◦ Eclipse + MTJ + SDK;
    ◦ NetBeans + Mobility Pack + SDK

    ◦ MOTODEV Studio for Java ME
     (Eclipse + MTJ + MOTODEV SDK + outros plug-ins motorola)


    ◦ Nokia Carbide.J (descontinuado)




                                 Desenvolvimento para Dispositivos Móveis:
                                       Um Walkthrough pelas Ferramentas
   Automação de Builds
    ◦ Antenna
     Extensão do ant com tasks para Java ME
     http://antenna.sourceforge.net/

    ◦ MTJ exporta buildfiles dos projetos para Antenna.




                               Desenvolvimento para Dispositivos Móveis:
                                     Um Walkthrough pelas Ferramentas
Desenvolvimento para Dispositivos Móveis:
      Um Walkthrough pelas Ferramentas
Desenvolvimento para Dispositivos Móveis:
      Um Walkthrough pelas Ferramentas
Desenvolvimento para Dispositivos Móveis:
      Um Walkthrough pelas Ferramentas
Instalar JDK (download);



    Instalar WTK (download);



        Instalar Eclipse (download);



            Instalar MTJ através do Eclipse (update site);



                 Configurar WTK no MTJ;


                                       Desenvolvimento para Dispositivos Móveis:
                                             Um Walkthrough pelas Ferramentas
1


2



                        3

    http://download.eclipse.org/dsdp/mtj/updates/1.0/stable/




                              4

                                                           5

               Desenvolvimento para Dispositivos Móveis:
                     Um Walkthrough pelas Ferramentas
7



6




    Desenvolvimento para Dispositivos Móveis:
          Um Walkthrough pelas Ferramentas
8


                         9



                                                     10




11


         Desenvolvimento para Dispositivos Móveis:
               Um Walkthrough pelas Ferramentas
1




                                     3
2




        Desenvolvimento para Dispositivos Móveis:
              Um Walkthrough pelas Ferramentas
Local de instalação do WTK




4




                                            5
                  Desenvolvimento para Dispositivos Móveis:
                        Um Walkthrough pelas Ferramentas
Desenvolvimento para Dispositivos Móveis:
      Um Walkthrough pelas Ferramentas
   Plataforma da Open Handset Alliance
    http://code.google.com/android/
   Dispositivo disponível no mercado:
    ◦ G1 da HTC


   Ferramentas:
    ◦ Android SDK
    ◦ Eclipse com ADT (Android Development Tools)




                               Desenvolvimento para Dispositivos Móveis:
                                     Um Walkthrough pelas Ferramentas
   Android SDK
    ◦ Conjunto de ferramentas similar ao de um SDK Java
      ME
    ◦ Android Tool (gerencia projetos)
    ◦ Android Emulator
    ◦ Android Debug Bridge
    ◦ Usa ferramentas do JDK
    ◦ Linha de comando ou ANT




                            Desenvolvimento para Dispositivos Móveis:
                                  Um Walkthrough pelas Ferramentas
   ADT – Android Developer Tools
    ◦ Plug-in para o eclipse
    ◦ Forma de desenvolvimento recomendada pela OHA
    ◦ Instalado via “Sofware Updates” do Eclipse
      Mesma processo do MTJ
      URL: https://dl-ssl.google.com/android/eclipse/ ou
       http://dl-ssl.google.com/android/eclipse/
      Instalar Android DDMS e Android Development Tools
      Configurar o caminho para Android SDK nas
       preferências do ADT




                              Desenvolvimento para Dispositivos Móveis:
                                    Um Walkthrough pelas Ferramentas
Desenvolvimento para Dispositivos Móveis:
      Um Walkthrough pelas Ferramentas
   Emulação != Mundo Real
    ◦ Algumas características são impossíveis de serem
      emulados com precisão
    ◦ Algumas características precisam ser adaptadas aos
      emuladores
   Testar no emulador não é garantia
    ◦ A aplicação deve ser homologada em um
      dispositivo real
    ◦ Problemas para aplicações quem tenham muitos
      dispositivos diferentes como alvo
    ◦ Problemas caso não seja possível adquirir
      dispositivos


                             Desenvolvimento para Dispositivos Móveis:
                                   Um Walkthrough pelas Ferramentas
   Exemplos:
    ◦ Emulação de processamento
    ◦ Emulação de memoria!
    ◦ Emulação de rede

   A indisponibilidade de serviços tambem deve
    ser emulada




                           Desenvolvimento para Dispositivos Móveis:
                                 Um Walkthrough pelas Ferramentas
   Emulação da Camera (Image Capture)




                        Desenvolvimento para Dispositivos Móveis:
                              Um Walkthrough pelas Ferramentas
   Emulação da rede Bluetooth




                        Desenvolvimento para Dispositivos Móveis:
                              Um Walkthrough pelas Ferramentas
   Emulação de Sensores / Location




                        Desenvolvimento para Dispositivos Móveis:
                              Um Walkthrough pelas Ferramentas
   Desenvolvimento para IPhone:
    http://developer.apple.com/iphone/


   Desenvolvimento para Symbian OS:
    http://developer.symbian.com/
    http://www.newlc.com/en/Getting-started-with-Symbian,134.html


   Windows Mobile
    http://developer.windowsmobile.com/
    http://msdn.microsoft.com/en-us/windowsmobile/default.aspx




                                    Desenvolvimento para Dispositivos Móveis:
                                          Um Walkthrough pelas Ferramentas
hraniere@gmail.com

Dispositivos Moveis

  • 1.
  • 2.
    Mundo dos Dispositivos Móveis: ◦ Inúmeros Dispositivos ◦ Diversas Plataformas ◦ Diversos Fabricantes ◦ Várias pessoas interessadas em desenvolver aplicativos ◦ Resultado: diversas ferramentas Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 3.
    Melhores ferramentas Mais investimentos Maior facilidade e em ferramentas por agilidade no parte dos fabricantes desenvolvimento Importância das ferramentas Mais dispositivos Mais vendidos desenvolvedores Maior quantidade Maior quantidade de usuários aplicações interessados desenvolvidas Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 5.
    Ainda é a plataforma mais utilizada para desenvolvimento móvel  Mais de 2 bilhões de dispositivos no mundo Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 6.
    Ciclo de Desenvolvimento Codificação Compilação Empacotamento Teste Deploy + [Assinatura] + Preverificação +[Obfuscação] Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 7.
    Tipos de Ferramentas: ◦ Software Development Kits – SDKs ◦ Integrated Development Environments – IDEs ◦ Plug-ins para IDEs ◦ Soluções Completas (IDE + Plug-in + SDK) ◦ Automação de Builds Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 8.
    SDKs – Software Development Kits Codificação Compilação Empacotamento Teste Deploy Deploy APIs (Stubs) Signing Tools Emuladores Tools Preverifier Debug Profiler Trace JDK Demos Docs Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 9.
    SDKs – Software Development Kits ◦ WTK – Sun Java Wireless Toolkit http://java.sun.com/products/sjwtoolkit/ ◦ Fabricantes:  Motorola – MOTODEV SDK for Java ME http://developer.motorola.com/  Nokia – SDKs diferentes por plataforma http://forum.nokia.com/  Sony Ericsson – Sony Ericsson SDK for the Java ME Platform http://developer.sonyericsson.com Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 10.
    SUN WTK Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 11.
    MOTODEV SDK Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 12.
    Nokia Series 406th edition SDK Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 13.
    IDEs + Plug-ins Codificação Compilação Empacotamento Teste Deploy Edição de Código Criação do Jar Edição de JAD Signing Tools Obfuscators Integração com Compiladores SDKs Java Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 14.
    IDEs – Integrated Development Environments ◦ Eclipse http://www.eclipse.org/ ◦ NetBeans http://www.netbeans.org/  Plugins para Java ME ◦ Eclipse Mobile Tools for Java – MTJ http://www.eclipse.org/dsdp/mtj/ ◦ NetBeans Mobility Pack – empacotado com a distribuição padrão do Netbeans Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 15.
    Soluções Completas ◦ Eclipse + MTJ + SDK; ◦ NetBeans + Mobility Pack + SDK ◦ MOTODEV Studio for Java ME (Eclipse + MTJ + MOTODEV SDK + outros plug-ins motorola) ◦ Nokia Carbide.J (descontinuado) Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 16.
    Automação de Builds ◦ Antenna Extensão do ant com tasks para Java ME http://antenna.sourceforge.net/ ◦ MTJ exporta buildfiles dos projetos para Antenna. Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 17.
    Desenvolvimento para DispositivosMóveis: Um Walkthrough pelas Ferramentas
  • 18.
    Desenvolvimento para DispositivosMóveis: Um Walkthrough pelas Ferramentas
  • 19.
    Desenvolvimento para DispositivosMóveis: Um Walkthrough pelas Ferramentas
  • 20.
    Instalar JDK (download); Instalar WTK (download); Instalar Eclipse (download); Instalar MTJ através do Eclipse (update site); Configurar WTK no MTJ; Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 22.
    1 2 3 http://download.eclipse.org/dsdp/mtj/updates/1.0/stable/ 4 5 Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 23.
    7 6 Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 24.
    8 9 10 11 Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 26.
    1 3 2 Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 27.
    Local de instalaçãodo WTK 4 5 Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 28.
    Desenvolvimento para DispositivosMóveis: Um Walkthrough pelas Ferramentas
  • 30.
    Plataforma da Open Handset Alliance http://code.google.com/android/  Dispositivo disponível no mercado: ◦ G1 da HTC  Ferramentas: ◦ Android SDK ◦ Eclipse com ADT (Android Development Tools) Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 31.
    Android SDK ◦ Conjunto de ferramentas similar ao de um SDK Java ME ◦ Android Tool (gerencia projetos) ◦ Android Emulator ◦ Android Debug Bridge ◦ Usa ferramentas do JDK ◦ Linha de comando ou ANT Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 32.
    ADT – Android Developer Tools ◦ Plug-in para o eclipse ◦ Forma de desenvolvimento recomendada pela OHA ◦ Instalado via “Sofware Updates” do Eclipse  Mesma processo do MTJ  URL: https://dl-ssl.google.com/android/eclipse/ ou http://dl-ssl.google.com/android/eclipse/  Instalar Android DDMS e Android Development Tools  Configurar o caminho para Android SDK nas preferências do ADT Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 33.
    Desenvolvimento para DispositivosMóveis: Um Walkthrough pelas Ferramentas
  • 35.
    Emulação != Mundo Real ◦ Algumas características são impossíveis de serem emulados com precisão ◦ Algumas características precisam ser adaptadas aos emuladores  Testar no emulador não é garantia ◦ A aplicação deve ser homologada em um dispositivo real ◦ Problemas para aplicações quem tenham muitos dispositivos diferentes como alvo ◦ Problemas caso não seja possível adquirir dispositivos Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 36.
    Exemplos: ◦ Emulação de processamento ◦ Emulação de memoria! ◦ Emulação de rede  A indisponibilidade de serviços tambem deve ser emulada Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 37.
    Emulação da Camera (Image Capture) Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 38.
    Emulação da rede Bluetooth Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 39.
    Emulação de Sensores / Location Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 40.
    Desenvolvimento para IPhone: http://developer.apple.com/iphone/  Desenvolvimento para Symbian OS: http://developer.symbian.com/ http://www.newlc.com/en/Getting-started-with-Symbian,134.html  Windows Mobile http://developer.windowsmobile.com/ http://msdn.microsoft.com/en-us/windowsmobile/default.aspx Desenvolvimento para Dispositivos Móveis: Um Walkthrough pelas Ferramentas
  • 41.