Backend para dispositivos moveis

419 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
  • Seja o primeiro a comentar

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

×