Mobile apps - MeliDevConf BsAs.

  • CategoryDocuments

  • View375

Report
  • 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 ?
Description