SlideShare a Scribd company logo
1 of 31
Aplicaciones «Móviles»


Arquitectura de Software
¿Quien soy?

Sergio Castillo Yrizales

Líder de Proyectos CCR

Expositor de la comunidad JSPeru

4 años de experiencia en soluciones web

3 años en soluciones móviles

                           2
¿Que es Arquitectura?




          3
¿Por que móvil?

      Uno de cada diez peruanos ya tiene un smartphone.

      El 86% de los peruanos se conecta a internet.




Fuente:
Ipsos Apoyo 2011

                               4
Alguno de ustedes a hecho una
      aplicación móvil?




              5
Alguno de ustedes a hecho una
        pagina web?




              6
Alguno de ustedes a hecho una
       aplicación web?




              7
Soluciones Móviles


Dos tipos:
  Aplicaciones nativas (IOS, Android, Windows
  Phone, etc.)

  Aplicaciones Web???




                          8
Aplicaciones Nativas


Ventajas
  Más Rápidas
  Mejores Gráficos
Desventajas
  Muchas tecnologías por aprender (Objective-
  C, Java, Silverlight, Flex…)
  Diferentes Mercados (AppStore, Google Play, Windows
  MarketPlace…)

                         9
Aplicaciones Web

Ventajas
  Un solo grupo de tecnologías (HTML+CSS+JS)
  Compatibles en todos los Mercados
  (PhoneGap, Titanium…)
  Menor costo de Desarrollo
  Menor Curva de aprendizaje
Desventajas
  Rápidas…


                        10
¿Y cual elijo?

Depende de tu aplicación:
Aplicaciones nativas
  Juegos
  Acceso a sensores, cámara, etc.
Aplicaciones web móviles
  Varios objetivos
  Objetivo principal: consumo de información.
  Accesibilidad
  Mercado variado que incluye PCs, Macs y Smartphones

                          11
Preguntas?



   12
Arquitectura de App Web


Componentes:
 Servidor
   SOAP
   REST
 Cliente
   HTML5
   CSS3
   Javascript


                13
Servidor


Servicios Web:
  SOAP
  REST
Base de Datos
DLLs




                    14
Cliente


HTML5
 Accesibilidad (Navegadores de PCs y de Smartphones)

 Standard by W3C

 Ahora incluye la posibilidad de tener Video y Audio




                          15
Cliente

CSS3
 Uso de una gran cantidad de colores

 Transiciones 3D

 Agregar nuevas fuentes (@font-face)

 Muchos efectos mas

                         16
Cliente


Javascript
  Respuesta a Eventos

  Acceso a datos y consumo de Servicios Web

  Manejo de DOM




                         17
¿Y la Arquitectura?




         18
Estrategias


Estrategia de Construcción de BackEnd

Estrategia de Organización de Código FrontEnd

Estrategia de Presentación Multiplataforma




                        19
Estrategia BackEnd


Servicios Web REST
  Flexibilidad de Desarrollo
  Uso adecuado de los verbos HTTP GET, POST, PUT y
  DELETE
  Buena estrategia de manejo de Cache
  Diversas tecnologías: .NET(WCF), JAVA(Jersey, RESTlet)




                          20
Estrategia FrontEnd


Patron MVC
 Modelos para comunicarse con los servicios
 Controladoras que responden a la interacción de los
 usuarios
 Vistas que permiten separar el diseño de la
 programación
 Tecnologías: Backbone, AngularJS, etc…



                         21
Estrategia de Presentación


Muchas veces pasada por alto
Muy importante para maximizar la satisfacción del
usuario
Dos estrategias:
  Responsive Design
  Framework UI: Jquery Mobile, SenchaTouch, etc…




                         22
Preguntas?



   23
Caso de Éxito


CCRSYS - Supervisión




            24
Problema (Req. Técnicos)


Se necesita una aplicación que pueda ser usada en
nuestros equipos Windows Mobile

Asi mismo se debe poder accesar a la misma desde las
PCs de la empresa

Y en el futuro debe poder accesarse desde
dispositivos Android

                        25
Estrategia FrontEnd


Patrón MV* mediante Backbone
  Modelos que manejas la data

  Vistas que responden a eventos y construyen el DOM

  Rutas que controlan el flujo de la aplicación




                            26
Estrategia BackEnd


