audit¢rio 10 tendàncias em aplicaá‰es m¢veis - soledad dematteo
DESCRIPTION
3º Developers Conference MercadoLibre BrasilTRANSCRIPT
Soledad Dematteo
TENDENCIAS EM APLICACIONES MOVILES
Gerente de Desenvolvimento de Produto
Developer Conference
Um pouco de contextoComo construímos?Técnicas para expremer os bytesConselhos
Developer Conference
➔ IOS & Android➔ +12MM downloads➔ 13 países➔ 23K Transações diárias➔ 9% das compras do site
Developer Conference
Trends
Developer Conference
Developer Conference
Developer Conference
Developer Conference
Developer Conference
Novos devices
Developer Conference
Developer Conference
Developer Conference
Developer Conference
Developer Conference
Developer Conference
Um pouco de contextoComo construímos?Técnicas para expremer os bytesConselhos
Developer Conference
MercadoLivre API
REST (Https)
Utilizamos OAuth para autenticar os usuários
Estamos inscritos aos tópicos de perguntas e vendas para implementar as push notifications
Developer Conference
Um pouco de contextoComo construímos?Técnicas para expremer os bytesConselhos
GET /items/MLB495949586/?attributes=id,title
SELECTION → respostas menores
{ "id": "MLB495949586", "title": "Apple Macbook Pro Mc976 Core I7-2.6/8/512 Ssd/rw/15.4 Retina",}
Uma api call → muitas visões
GET /sites/MLA/search?q=macbook pro retina
{ "site_id": "MLA", "query": "macbook pro retina", "paging": - {...}, "results": - [ - { "id": "MLA453075102", "site_id": "MLA", "title": "Apple Macbook Pro 15 Retina I7 2.3ghz 8gb 256gb Geforce 1gb", "subtitle": "Hacemos Factura A O B, Mas De 7.500 Calificaciones Positivas", "seller": {...}, "price": 24499.85, "currency_id": "ARS", "available_quantity": 37, "sold_quantity": 12, "buying_mode": "buy_it_now", "listing_type_id": "gold_premium", "stop_time": "2013-05-11T13:08:08.000Z", "condition": "new", "permalink": "http://articulo.mercadolibre.com.ar/MLA-453075102-apple-macbook-pro-15-retina-i7-23ghz-8gb-256gb-geforce-1gb-_JM", "thumbnail": "http://img2.mlstatic.com/s_MLA_v_I_f_2903730648_072012.jpg", "accepts_mercadopago": true, "installments": {...}, "address": {...}, "shipping": {...}, "seller_address": {...}, "attributes": [ ], },
Api calls assíncronos para manter a fluidez
“Pre-load: Mexa os bytes enquanto ninguém está vendo”
Developer Conference
GET /users/me/bookmarks?access_token=...
Exemplo
[{ "item_id": "MLB495949586"},{ "item_id": "MLB495923456"},{ "item_id": "MLB345346534"}]
Developer Conference
➔ Devem ser poucos e leves → usar selection➔ Assíncronos → non blocking➔ Poder ter um penalti no início da app
Developer Conference
Múltiplos api calls
SearchItemsCategoriesVariations
Developer Conference
Developer Conference
➔ Muitas API calls → Várias conexões➔ Quantos KBs a descarregar➔ Muitos pontos de falha➔ Duplicamos código com a lógica para gerar esta view
Developer Conference
mobile mashup
MercadoLivre API
Developer Conference
GET /sites/MLB/search….
GET /items/MLB123456
GET /sites/MLB/categories...
GET /categories/MLB109027/attributes
{ "results"[{
"title": "Zapatillas Adidas Climacoo"
"pictures_url":["http://img2.mlstatic.
com/s_MLA_v_O_f_54_13.jpg",] "variations": ["color","size"], "vertical": "CORE"
}]}
Developer Conference
Custom JSON
Developer Conference
Flexibilidade para mudanças
Developer Conference
Sem gzip Com gzip
61 KB 9 KB
curl -H 'Accept-Encoding: gzip,deflate' /sites/MLA/search?q=ipod
-80%
Developer Conference
Um pouco de contextoComo construímos? Técnicas para expremer os bytesConselhos
Developer Conference
➔ Medir response time➔ Medir kbs a descarregar➔ Testar em redes lentas (3G, EDGE)➔ Ser criativos e expremer cada byte!
Conselhos
Developer Conference
Perguntas?
Soledad Dematteo@soledema