MercadoLibre                                         Developers ConferenceMobile AppsLo que aprendimos en desarrollo mobil...
Agenda■   Estadísticas sobre apps mobile de ML■   Casos de éxito sobre API■   Técnicas para exprimir los bytes■   Consejos
Agenda■   Estadísticas sobre apps mobile de ML■   Casos de éxito sobre API■   Técnicas para exprimir los bytes■   Consejos
Estadísticas sobre apps mobile de ML■ +6MM downloads■ 13 países■ 6000 Transacciones diarias■ 5,85% de las compras del siti...
Agenda■   Estadísticas sobre apps mobile de ML■   Casos de éxito sobre API■   Técnicas para exprimir los bytes■   Consejos
Caso de éxito sobre API                 MercadoLibre API
Caso de éxito sobre API
Agenda■   Estadísticas sobre apps mobile de ML■   Casos de éxito sobre API■   Técnicas para exprimir los bytes■   Consejos
Selection                   GET /sites/MLA/search?q=ipod                        &attributes=id,title[{"id":"MLA452547458",...
Un API call -> Muchas vistasGET /sites/MLA/search?q=macbook pro retina{ "site_id": "MLA", "query": "macbook pro retina", "...
API Call en background
API Call al inicio
Ejemplo                  GET /users/me/bookmarks?...  [{"item_id":"MLA452547458"}, {"item_id":"MLA448735225"}, {"item_id":...
Características■ Deben pocos y livianos■ Asincrónicos■ No podemos traernos todo Ej: Sólo ids. Usar selection■ Tener cuidad...
Múltiples API calls ■   Search    ■   Categories ■   Items     ■   Variations
Problema complejo■ Problema de lógica compleja■ Muchas API calls -> Muchas conexiones■ Muchos puntos de falla■ Duplicamos ...
Podemos...
... O server propio:
Un API Call                       MercadoLibre                           API              Server
Mashup de respuestas                                                  Categories         Search         Items        Categ...
Custom JSON
Mayor flexibilidad a cambios
Agenda■   Estadísticas sobre apps mobile de ML■   Casos de éxito sobre API■   Técnicas para exprimir los bytes■   Consejos
Consejos■ Medir response time■ Medir kbs a descargar■ Probar en redes lentas (3G, EDGE)■ Ser creativos y exprimir cada byte!
No olvidarse de gzip!
curl -H Accept-Encoding: gzip,deflate /sites/MLA/search?                         q=ipod            Sin gzip               ...
Muchas gracias!Pablo Matías Di Gregorio@pmdigregorio                           ?
Mobile apps - MeliDevConf BsAs.
Mobile apps - MeliDevConf BsAs.
Mobile apps - MeliDevConf BsAs.
Mobile apps - MeliDevConf BsAs.
Mobile apps - MeliDevConf BsAs.
Mobile apps - MeliDevConf BsAs.
Próxima SlideShare
Cargando en…5
×

Mobile apps - MeliDevConf BsAs.

316 visualizaciones

Publicado el

0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
316
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Mobile apps - MeliDevConf BsAs.

  1. 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. 2. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos
  3. 3. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos
  4. 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. 5. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos
  6. 6. Caso de éxito sobre API MercadoLibre API
  7. 7. Caso de éxito sobre API
  8. 8. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos
  9. 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. 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. 11. API Call en background
  12. 12. API Call al inicio
  13. 13. Ejemplo GET /users/me/bookmarks?... [{"item_id":"MLA452547458"}, {"item_id":"MLA448735225"}, {"item_id":" MLA452109532"},{"item_id":"MLA452392103"}, {"item_id":"MLA447208949"}]
  14. 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. 15. Múltiples API calls ■ Search ■ Categories ■ Items ■ Variations
  16. 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. 17. Podemos...
  18. 18. ... O server propio:
  19. 19. Un API Call MercadoLibre API Server
  20. 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. 21. Custom JSON
  22. 22. Mayor flexibilidad a cambios
  23. 23. Agenda■ Estadísticas sobre apps mobile de ML■ Casos de éxito sobre API■ Técnicas para exprimir los bytes■ Consejos
  24. 24. Consejos■ Medir response time■ Medir kbs a descargar■ Probar en redes lentas (3G, EDGE)■ Ser creativos y exprimir cada byte!
  25. 25. No olvidarse de gzip!
  26. 26. curl -H Accept-Encoding: gzip,deflate /sites/MLA/search? q=ipod Sin gzip Con gzip 61 KB 9 KB - 80%
  27. 27. Muchas gracias!Pablo Matías Di Gregorio@pmdigregorio ?

×