Servicios REST con WCF
  Integración con la BD MS SQL Server

  Flexibilidad en formatos de Respuesta (JSON)

  Buen IDE (Visual Studio)




                             27
Estrategia de Presentación


Framework: Jquery Mobile
  Compatibilidad con la mayor cantidad de dispositivos:
  Windows Phone, IOS, Android, Blackberry 10, Windows
  Mobile.

  Desarrollo Amigable




                          28
Vista en Smartphone




         29
Vista en PC




     30
Más preguntas?
Twitter: @scyrizales



         31

More Related Content

What's hot

Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de uso
Josafat Mtz
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
landeta_p
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
Xochitl Saucedo Muñoz
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de software
Angel Reyes
 

What's hot (20)

Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de uso
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Manuales de usuario y tecnico
Manuales de usuario y tecnicoManuales de usuario y tecnico
Manuales de usuario y tecnico
 
Modelo de requerimientos
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientos
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Actividad 2.8 Tabla resumen de los principales Sistemas de Archivos
Actividad 2.8 Tabla resumen de los principales Sistemas de ArchivosActividad 2.8 Tabla resumen de los principales Sistemas de Archivos
Actividad 2.8 Tabla resumen de los principales Sistemas de Archivos
 
IDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitosIDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitos
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Metodologia rup parte 1
Metodologia rup parte 1Metodologia rup parte 1
Metodologia rup parte 1
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de software
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Couchdb
CouchdbCouchdb
Couchdb
 
Rational rose
Rational roseRational rose
Rational rose
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
Requerimientos de Usabilidad
Requerimientos de  UsabilidadRequerimientos de  Usabilidad
Requerimientos de Usabilidad
 

Viewers also liked

Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicación
univ of pamplona
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
landeta_p
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
Yare LoZada
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
Roberth Loaiza
 
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2PSemejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
Jose Sanchez
 

Viewers also liked (20)

Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicación
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Arquitectura de aplicaciones
Arquitectura de aplicacionesArquitectura de aplicaciones
Arquitectura de aplicaciones
 
Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en Android
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Arquitectura para aplicaciones web
Arquitectura para aplicaciones webArquitectura para aplicaciones web
Arquitectura para aplicaciones web
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Arquitectura Android
Arquitectura AndroidArquitectura Android
Arquitectura Android
 
Librerías nativas
Librerías nativasLibrerías nativas
Librerías nativas
 
Aseguramiento de calidad en aplicaciones móviles
Aseguramiento de calidad en aplicaciones móvilesAseguramiento de calidad en aplicaciones móviles
Aseguramiento de calidad en aplicaciones móviles
 
Desarrollo de aplicaciones realmente nativas con NDK
Desarrollo de aplicaciones realmente nativas con NDKDesarrollo de aplicaciones realmente nativas con NDK
Desarrollo de aplicaciones realmente nativas con NDK
 
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y SwiftDesarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
 
ingenieria y arquitectura de facebook
ingenieria y arquitectura de facebookingenieria y arquitectura de facebook
ingenieria y arquitectura de facebook
 
Desarrollo móvil híbrido bien entendido
Desarrollo móvil híbrido bien entendidoDesarrollo móvil híbrido bien entendido
Desarrollo móvil híbrido bien entendido
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Seguridad app web
Seguridad app webSeguridad app web
Seguridad app web
 
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2PSemejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
Semejanzas y Diferencias de las Arquitecturas Cliente/Servido y P2P
 

Similar to Arquitectura de software para aplicaciones móviles

Dispostivos Móviles - Jerson Suaza
Dispostivos Móviles - Jerson SuazaDispostivos Móviles - Jerson Suaza
Dispostivos Móviles - Jerson Suaza
Biblioteca EPM
 
Adobe Creative Suite CS6 Design & Web
Adobe Creative Suite CS6 Design & WebAdobe Creative Suite CS6 Design & Web
Adobe Creative Suite CS6 Design & Web
Joel Ortíz
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
Victor Barraza
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
Victor Barraza
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
Victor Barraza
 

Similar to Arquitectura de software para aplicaciones móviles (20)

Genere Apps nativas multiplataforma con Xamarin
Genere Apps nativas multiplataforma con XamarinGenere Apps nativas multiplataforma con Xamarin
Genere Apps nativas multiplataforma con Xamarin
 
