SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Integração com webservices
      usando MVC e Mágica


               Leocadio Tiné
                   leocad.io
               @leocadiotine
Quem?
Leocadio Tiné
Quais os fins?
Integração com webservices
Quais os fins?
                   Integração com webservices


• RESTful applications
Quais os fins?
                  Integração com webservices


• RESTful applications
• Data-consuming applications
RESTful application
RESTful application


• Cliente-servidor
RESTful application


• Cliente-servidor
• Cloud computing
RESTful application


• Cliente-servidor
• Cloud computing
• Estado armazenado no servidor - portabilidade
RESTful application


• Cliente-servidor
• Cloud computing
• Estado armazenado no servidor - portabilidade
• Muito usado em aplicações mobile
Data-consuming application
Data-consuming application


• Cliente somente-leitura
Data-consuming application


• Cliente somente-leitura
• Servidor não mantém o estado
Data-consuming application


• Cliente somente-leitura
• Servidor não mantém o estado
• Muito usado em aplicações mobile
Quais os meios?
Integração com webservices
Quais os meios?
               Integração com webservices

• HTTP (mais comum)
Quais os meios?
                  Integração com webservices

• HTTP (mais comum)
• Request: SOAP, Rest API
Quais os meios?
                 Integração com webservices

• HTTP (mais comum)
• Request: SOAP, Rest API
• Response: XML, JSON, PLIST
Let the magic begin!
   Show me the code
Como funciona atualmente?
      Parsing de documentos
Apresentando Dumbledroid
                O mágico
Dumbledroid
Dumbledroid


• Android Library Project
Dumbledroid


• Android Library Project
• Open source (github.com/leocadiotine/Dumbledroid)
Dumbledroid


• Android Library Project
• Open source (github.com/leocadiotine/Dumbledroid)
• Integração com webservices “painless”
Dumbledroid


• Android Library Project
• Open source (github.com/leocadiotine/Dumbledroid)
• Integração com webservices “painless”
• Java Reflection
Dumbledroid


• Android Library Project
• Open source (github.com/leocadiotine/Dumbledroid)
• Integração com webservices “painless”
• Java Reflection
• Praticidade vs. Performance
Como funcionará a partir de hoje?
              Dumbledroid em ação
MVC? Encapsulamento?
Cadê os getters e setters?
MVC? Encapsulamento?
                        Cadê os getters e setters?

•   Em linguagens nativas como
    C++, o compilador pode
    fazer inline na função;
MVC? Encapsulamento?
                         Cadê os getters e setters?

•   Em linguagens nativas como
    C++, o compilador pode
    fazer inline na função;

•   No Android, o acesso direto
    chega a ser 7x mais rápido;
MVC? Encapsulamento?
                                      Cadê os getters e setters?

    •   Em linguagens nativas como
        C++, o compilador pode
        fazer inline na função;

    •   No Android, o acesso direto
        chega a ser 7x mais rápido;

    •   Struct-like objects are
        simple. KISS!


http://developer.android.com/guide/practices/design/performance.html#internal_get_set
Aprofundando-se
Dissecando o Dumbledroid
Perguntas?
Obrigado!


    Leocadio Tiné
    me@leocad.io
    @leocadiotine

          Imagens:
www.androidify.com

Weitere ähnliche Inhalte

Andere mochten auch

Mapa conceptual de la estrcutura del modulo
Mapa conceptual de la estrcutura del moduloMapa conceptual de la estrcutura del modulo
Mapa conceptual de la estrcutura del modulomariye-18
 
Secuestro de barcos en Estados Unidos de América
Secuestro de barcos en Estados Unidos de AméricaSecuestro de barcos en Estados Unidos de América
Secuestro de barcos en Estados Unidos de Américaadelcas13
 
Antes y desoues grandes cambios fisicos
Antes y desoues grandes cambios fisicosAntes y desoues grandes cambios fisicos
Antes y desoues grandes cambios fisicosXDiego144
 
Sistema operativo miguel sosa
Sistema operativo miguel sosaSistema operativo miguel sosa
Sistema operativo miguel sosaMiguel Sosa
 
Portafolio guia para la Formulacion de proyectos
Portafolio guia para la Formulacion de proyectosPortafolio guia para la Formulacion de proyectos
Portafolio guia para la Formulacion de proyectosColegioJoseAntonioP
 
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos AiresVeronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos AiresDESMA
 
