SlideShare une entreprise Scribd logo
1  sur  25
Backend para
dispositivos moveis
Thales Lima
thalesrml@gmail.com
@thales_
API Rest
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
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
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
API Rest - Filtro e Paginação
Api | RESTFul
GET /clientes?nome=fulano
Filtro
Paginação
GET /clientes?_offset=50&_limit=25
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"
}
API Rest - Segurança
Api | RESTFul
• Acesso não autorizado
• Sobrecarga
• OAuth 2.0
lasS
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
Google Compute Engine - Análise
Compute | App Engine
• Controle total do ambiente
• Ambientes conhecidos
• Maior complexidade para gestão de infra
PasS
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
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
PasS para mobile
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
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
MBaaS
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
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
Firebase - Gravando e lendo no Android
Firebase
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/
demo
Backend para
dispositivos moveis
Thales Lima
thalesrml@gmail.com
@thales_
https://github.com/thaleslima

Contenu connexe

En vedette

MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)Imam Raza
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareRahul Krishnan P
 
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenA Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenJose Papo, MSc
 
Firebase presentation
Firebase presentationFirebase presentation
Firebase presentationConnor Leech
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao FirebaseJose Papo, MSc
 
Opções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasOpções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasJose Papo, MSc
 

En vedette (7)

MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenA Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
 
Firebase presentation
Firebase presentationFirebase presentation
Firebase presentation
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao Firebase
 
Opções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasOpções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e Arquiteturas
 

Similaire à Backend para dispositivos móveis

Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.AlexSandro Cruz
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web APIVinicius Mussak
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refreshermarcwan
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsFábio Rosato
 
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...iMasters
 
Modern Apps e o novo panorama de identidade e autenticação
Modern Apps e o novo panorama de identidade e autenticaçãoModern Apps e o novo panorama de identidade e autenticação
Modern Apps e o novo panorama de identidade e autenticaçãoJorge Tressino Rua
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesiMasters
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Datatdc-globalcode
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Renzo Nuccitelli
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014Tiago Marchetti Dolphine
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaSensedia
 

Similaire à Backend para dispositivos móveis (20)

Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refresher
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
 
Design de APIs REST
Design de APIs RESTDesign de APIs REST
Design de APIs REST
 
Modern Apps e o novo panorama de identidade e autenticação
Modern Apps e o novo panorama de identidade e autenticaçãoModern Apps e o novo panorama de identidade e autenticação
Modern Apps e o novo panorama de identidade e autenticação
 
Web apis
Web apisWeb apis
Web apis
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Data
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha Básica
 

Backend para dispositivos móveis

  • 1. Backend para dispositivos moveis Thales Lima thalesrml@gmail.com @thales_
  • 2.
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. API Rest - Filtro e Paginação Api | RESTFul GET /clientes?nome=fulano Filtro Paginação GET /clientes?_offset=50&_limit=25
  • 8. 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" }
  • 9. API Rest - Segurança Api | RESTFul • Acesso não autorizado • Sobrecarga • OAuth 2.0
  • 10. lasS
  • 11. 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
  • 12. Google Compute Engine - Análise Compute | App Engine • Controle total do ambiente • Ambientes conhecidos • Maior complexidade para gestão de infra
  • 13. PasS
  • 14. 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
  • 15. 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
  • 17. 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
  • 18. 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
  • 19. MBaaS
  • 20. 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
  • 21. 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
  • 22. Firebase - Gravando e lendo no Android Firebase
  • 23. 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/
  • 24. demo
  • 25. Backend para dispositivos moveis Thales Lima thalesrml@gmail.com @thales_ https://github.com/thaleslima

Notes de l'éditeur

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Direcionada para mobile
  10. Utilização do Datastore para maior escalabilidade roda em cima do AppEngine facilita a criaçao de api rest e clients
  11. Serviço especializado em serviço mobile explicar um pouco as vantagens em comparação com o IaaS e PaaS
  12. Lisneter banco de dados real time varias plataformas Vantagens: Agil, somente usar o sdk e pronto