Audit¢rio 10 tendàncias em aplicaá‰es m¢veis - soledad dematteo

Preview:

DESCRIPTION

3º Developers Conference MercadoLibre Brasil

Citation preview

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