Educación virtual Valentín castro
Educación virtual Valentín castro Educación virtual Valentín castro
Educación virtual Valentín castro valecastro27
 
Sara Jane Gonzalez at INSITUM, Buenos Aires
Sara Jane Gonzalez at INSITUM, Buenos AiresSara Jane Gonzalez at INSITUM, Buenos Aires
Sara Jane Gonzalez at INSITUM, Buenos AiresDESMA
 
Tarea 1 estructura discreta
Tarea 1 estructura discretaTarea 1 estructura discreta
Tarea 1 estructura discretaCarlosjose2196
 
Inclusión social, tecnologia
Inclusión social, tecnologiaInclusión social, tecnologia
Inclusión social, tecnologiakarenflores92
 

Andere mochten auch (20)

Mapa conceptual de la estrcutura del modulo
Mapa conceptual de la estrcutura del moduloMapa conceptual de la estrcutura del modulo
Mapa conceptual de la estrcutura del modulo
 
Secuestro de barcos en Estados Unidos de América
Secuestro de barcos en Estados Unidos de AméricaSecuestro de barcos en Estados Unidos de América
Secuestro de barcos en Estados Unidos de América
 
Búsqueda avanzada- caso 2
Búsqueda avanzada- caso 2Búsqueda avanzada- caso 2
Búsqueda avanzada- caso 2
 
Antes y desoues grandes cambios fisicos
Antes y desoues grandes cambios fisicosAntes y desoues grandes cambios fisicos
Antes y desoues grandes cambios fisicos
 
Tics
TicsTics
Tics
 
Sistema operativo miguel sosa
Sistema operativo miguel sosaSistema operativo miguel sosa
Sistema operativo miguel sosa
 
Vp watch editorial - v2 n2- 2002
Vp watch   editorial - v2 n2- 2002Vp watch   editorial - v2 n2- 2002
Vp watch editorial - v2 n2- 2002
 
Portafolio guia para la Formulacion de proyectos
Portafolio guia para la Formulacion de proyectosPortafolio guia para la Formulacion de proyectos
Portafolio guia para la Formulacion de proyectos
 
Manual de arq e urbanismo
Manual de arq e urbanismoManual de arq e urbanismo
Manual de arq e urbanismo
 
Obj logo mis visi
Obj logo mis visiObj logo mis visi
Obj logo mis visi
 
COMANDOS DE MARÍA MIRANDA
COMANDOS DE MARÍA MIRANDACOMANDOS DE MARÍA MIRANDA
COMANDOS DE MARÍA MIRANDA
 
Alonso ing. economica
Alonso ing. economicaAlonso ing. economica
Alonso ing. economica
 
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos AiresVeronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
 
Educación virtual Valentín castro
Educación virtual Valentín castro Educación virtual Valentín castro
Educación virtual Valentín castro
 
Sara Jane Gonzalez at INSITUM, Buenos Aires
Sara Jane Gonzalez at INSITUM, Buenos AiresSara Jane Gonzalez at INSITUM, Buenos Aires
Sara Jane Gonzalez at INSITUM, Buenos Aires
 
Test
TestTest
Test
 
Avances 14
Avances  14Avances  14
Avances 14
 
Tarea 1 estructura discreta
Tarea 1 estructura discretaTarea 1 estructura discreta
Tarea 1 estructura discreta
 
Inclusión social, tecnologia
Inclusión social, tecnologiaInclusión social, tecnologia
Inclusión social, tecnologia
 
El teletrabajo
El teletrabajoEl teletrabajo
El teletrabajo
 

Ähnlich wie Integração com webservices usando MVC e mágica

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro Viebrantz
 
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)Daniel Semedo
 
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 ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensDr. Spock
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...E-Commerce Brasil
 
Goldark@w3c - Web's got Talent 2014
Goldark@w3c - Web's got Talent 2014Goldark@w3c - Web's got Talent 2014
Goldark@w3c - Web's got Talent 2014Leonardo Rossetti
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#William S. Rodriguez
 
Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureVinicius Quaiato
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekLuiz Carlos Faria
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsCaio Ribeiro Pereira
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONMario Guedes
 

