SlideShare uma empresa Scribd logo
COMO AUMENTAR A PRODUTIVIDADE
ATRAVÉS DA CONVENÇÃO REST EM
APLICATIVOS WEB OU MOBILE
Felipe Iketani
COMO AUMENTAR A PRODUTIVIDADE
ATRAVÉS DA CONVENÇÃO REST EM
APLICATIVOS WEB OU MOBILE
Felipe Iketani
COMO AUMENTAR A PRODUTIVIDADE
ATRAVÉS DA CONVENÇÃO REST EM
APLICATIVOS WEB OU MOBILE
Felipe Iketani
7 BILHÕES
de habitantes no mundo
http://pt.wikipedia.org/wiki/Popula%C3%A7%C3%A3o_mundial
18.539.500
Desenvolvedores de Softwares no mundo
http://www.infoq.com/news/2014/01/IDC-software-developers
Vilfredo Pareto
* 1848
+ 1923
20% das pessoas contém 80% da riqueza
20% das doenças causam 80% das mortes
20% dos clientes são responsáveis por 80% dos lucros
80% do tempo dos desenvolvedores é gasto na leitura
20% do tempo dos desenvolvedores é gasto na escrita
“ Se você quer ser um desenvolvedor mais produtivo,
melhore seu tempo de leitura”
Felipe Iketani, 2014
COMO MELHORAR MEU
TEMPO DE LEITURA?
SIGAM CONVENSÕES
SIGAM CONVENSÕES
SIGAM (BOAS) CONVENSÕES
SIGAM (BOAS) CONVENSÕES
COMO AUMENTAR A PRODUTIVIDADE
ATRAVÉS DA CONVENSÃO REST EM
APLICATIVOS WEB OU MOBILE
Felipe Iketani
COMO AUMENTAR A PRODUTIVIDADE
ATRAVÉS DA CONVENÇÃO REST EM
APLICATIVOS WEB OU MOBILE
Felipe Iketani
RE.S.T.
REPRESENTATIONAL STATE
TRANSFER
RECURSO X REPRESENTAÇÃO
Nome
Telefone
Endereço
Profissão
x
Augusto Mafra
(21) 9555-5555
Rua Antônio Maçal
Gerente de Reuniões
XML … JSON … HTML … JPG … PNG … MP4
https://graph.facebook.com/v2.3/541313955
1997
https://graph.facebook.com/v2.3/541313955GET
domínioverbo 

HTTP
versão id da
representação
GET http://tasafo.com/membros
GET http://tasafo.com/membros/123
PUT http://tasafo.com/membros/123
DELETE http://tasafo.com/membros/123
POST http://tasafo.com/membros/
GET /eventos
GET /eventos/123
PUT /eventos/123
DELETE /eventos/123
POST /eventos
EVENTOS
GET /eventos/123/inscricoes
GET /eventos/123/inscricoes/777
PUT /eventos/123/inscricoes/777
DELETE /eventos/123/inscricoes/777
POST /eventos/123/inscricoes
INSCRIÇÕES
DELETE /eventos/123/inscricoes/777/cancelar
GET /eventos/123/inscricoes/777/tweets
GET /eventos/123/inscricoes/777/tweets
Representação
ou
Ação
DELETE /eventos/123/inscricoes/777/cancelar
Caminho da
representação
GET /eventos/123/inscricoes/777
DELETE /eventos/123/inscricoes/777
RepresentaçãoAção
GET
Seguro
Indepotente
5 x 1 x 1 x 1 x 1 = 5
5 x 0 x 0 x 0 x 0 = 0
Seguro e indepotente
Indepotente
SEGURO INDEPOTENTE
GET X X
POST
DELETE X
PUT X
GET … PUT … POST … DELETE…
HEAD … PATCH … OPTIONS …
LINK … UNLINK…
RESPOSTAS
POST /palestras/
descricao:“Como criar maionese em casa”
imagem:“/imagens/o_rei_da_maionese.png“
Status code 200 - Success
Error message: “Acao deu erro“
POST /palestras/
descricao:“Como criar maionese em casa”
imagem:“/imagens/o_rei_da_maionese.png“
Status code 401 - Unauthorized
Error message: “Você não está logado“
1XX - Informações
2XX - Sucesso
3XX - Redirecionamento
4XX - Requisição ruim
5XX - Erro no servidor
RESPOSTAS HTTP
200 - Sucesso, OK
201 - Criado
202 - Aceito
304 - Sem conteúdo
2XX - Sucesso
301 - Movido permanentemente
303 -Veja outro
304 - Não modificado
307 - Redirecionado temporariamente
3XX - Redirecionamento
400 - Bad request
401 - Não autorizado
404 - Não encontrado
4XX - Requisição ruim
500 - Erro interno do servidor
501 - Não implementado
503 - Servidor não disponível
5XX - Erro no servidor
RESTful
80% do tempo dos desenvolvedores é gasto na leitura
20% do tempo dos desenvolvedores é gasto na escrita
[{
id: 100,
titulo: "Seja Notável",
autor:“Fábio Aguiar”,
image: “/image.jpg”
}, {
id: 101,
titulo:“Não seja sei próprio sabotador",
autor:“Felipe Sousa”,
}]
GET /palestras?&search=seja+notavel
{
version: “1.0”,
href: “/palestras?&search=seja+notavel”,
items:“[{
id: 100,
titulo: "Seja Notável",
autor:“Fábio Aguiar”,
image: “/image.jpg”
links: {
href: “/palestras/123”,
autor: “/autores/5”
}
}, {
id: 101,
titulo:“Não seja sei próprio sabotador",
autor:“Felipe Sousa”,
links: {
href: “/tasafo.com/palestras/123”,
autor: “/autores/6”
}
}],
template: {
titulo: “Título da palestra”,
autor_id: “Id do autor”,
imagem: “url aqui“

}
}
RESTful
RESTful Hypermedia
RESTful Web Service
Vilfredo Pareto
* 1848
+ 1923
“ Se você quer ser um desenvolvedor mais produtivo,
melhore seu tempo de leitura”
Felipe Iketani, 2014
“ Se você quer uma equipe mais produtiva,
crie um ambiente de desenvolvimento
com boas convenções e práticas de desenvolvimento”
Felipe Iketani, 2015
•Código limpo
•Testes automatizados
•Convenções
•Integração contínua
•Versionamento de código
…
OBRIGADO
e participa das comunidades em Belém
Felipe Iketani trabalha na
Belém
Miami (home office)

