SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PPTX
ASP.NET MVC, para sua vida melhorar
PDF
Real time com java e Node.Js
PPTX
Node.js - Primeiros passos
PDF
Intodução ao React
ODP
PHP + Node.js
PPTX
TDC SP 2015 - Criando aplicações ASP.NET no Mac
PPTX
Arquitetura Reativa
DOCX
ASP.NET MVC, para sua vida melhorar
Real time com java e Node.Js
Node.js - Primeiros passos
Intodução ao React
PHP + Node.js
TDC SP 2015 - Criando aplicações ASP.NET no Mac
Arquitetura Reativa

Destaque (20)

DOCX
Mapa conceptual de la estrcutura del modulo
PPT
Secuestro de barcos en Estados Unidos de América
PPTX
Búsqueda avanzada- caso 2
PPT
Antes y desoues grandes cambios fisicos
PPTX
PPTX
Sistema operativo miguel sosa
PPT
Vp watch editorial - v2 n2- 2002
PPT
Portafolio guia para la Formulacion de proyectos
PDF
Manual de arq e urbanismo
PDF
Obj logo mis visi
PDF
COMANDOS DE MARÍA MIRANDA
PPTX
Alonso ing. economica
PPTX
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
PPTX
Educación virtual Valentín castro
PDF
Sara Jane Gonzalez at INSITUM, Buenos Aires
PDF
Avances 14
PPTX
Tarea 1 estructura discreta
PPTX
Inclusión social, tecnologia
PPTX
El teletrabajo
Mapa conceptual de la estrcutura del modulo
Secuestro de barcos en Estados Unidos de América
Búsqueda avanzada- caso 2
Antes y desoues grandes cambios fisicos
Sistema operativo miguel sosa
Vp watch editorial - v2 n2- 2002
Portafolio guia para la Formulacion de proyectos
Manual de arq e urbanismo
Obj logo mis visi
COMANDOS DE MARÍA MIRANDA
Alonso ing. economica
Veronica Bluguermann at Festival Rodante Edición Diseño, Buenos Aires
Educación virtual Valentín castro
Sara Jane Gonzalez at INSITUM, Buenos Aires
Avances 14
Tarea 1 estructura discreta
Inclusión social, tecnologia
El teletrabajo
Anúncio

Semelhante a Integração com webservices usando MVC e mágica (20)

PDF
BigQuery Performance Improvements Storage API
PPTX
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
PDF
Curso AngularJS - Parte 1
PPTX
Ruby on Rails for beginners 2.0
PPTX
Desenvolvimento web - conceitos, tecnologia e tendências.
PDF
Palestra ror edted
PDF
Plataforma Android: Produtividade Além do SDK
PDF
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
PDF
Apresentação CEJS - Do nada para a nuvem
PPTX
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
PPTX
Goldark@w3c - Web's got Talent 2014
PDF
Construindo Aplicativos Android Nativos com C#
PPT
Windows Phone 7 & Windows Azure
PDF
compreensão geral para estruturar uma api
PDF
JHipster - Produtividade e Maturidade em suas mãos
PPTX
Docker Everywhere - MTAC Week
PPT
Light Talk: Introdução sobre Node.js
PPTX
Conhecendo o Novo REST Framework
PPS
Desenvolvimento Web
PDF
5. rodando containers docker na aws
BigQuery Performance Improvements Storage API
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Curso AngularJS - Parte 1
Ruby on Rails for beginners 2.0
Desenvolvimento web - conceitos, tecnologia e tendências.
Palestra ror edted
Plataforma Android: Produtividade Além do SDK
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
Apresentação CEJS - Do nada para a nuvem
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
Goldark@w3c - Web's got Talent 2014
Construindo Aplicativos Android Nativos com C#
Windows Phone 7 & Windows Azure
compreensão geral para estruturar uma api
JHipster - Produtividade e Maturidade em suas mãos
Docker Everywhere - MTAC Week
Light Talk: Introdução sobre Node.js
Conhecendo o Novo REST Framework
Desenvolvimento Web
5. rodando containers docker na aws
Anúncio

Último (19)

PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula04-Academia Heri- Tecnologia Geral 2025
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula 18 - Manipulacao De Arquivos python
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...

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

Notas do Editor

  • #2: \n
  • #3: 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
  • #4: As duas principais categorias.\n
  • #5: As duas principais categorias.\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: 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
  • #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: Cerca de 90% das aplicações feitas na FTips são assim\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: XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  • #26: \n
  • #27: Abrir o Eclipse e mostrar exemplos de parsers de XML e JSON.\n
  • #28: Dumbledore + Android\n
  • #29: \n
  • #30: \n
  • #31: \n
  • #32: \n
  • #33: \n
  • #34: Abrir o Eclipse e mostrar o Dumbledroid funcionando, sem entrar em detalhes.\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: 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
  • #39: Abrir o Eclipse e fazer outra requisição qualquer. Explicar o código.\n
  • #40: \n
  • #41: \n