Mobile apps - MeliDevConf BsAs.

  • Published on
    05-Dec-2014

  • View
    376

  • Download
    0

DESCRIPTION

1. MercadoLibre Developers ConferenceMobile AppsLo que aprendimos en desarrollo mobile usando la API de MercadoLibre,consejo de uso para exprimir al mango los bytesPablo…

Transcript

1. MercadoLibre Developers ConferenceMobile AppsLo que aprendimos en desarrollo mobile usando la API de MercadoLibre,consejo de uso para exprimir al mango los bytesPablo Matias Di Gregorio@pmdigregorio11 de Abril de 2013, Buenos Aires 2. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos 3. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos 4. Estadísticas sobre apps mobile de ML■ +6MM downloads■ 13 países■ 6000 Transacciones diarias■ 5,85% de las compras del sitio: 2,2% apps 5. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos 6. Caso de éxito sobre API MercadoLibre API 7. Caso de éxito sobre API 8. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos 9. Selection GET /sites/MLA/search?q=ipod &attributes=id,title[{"id":"MLA452547458","title":"Ipod Touch 8gb Apple 4ta Generacion Video Hd Caja Sellada"}, {"id":"MLA448735225","title":"Apple Ipod Touch 32 Gb 5ta Generacion Col Negro Envio Gratis"}, {"id":"MLA452109532","title":"Apple Ipod Nano 16gb 7ma Generación. Bluetooth Radio Earpod"}, {"id":"MLA447208949","title":"Apple Ipod Touch 5g 32gb Pantalla Retina 4 Wifi Camara 5mp"}] 10. Un API call -> Muchas vistasGET /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": [ ], }, 11. API Call en background 12. API Call al inicio 13. Ejemplo GET /users/me/bookmarks?... [{"item_id":"MLA452547458"}, {"item_id":"MLA448735225"}, {"item_id":" MLA452109532"},{"item_id":"MLA452392103"}, {"item_id":"MLA447208949"}] 14. Características■ Deben pocos y livianos■ Asincrónicos■ No podemos traernos todo Ej: Sólo ids. Usar selection■ Tener cuidado: Penalty en el inicio de la app■ Nos evitan futuros API calls 15. Múltiples API calls ■ Search ■ Categories ■ Items ■ Variations 16. Problema complejo■ Problema de lógica compleja■ Muchas API calls -> Muchas conexiones■ Muchos puntos de falla■ Duplicamos código■ Muchos KBs a descargar 17. Podemos... 18. ... O server propio: 19. Un API Call MercadoLibre API Server 20. Mashup de respuestas Categories Search Items Categories 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" }] } 21. Custom JSON 22. Mayor flexibilidad a cambios 23. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos 24. Consejos■ Medir response time■ Medir kbs a descargar■ Probar en redes lentas (3G, EDGE)■ Ser creativos y exprimir cada byte! 25. No olvidarse de gzip! 26. curl -H Accept-Encoding: gzip,deflate /sites/MLA/search? q=ipod Sin gzip Con gzip 61 KB 9 KB - 80% 27. Muchas gracias!Pablo Matías Di Gregorio@pmdigregorio ?