iOS Apps: Nativas vs WebApps
¿Quien soy?
@iturpablotwitter, stackoverflow, spring repository ...
MBA Ing Informático.
ReCompralo.com
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?
Breve comparación
Si, ya se que esto está muy hablado.
Apps Nativas -> Fluidas y potentes
WebApps -> Corren en cualquier dispositivo.
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
Breve Comparación
Problemas con WebApps:-Nunca serán tan fluidas como nativas.-Peor acceso a hardware+Multiplataforma+Updates, no problem -> al instante
¿Cómo empezó todo?
¿Cómo empezó todo?
Al inicio Steve Jobs y Apple veían un futuro de webapps
¿Cómo empezó todo?
Pues lo de siempre, no se puede parar a los frikis :-)Y
Apple reacciono
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).
Disección de una app de negocio
Interfáz gráfica.
Local Storage.
Sync y Offline access.
Live sync.
Acceso a hardware.
App Nativa
Basada en la IOS app de ReCompraloBasada en la IOS app de ReCompralo
Stack:-Xcode -RestKit-Zxing-Facebook-sdk
App NativaInterfáz GráficaInterfáz Gráfica
Interfaz: StoryBoard, Integrar componentes, lucha cuerpo a cuerpo.
App Nativa
Interfáz Gráfica - StoryBoard StoryBoard
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
App Nativa
Interfáz Gráfica - Lucha cuerpo a cuerpo
Suerte ...
App NativaLocal storageLocal storage
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"
App NativaSync y offline accessSync y offline access
No puedo expresar mi agradecimiento a esta librería
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
WebApp
Basada en la WebApp de VentaFunBasada en la WebApp de VentaFun
Stack:-Backbone.js-Cordoba-Handlebars-jquery, jqueryMobile, jqmNavigator-UnderScore-require-Coffee Script
WebApp
Un poco de inspiración - TRELLOTRELLO
http://prezi.com/skunatcrkp5m/trello-architecture/
WebApp
Backbone Backbone
WebApp
Backbone - Estructura Backbone - Estructura
WebNativaInterfáz GráficaInterfáz Gráfica
BackBone.Viewtemplates
html
Events
Handlers
WebNativaLocal storageLocal storage
DB
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.
WebApp HíbridaPhoneGap y Cordoba.jsPhoneGap y Cordoba.js
BackendsMás importante de lo que pareceMás importante de lo que parece
¿Quién Gana?
Todo depende ...
Recommended