Desarrollo de una aplicación móvil basada en gráficos estadísticos paper
Desarrollo de una aplicación móvil basada en gráficos estadísticos   paperDesarrollo de una aplicación móvil basada en gráficos estadísticos   paper
Desarrollo de una aplicación móvil basada en gráficos estadísticos paper
 
Dispostivos Móviles - Jerson Suaza
Dispostivos Móviles - Jerson SuazaDispostivos Móviles - Jerson Suaza
Dispostivos Móviles - Jerson Suaza
 
Consideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformasConsideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformas
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
 
El futuro es hoy. Del Nomadismo al Capitalismo Web
El futuro es hoy. Del Nomadismo al Capitalismo WebEl futuro es hoy. Del Nomadismo al Capitalismo Web
El futuro es hoy. Del Nomadismo al Capitalismo Web
 
Android como plataforma estratégica para el desarrollo de aplicaciones
Android como plataforma estratégica para el desarrollo de aplicacionesAndroid como plataforma estratégica para el desarrollo de aplicaciones
Android como plataforma estratégica para el desarrollo de aplicaciones
 
Adobe Creative Suite CS6 Design & Web
Adobe Creative Suite CS6 Design & WebAdobe Creative Suite CS6 Design & Web
Adobe Creative Suite CS6 Design & Web
 
Honduras Global: Mobile Web, Presentacion para UJCV
Honduras Global: Mobile Web, Presentacion para UJCVHonduras Global: Mobile Web, Presentacion para UJCV
Honduras Global: Mobile Web, Presentacion para UJCV
 
Analitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móvilesAnalitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móviles
 
Responsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendacionesResponsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendaciones
 
Overview Alljoyn SDK presented at SedeLab Webimar.
 Overview Alljoyn SDK presented at SedeLab Webimar. Overview Alljoyn SDK presented at SedeLab Webimar.
Overview Alljoyn SDK presented at SedeLab Webimar.
 
Aplicaciones del Cómputo Móvil
Aplicaciones del Cómputo MóvilAplicaciones del Cómputo Móvil
Aplicaciones del Cómputo Móvil
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
 
Ingeniería web
Ingeniería webIngeniería web
Ingeniería web
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
Gae android
Gae androidGae android
Gae android
 

More from Sergio Castillo Yrizales

More from Sergio Castillo Yrizales (20)

Un dia en la vida de un Software Engineer
Un dia en la vida de un Software EngineerUn dia en la vida de un Software Engineer
Un dia en la vida de un Software Engineer
 
Javascript en tiempos de colera
Javascript en tiempos de coleraJavascript en tiempos de colera
Javascript en tiempos de colera
 
Lambda at the edge
Lambda at the edgeLambda at the edge
Lambda at the edge
 
Angular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetoothAngular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetooth
 
Pushing html5 beyond boundaries
Pushing html5 beyond boundariesPushing html5 beyond boundaries
Pushing html5 beyond boundaries
 
Javascript en tiempos de colera
Javascript en tiempos de coleraJavascript en tiempos de colera
Javascript en tiempos de colera
 
Web apps con angular y material design
Web apps con angular y material designWeb apps con angular y material design
Web apps con angular y material design
 
Tdd con Angular y jasmine
Tdd con Angular y jasmineTdd con Angular y jasmine
Tdd con Angular y jasmine
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Advanced angular 2
Advanced angular 2Advanced angular 2
Advanced angular 2
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Ruby 101 session 5
Ruby 101 session 5Ruby 101 session 5
Ruby 101 session 5
 
Ruby 101 session 4
Ruby 101 session 4Ruby 101 session 4
Ruby 101 session 4
 
Javascript + Angular Sesion 6
Javascript + Angular Sesion 6Javascript + Angular Sesion 6
Javascript + Angular Sesion 6
 
Javascript + Angular Sesion 5
Javascript + Angular Sesion 5Javascript + Angular Sesion 5
Javascript + Angular Sesion 5
 
Ruby 101 session 3
Ruby 101 session 3Ruby 101 session 3
Ruby 101 session 3
 
Ruby 101 session 2
Ruby 101 session 2Ruby 101 session 2
Ruby 101 session 2
 
Javascript + Angular Sesion 4
Javascript + Angular Sesion 4Javascript + Angular Sesion 4
Javascript + Angular Sesion 4
 
Ruby 101 session 1
Ruby 101 session 1Ruby 101 session 1
Ruby 101 session 1
 

Arquitectura de software para aplicaciones móviles