Backend para dispositivos moveis

381 visualizações

Publicada em

Atualmente, a maioria dos aplicativos faz uso de internet, seja através de requests à APIs, componentes sociais, ou qualquer outra funcionalidade fora do contexto do aplicativo. E para um aplicativo de sucesso precisamos de um backend estável, robusto e escalável. Nessa apresentação vamos discutir algumas opções de backends oferecido pelo Google Cloud Platform e entre outras plataformas.

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

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

Nenhuma nota no slide
  • Um aplicativo de sucesso não é somente o layout,
    usabilidade, temos que se preocupar com o serviço de backend.

    Se vc nao tem um backend robusto certamente seu aplicativo não será mto usado.

    WhatsApp

    A maioria dos aplicativos tem recursos sociais.

    Serviço por trás que analisa, processa e disponibilista os dados.
  • Fazer um backend.

    Backend pense em rest, projete no modelo rest.

    API interna e depois publica .

    todas as grandes empresas disponibilizam os seus serviços para o mundo.
  • Datacenter na nuvem
    Escalabilidade e alta disponibilidade projetados
    Funciona bem para novas aplicações ou para migrar aplicações existentes
    Qualquer linguagem
    Pode utilizar plataformas externas como Drupal, Sharepoint etc.
    Resumo: flexibilidade e controle

  • Datacenter na nuvem -
    Escalabilidade e alta disponibilidade projetados -
    Funciona bem para novas aplicações ou para migrar aplicações existentes -
    Qualquer linguagem -
    Pode utilizar plataformas externas como Drupal, Sharepoint etc. -
    Resumo: flexibilidade e controle

    Validar a estrutura, projetar validar com o cliente

    Auto Scaler, verifica a grande quantidade de usuários/acesso e automaticamente faz escalabilidade, mas tem que configurar

  • Datacenter na nuvem -
    Escalabilidade e alta disponibilidade projetados -
    Funciona bem para novas aplicações ou para migrar aplicações existentes -
    Qualquer linguagem -
    Pode utilizar plataformas externas como Drupal, Sharepoint etc. -
    Resumo: flexibilidade e controle

    Validar a estrutura, projetar validar com o cliente
  • Ambiente de execução na nuvem -
    Escalabilidade e alta disponibilidade "sem esforço" -
    Excelente para novas aplicações, ruim para migrar aplicações existentes -
    Java, Python, PHP or Go! (GAE) - Mais fácil e rápido de construir / manter -
    É preciso jogar as "regras do jogo" -
    Resumo: produtividade e abstração

    consistencia relacional
    escalabiliadade nosql
  • Ambiente de execução na nuvem -
    Escalabilidade e alta disponibilidade "sem esforço" -
    Excelente para novas aplicações, ruim para migrar aplicações existentes -
    Java, Python, PHP or Go! (GAE) - Mais fácil e rápido de construir / manter -
    É preciso jogar as "regras do jogo" -
    Resumo: produtividade e abstração

    consistencia relacional
    escalabiliadade nosql
  • Ambiente de execução na nuvem -
    Escalabilidade e alta disponibilidade "sem esforço" -
    Excelente para novas aplicações, ruim para migrar aplicações existentes -
    Java, Python, PHP or Go! (GAE) - Mais fácil e rápido de construir / manter -
    É preciso jogar as "regras do jogo" -
    Resumo: produtividade e abstração

    consistencia relacional
    escalabiliadade nosql

    tem que ficar na frente de tudo aceita uma porrada de requisiçoes

    datastore - nao funciona join, função de agrupamento
    se preocupe com a estrutura do datastore
  • Direcionada para mobile
  • Utilização do Datastore para maior escalabilidade

    roda em cima do AppEngine facilita a criaçao de api rest e clients
  • Serviço especializado em serviço mobile
    explicar um pouco as vantagens
    em comparação com o IaaS e PaaS

  • Lisneter
    banco de dados real time
    varias plataformas

    Vantagens: Agil, somente usar o sdk e pronto

  • Backend para dispositivos moveis

    1. 1. Backend para dispositivos moveis Thales Lima thalesrml@gmail.com @thales_
    2. 2. API Rest
    3. 3. API Rest - Análise Api | RESTFul • Baseia-se em URIs e Recursos • Aproveita as operações comuns de POST, GET, PUT, DELETE • Mais simples de usar e leve que SOAP • Normalmente usa JSON API iOS
    4. 4. RESTFul - URI Api | RESTFul http://api.compania.com/nome-api/v1/recursoURl: HTTP ou HTTPS seu domínio nome da API (opcional) versão recursos e parâmetros
    5. 5. RESTFul - Operações/Recursos Api | RESTFul GET /clientes consulta todos os clientes GET /clientes/{id} consulta um cliente pelo ID POST /clientes insere um novo cliente PUT /clientes/{id} atualiza um cliente pelo ID DELETE /clientes/{id} deleta um cliente pelo ID
    6. 6. API Rest - Filtro e Paginação Api | RESTFul GET /clientes?nome=fulano Filtro Paginação GET /clientes?_offset=50&_limit=25
    7. 7. RESTFul - Status & Error Codes Api | RESTFul 2xx Sucesso 200 OK 201 Create d 4xx Erro no client 5xx Erro no server 400 Bad Request 401 Unauthori zed 403 Fordidde n 404 Not Found GET /cliente/99 404 Not Found { "status": 404, "message": "cliente não encontrado" } 500 Internal Server Error GET /cliente/1 200 OK { "id": 1, "nome": "Fulano", "cpf": "99999999999", "cidade": "Campinas" }
    8. 8. API Rest - Segurança Api | RESTFul • Acesso não autorizado • Sobrecarga • OAuth 2.0
    9. 9. lasS
    10. 10. Google Compute Engine - Características Compute | App Engine • Infrastructure-as-a-Service • Máquinas virtuais de alta performance que rodam na infra do próprio Google. • Roda Linux e Windows • GCE Auto Scaler Beta
    11. 11. Google Compute Engine - Análise Compute | App Engine • Controle total do ambiente • Ambientes conhecidos • Maior complexidade para gestão de infra
    12. 12. PasS
    13. 13. Google App Engine - Características Compute | App Engine • Platform-as-a-service • "Eu escrevo a app, você gerencia meus servidores" • Fácil para construir, manter e escalar • Suporte para Python, Java, PHP e Go
    14. 14. Google App Engine - Análise Compute | App Engine • Escalabilidade automática sem necessidade de configuração • Foco no código com deploy simples e servidor local para testes • Algumas necessidades de adaptação no código • Timeouts de 60 segundos para requisições em instancias frontend
    15. 15. PasS para mobile
    16. 16. Google Cloud Endpoints - Características Compute | App Engine • Facilita a criação de API de backend no App Engine • Oferece autenticação OAuth • Fácil para construir, manter e escalar
    17. 17. Google Cloud Endpoints - Características Compute | App Engine • Possui recursos especiais no Android Studio • Fácil de criar os backends e os clients para o backend via wizards (Adroid, IOS e JS) • Necessidades de adaptação do código • Associado ao Google Cloud Platform
    18. 18. MBaaS
    19. 19. Firebase Firebase • A plataforma realtime para apps • Desenvolvimento ágil • Excelente para mobile e web • BD NoSql, JSON • Faz push de updates em milisegundos quando as coisas mudam. • Suporte multi-plataforma
    20. 20. Firebase - Gestão de usuários e autenticação Firebase Suporte a mecanismo de login com: • Login & senha • Provedores OAuth • Google • Facebook • Twitter • GitHub • Seus tokens de acesso próprios
    21. 21. Firebase - Gravando e lendo no Android Firebase
    22. 22. Mais informações Firebase API • 10 Atributos de uma API de sucesso (http://youtu.be/OIzl8Ec5d9w). By Kleber Bacilli Google Compute Engine • https://cloud.google.com/compute/docs/ Google App Engine • https://cloud.google.com/appengine/docs • Developing Scalable Apps with Java (https://www.udacity.com/course/ud859 Google Endpoint • https://cloud.google.com/appengine/docs/java/endpoints/ Firebase • https://www.firebase.com/docs/
    23. 23. demo
    24. 24. Backend para dispositivos moveis Thales Lima thalesrml@gmail.com @thales_ https://github.com/thaleslima

    ×