Mais conteúdo relacionado

Semelhante a Como aumentar a produtividade através da convenção rest em aplicativos web ou mobile

Campus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de SucessoCampus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de Sucesso
Kleber Bacili
 
Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011
Caelum
 
Construindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load TimeConstruindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load Time
João Moura
 
O futuro do cio na economia digital
O futuro do cio na economia digitalO futuro do cio na economia digital
O futuro do cio na economia digital
Instituto de Tecnologia Aragon & Costa - ITAC
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
Rafael Pinheiro
 
Infograficos e SEO
Infograficos e SEOInfograficos e SEO
Infograficos e SEO
Fabio Ricotta
 
Link Building - Relatórios e automação
Link Building - Relatórios e automaçãoLink Building - Relatórios e automação
Link Building - Relatórios e automação
Fabio Ricotta
 
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini MagalhaesCongresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
Victor Rossini Magalhães
 
Ads&Performance - Performance em SEO - técnicas para aumentar a conversão
Ads&Performance - Performance em SEO - técnicas para aumentar a conversãoAds&Performance - Performance em SEO - técnicas para aumentar a conversão
Ads&Performance - Performance em SEO - técnicas para aumentar a conversão
E-Commerce Brasil
 
Como vender mais utilizando a internet
Como vender mais utilizando a internetComo vender mais utilizando a internet
Como vender mais utilizando a internet
Pedro Quintanilha
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
Pedro Marques
 
Bootstraped Startups - Lean Startup Machine
Bootstraped Startups - Lean Startup MachineBootstraped Startups - Lean Startup Machine
Bootstraped Startups - Lean Startup Machine
Joaquim Torres
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
Jorge Moisés Assis
 
Técnico em Informática
Técnico em InformáticaTécnico em Informática
Técnico em Informática
Nícolas Schukkel
 
AULA TECNOLOGIAS 03.pptx
AULA TECNOLOGIAS 03.pptxAULA TECNOLOGIAS 03.pptx
AULA TECNOLOGIAS 03.pptx
Cidrone
 
Pixel site-viabook-blogspot-com-br
Pixel site-viabook-blogspot-com-brPixel site-viabook-blogspot-com-br
Pixel site-viabook-blogspot-com-br
viabook
 

Semelhante a Como aumentar a produtividade através da convenção rest em aplicativos web ou mobile (16)

Campus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de SucessoCampus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de Sucesso
 
Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011
 
Construindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load TimeConstruindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load Time
 
O futuro do cio na economia digital
O futuro do cio na economia digitalO futuro do cio na economia digital
O futuro do cio na economia digital
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
 
Infograficos e SEO
Infograficos e SEOInfograficos e SEO
Infograficos e SEO
 
Link Building - Relatórios e automação
Link Building - Relatórios e automaçãoLink Building - Relatórios e automação
Link Building - Relatórios e automação
 
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini MagalhaesCongresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
Congresso E-Commerce Brasil ADS&PERFORMANCE 2018 - Victor Rossini Magalhaes
 
Ads&Performance - Performance em SEO - técnicas para aumentar a conversão
Ads&Performance - Performance em SEO - técnicas para aumentar a conversãoAds&Performance - Performance em SEO - técnicas para aumentar a conversão
Ads&Performance - Performance em SEO - técnicas para aumentar a conversão
 
Como vender mais utilizando a internet
Como vender mais utilizando a internetComo vender mais utilizando a internet
Como vender mais utilizando a internet
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Bootstraped Startups - Lean Startup Machine
Bootstraped Startups - Lean Startup MachineBootstraped Startups - Lean Startup Machine
Bootstraped Startups - Lean Startup Machine
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
 
Técnico em Informática
Técnico em InformáticaTécnico em Informática
Técnico em Informática
 
AULA TECNOLOGIAS 03.pptx
AULA TECNOLOGIAS 03.pptxAULA TECNOLOGIAS 03.pptx
AULA TECNOLOGIAS 03.pptx
 
Pixel site-viabook-blogspot-com-br
Pixel site-viabook-blogspot-com-brPixel site-viabook-blogspot-com-br
Pixel site-viabook-blogspot-com-br
 

Como aumentar a produtividade através da convenção rest em aplicativos web ou mobile