mobile apps - melidevconf bsas

Post on 05-Dec-2014

412 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

MercadoLibre Developers Conference

11 de Abril de 2013, Buenos Aires

Mobile AppsLo que aprendimos en desarrollo mobile usando la API de MercadoLibre, consejo de uso para exprimir al mango los bytes

Pablo Matias Di Gregorio@pmdigregorio

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 sitio: 2,2% apps

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","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"}]

Un API call -> Muchas vistas

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 Call en background

API Call al inicio

Ejemplo

GET /users/me/bookmarks?...

[{"item_id":"MLA452547458"}, {"item_id":"MLA448735225"}, {"item_id":"MLA452109532"},{"item_id":"MLA452392103"}, {"item_id":"MLA447208949"}]

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

Múltiples API calls

■ Categories■ Variations

■ Search■ Items

Problema complejo

■ Problema de lógica compleja

■ Muchas API calls -> Muchas conexiones

■ Muchos puntos de falla

■ Duplicamos código

■ Muchos KBs a descargar

Podemos...

... O server propio:

Un API Call

Server

MercadoLibre API

Mashup de respuestas

Search Items Categories attributesCategories

{ "results"[{

"title": "Zapatillas Adidas Climacoo" "pictures_url":[

"http://img2.mlstatic.com/s_MLA_v_O_f_54_13.jpg",] "variations": ["color","size"], "vertical": "CORE"

}]}

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

- 80%

Sin gzip Con gzip

61 KB 9 KB

Muchas gracias!

Pablo Matías Di Gregorio@pmdigregorio

?

top related