Integração com webservices      usando MVC e Mágica               Leocadio Tiné                   leocad.io               ...
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 apli...
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, JSO...
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 “painl...
Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)• Integração com webservices “painl...
Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)• Integração com webservices “painl...
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 ...
MVC? Encapsulamento?                         Cadê os getters e setters?•   Em linguagens nativas como    C++, o compilador...
MVC? Encapsulamento?                                      Cadê os getters e setters?    •   Em linguagens nativas como    ...
Aprofundando-seDissecando o Dumbledroid
Perguntas?
Obrigado!    Leocadio Tiné    me@leocad.io    @leocadiotine          Imagens:www.androidify.com
Próximos SlideShares
Carregando em…5
×

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

1.323 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.323
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • \n
  • 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
  • As duas principais categorias.\n
  • As duas principais categorias.\n
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • Cerca de 90% das aplicações feitas na FTips são assim\n
  • XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  • XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  • XML, JSON, PLIST:\n- interchange text formats;\n - human and machine readable;\n - independentes de linguagem\n
  • \n
  • Abrir o Eclipse e mostrar exemplos de parsers de XML e JSON.\n
  • Dumbledore + Android\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Abrir o Eclipse e mostrar o Dumbledroid funcionando, sem entrar em detalhes.\n
  • 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
  • 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
  • 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
  • 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
  • Abrir o Eclipse e fazer outra requisição qualquer. Explicar o código.\n
  • \n
  • \n
  • Integração com webservices usando MVC e mágica

    1. 1. Integração com webservices usando MVC e Mágica Leocadio Tiné leocad.io @leocadiotine
    2. 2. Quem?Leocadio Tiné
    3. 3. Quais os fins?Integração com webservices
    4. 4. Quais os fins? Integração com webservices• RESTful applications
    5. 5. Quais os fins? Integração com webservices• RESTful applications• Data-consuming applications
    6. 6. RESTful application
    7. 7. RESTful application• Cliente-servidor
    8. 8. RESTful application• Cliente-servidor• Cloud computing
    9. 9. RESTful application• Cliente-servidor• Cloud computing• Estado armazenado no servidor - portabilidade
    10. 10. RESTful application• Cliente-servidor• Cloud computing• Estado armazenado no servidor - portabilidade• Muito usado em aplicações mobile
    11. 11. Data-consuming application
    12. 12. Data-consuming application• Cliente somente-leitura
    13. 13. Data-consuming application• Cliente somente-leitura• Servidor não mantém o estado
    14. 14. Data-consuming application• Cliente somente-leitura• Servidor não mantém o estado• Muito usado em aplicações mobile
    15. 15. Quais os meios?Integração com webservices
    16. 16. Quais os meios? Integração com webservices• HTTP (mais comum)
    17. 17. Quais os meios? Integração com webservices• HTTP (mais comum)• Request: SOAP, Rest API
    18. 18. Quais os meios? Integração com webservices• HTTP (mais comum)• Request: SOAP, Rest API• Response: XML, JSON, PLIST
    19. 19. Let the magic begin! Show me the code
    20. 20. Como funciona atualmente? Parsing de documentos
    21. 21. Apresentando Dumbledroid O mágico
    22. 22. Dumbledroid
    23. 23. Dumbledroid• Android Library Project
    24. 24. Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)
    25. 25. Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)• Integração com webservices “painless”
    26. 26. Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)• Integração com webservices “painless”• Java Reflection
    27. 27. Dumbledroid• Android Library Project• Open source (github.com/leocadiotine/Dumbledroid)• Integração com webservices “painless”• Java Reflection• Praticidade vs. Performance
    28. 28. Como funcionará a partir de hoje? Dumbledroid em ação
    29. 29. MVC? Encapsulamento?Cadê os getters e setters?
    30. 30. MVC? Encapsulamento? Cadê os getters e setters?• Em linguagens nativas como C++, o compilador pode fazer inline na função;
    31. 31. 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;
    32. 32. 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
    33. 33. Aprofundando-seDissecando o Dumbledroid
    34. 34. Perguntas?
    35. 35. Obrigado! Leocadio Tiné me@leocad.io @leocadiotine Imagens:www.androidify.com

    ×