ios apps: nativas vs webapps

30
iOS Apps: Nativas vs WebApps

Upload: betabeers

Post on 03-Jul-2015

313 views

Category:

Technology


1 download

DESCRIPTION

Charla de @iturpablo sobre distintos modos de afrontar el desarrollo de Apps para iOS en el VI Betabeers Mallorca

TRANSCRIPT

Page 1: iOS Apps: Nativas vs Webapps

iOS Apps: Nativas vs WebApps

Page 2: iOS Apps: Nativas vs Webapps

¿Quien soy?

@iturpablotwitter, stackoverflow, spring repository ...

MBA Ing Informático.

ReCompralo.com

Page 3: iOS Apps: Nativas vs Webapps

Indice

¿Cómo empezó todo?Breve comparación

Disección de una app de negocioApps Nativas

WebAppsHíbridas

Backend (te puede salvar la vida)¿Quién gana?

Page 4: iOS Apps: Nativas vs Webapps

Breve comparación

Si, ya se que esto está muy hablado.

Apps Nativas -> Fluidas y potentes

WebApps -> Corren en cualquier dispositivo.

Page 5: iOS Apps: Nativas vs Webapps

Breve Comparación

Nativas: -Solo pueden correr en una plataforma.-Más tiempo y dinero en desarrollo+Mejor experiencia de usuario.+Suelen designan mucho de su código al SO+No necesitan descargar más que la info de usuario-Updates ¿? -> Le paso a Instagram

Page 6: iOS Apps: Nativas vs Webapps

Breve Comparación

Problemas con WebApps:-Nunca serán tan fluidas como nativas.-Peor acceso a hardware+Multiplataforma+Updates, no problem -> al instante

Page 7: iOS Apps: Nativas vs Webapps

¿Cómo empezó todo?

Page 8: iOS Apps: Nativas vs Webapps

¿Cómo empezó todo?

Al inicio Steve Jobs y Apple veían un futuro de webapps

Page 9: iOS Apps: Nativas vs Webapps

¿Cómo empezó todo?

Pues lo de siempre, no se puede parar a los frikis :-)Y

Apple reacciono

Page 10: iOS Apps: Nativas vs Webapps

Disección de una app de negocio

Mi objetivo con esta presentación es hacer una comparativa desde el punto de vista del informático

(mono rasca teclas).

Page 11: iOS Apps: Nativas vs Webapps

Disección de una app de negocio

Interfáz gráfica.

Local Storage.

Sync y Offline access.

Live sync.

Acceso a hardware.

Page 12: iOS Apps: Nativas vs Webapps

App Nativa

Basada en la IOS app de ReCompraloBasada en la IOS app de ReCompralo

Stack:-Xcode -RestKit-Zxing-Facebook-sdk

Page 13: iOS Apps: Nativas vs Webapps

App NativaInterfáz GráficaInterfáz Gráfica

Interfaz: StoryBoard, Integrar componentes, lucha cuerpo a cuerpo.

Page 14: iOS Apps: Nativas vs Webapps

App Nativa

Interfáz Gráfica - StoryBoard StoryBoard

Page 15: iOS Apps: Nativas vs Webapps

App Nativa

Interfáz Gráfica - Intergrar Componentes Intergrar Componentes

Tan simple como: -en el .h extender de un clase-en el .m pasarle la info correcta

Page 16: iOS Apps: Nativas vs Webapps

App Nativa

Interfáz Gráfica - Lucha cuerpo a cuerpo

Suerte ...

Page 17: iOS Apps: Nativas vs Webapps

App NativaLocal storageLocal storage

Page 18: iOS Apps: Nativas vs Webapps

App NativaLocal storageLocal storage

Bastante trivial, pero con muchos detalles. -NSObject -> NSManageObject.-Tratar con SQLite

-Ruta: /Users/#Name#/Library/Application Support/iPhone Simulator/5.1/Applications/#ID#/Documents-Instalar una db con info pre-cargada. Cuidado-Guardar info en local sesion"

Page 19: iOS Apps: Nativas vs Webapps

App NativaSync y offline accessSync y offline access

No puedo expresar mi agradecimiento a esta librería

Page 20: iOS Apps: Nativas vs Webapps

App NativaLocal storage - Sync y offline accessLocal storage - Sync y offline access

Reskit da "out of the box"

Simple request/response system

Core Data support

Object mapping system

Simple request/response system

Page 21: iOS Apps: Nativas vs Webapps

WebApp

Basada en la WebApp de VentaFunBasada en la WebApp de VentaFun

Stack:-Backbone.js-Cordoba-Handlebars-jquery, jqueryMobile, jqmNavigator-UnderScore-require-Coffee Script

Page 22: iOS Apps: Nativas vs Webapps

WebApp

Un poco de inspiración - TRELLOTRELLO

http://prezi.com/skunatcrkp5m/trello-architecture/

Page 23: iOS Apps: Nativas vs Webapps

WebApp

Backbone Backbone

Page 24: iOS Apps: Nativas vs Webapps

WebApp

Backbone - Estructura Backbone - Estructura

Page 25: iOS Apps: Nativas vs Webapps

WebNativaInterfáz GráficaInterfáz Gráfica

BackBone.Viewtemplates

html

Events

Handlers

Page 26: iOS Apps: Nativas vs Webapps

WebNativaLocal storageLocal storage

DB

Page 27: iOS Apps: Nativas vs Webapps

WebAppSync y offline accessSync y offline access

www.saveideanow.com

Operaciones:

full(): Se descarga toda la collection

pull(): Pide información al server y la "mergea" con local

push(): Envia información al server con operaciones atómicas

incremental(): Primero hace un pull y luego un push.

Page 28: iOS Apps: Nativas vs Webapps

WebApp HíbridaPhoneGap y Cordoba.jsPhoneGap y Cordoba.js

Page 29: iOS Apps: Nativas vs Webapps

BackendsMás importante de lo que pareceMás importante de lo que parece

Page 30: iOS Apps: Nativas vs Webapps

¿Quién Gana?

Todo depende ...