Ähnlich wie Integração com webservices usando MVC e mágica (20)

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
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.
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
 
Goldark@w3c - Web's got Talent 2014
Goldark@w3c - Web's got Talent 2014Goldark@w3c - Web's got Talent 2014
Goldark@w3c - Web's got Talent 2014
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows Azure
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC Week
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSON
 

Integração com webservices usando MVC e mágica

Hinweis der Redaktion

  1. \n
  2. Matuto de São José do Belmonte\n\nTrabalha com mobile desde 2009\n\nGame developer (Musigames)\n - pioneira em mobile game development;\n- Mencionar Marcelo (Paciência BR)\n\nDrums Challenge (top 1 iPhone e iPad - no lançamento)\n\nPrimeiro app Android - HSBC Aeroportos na FTips (então Mobmidia);\n\nMedida Certa:\n-160 mil downloads\n- rating 4.3\n\nHoje líder técnico Android na Fingertips - maior empresa de desenvolvimento de apps da América Latina.\n
  3. As duas principais categorias.\n
  4. As duas principais categorias.\n
  5. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  6. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  7. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  8. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  9. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  10. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  11. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  12. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  13. Base da cloud computing\n\nPortabilidade: abrir a mesma aplicação no browser, cliente desktop ou celular e acessar o mesmo estado\n\nMuito usado em aplicações mobile que são uma extensão de um serviço que já existe na nuvem\n - Devido ao reduzido poder de processamento e reduzida capacidade de armazenamento\n
  14. Cerca de 90% das aplicações feitas na FTips são assim\n
  15. Cerca de 90% das aplicações feitas na FTips são assim\n
  16. Cerca de 90% das aplicações feitas na FTips são assim\n
  17. Cerca de 90% das aplicações feitas na FTips são assim\n
  18. Cerca de 90% das aplicações feitas na FTips são assim\n
  19. Cerca de 90% das aplicações feitas na FTips são assim\n
  20. Cerca de 90% das aplicações feitas na FTips são assim\n
  21. Cerca de 90% das aplicações feitas na FTips são assim\n
  22. XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  23. XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  24. XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  25. \n
  26. Abrir o Eclipse e mostrar exemplos de parsers de XML e JSON.\n
  27. Dumbledore + Android\n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. Abrir o Eclipse e mostrar o Dumbledroid funcionando, sem entrar em detalhes.\n
  34. A comunidade Java e Paulo Borba vão me matar, mas...\n\nEm linguagens nativas, o compilador pode fazer inline no acesso à função\nNo Android, uma chamada de método é bem mais cara que um acesso direto a um membro de uma instância.\n\nEu não sou mais xiita de padrão de projetos. Defendo uma boa estruturação e base forte de orientação a objetos, mas certos padrões são antiquados e devem ser adaptados à realidade.\n
  35. A comunidade Java e Paulo Borba vão me matar, mas...\n\nEm linguagens nativas, o compilador pode fazer inline no acesso à função\nNo Android, uma chamada de método é bem mais cara que um acesso direto a um membro de uma instância.\n\nEu não sou mais xiita de padrão de projetos. Defendo uma boa estruturação e base forte de orientação a objetos, mas certos padrões são antiquados e devem ser adaptados à realidade.\n
  36. A comunidade Java e Paulo Borba vão me matar, mas...\n\nEm linguagens nativas, o compilador pode fazer inline no acesso à função\nNo Android, uma chamada de método é bem mais cara que um acesso direto a um membro de uma instância.\n\nEu não sou mais xiita de padrão de projetos. Defendo uma boa estruturação e base forte de orientação a objetos, mas certos padrões são antiquados e devem ser adaptados à realidade.\n
  37. A comunidade Java e Paulo Borba vão me matar, mas...\n\nEm linguagens nativas, o compilador pode fazer inline no acesso à função\nNo Android, uma chamada de método é bem mais cara que um acesso direto a um membro de uma instância.\n\nEu não sou mais xiita de padrão de projetos. Defendo uma boa estruturação e base forte de orientação a objetos, mas certos padrões são antiquados e devem ser adaptados à realidade.\n
  38. Abrir o Eclipse e fazer outra requisição qualquer. Explicar o código.\n
  39. \n
  40. \n