SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Framework para
desarrollo de apps
móviles
IIG. Iván G. Campaña N.
@icampana
¿Qué es un framework de software? ¿Lo
necesito? ¿Va a resolver mis problemas?
¿Qué es un framework de software?
● En términos sencillos:
○ Un marco de trabajo que incluye los principios básicos de la
ingeniería de software, las mejores prácticas en base a la
experiencia de proyectos anteriores y el uso de herramientas
de construcción de software para agilizar y estandarizar el
proceso.
● Para un ingeniero:
○ Las normativas y estándares a seguir.
● Para un técnico:
○ Las herramientas a utilizar (un componente de software).
● Para un diseñador:
○ Los límites bajo los cuales puedo desarrollar mi trabajo
Framework para desarrollo de apps móviles
¿Qué es un framework de software?
● “En el desarrollo de software, un framework o infraestructura
digital, es una estructura conceptual y tecnológica de soporte
definido, normalmente con artefactos o módulos de software
concretos, que puede servir de base para la organización y
desarrollo de software.
Típicamente, puede incluir soporte de programas, bibliotecas, y un
lenguaje interpretado, entre otras herramientas, para así ayudar a
desarrollar y unir los diferentes componentes de un proyecto.”
http://es.wikipedia.org/wiki/Framework
Framework para desarrollo de apps móviles
¿Qué es un framework de software?
● Siempre van asociados a un concepto tomado de la ingeniería de
software:
○ Reutilización de componentes
○ OOD
○ UML
○ XP
○ MVC
● Frameworks conocidos:
○ Ruby on Rails
○ .NET
○ Django
○ Laravel
○ Symphony
Framework para desarrollo de apps móviles
Metodología vs Framework
Un framework puede definir un esquema (un esqueleto, un patrón) para el
desarrollo y/o la implementación de una aplicación:
El paradigma MVC (Model-View-Controller) en términos sencillos indica que se
debe “separar en tu aplicación el manejo de datos, las operaciones, y la
presentación”.
Sin embargo, existen frameworks basados en MVC pueden llegar al nivel de
definir los nombres archivos, estructura de directorios, las convenciones de
programación, etc.
La metodología de trabajo normalmente es independiente a cada equipo
humano, pero de ser necesario se puede incluir fragmentos de metodología
para ayudar a acelerar el proceso y estandarizar como parte del framework.
Framework para desarrollo de apps móviles
¿Porqué usar un framework?
● Evitar el efecto NIH (Not Invented Here) y DRY (Don’t Repeat Yourself)
● Tener componentes probados, revisados y validados para cumplir con las
normativas de un equipo.
● Evitar el tener que plantear una estructura global, sino definir un
“esqueleto” con el cual partir y agregar elementos.
● Establecer un mismo “lenguaje”, esto facilita la colaboración. Permite
poder revisar cualquier proyecto en base a un mismo conjunto de
métricas.
○ Es más sencillo de entender y modificar.
● Permite desarrollar o encontrar herramientas (utilidades, librerías) que se
adapten con facilidad al framework con el cual vamos a trabajar.
Framework para desarrollo de apps móviles
¿Porqué usar un framework?
Uno de los mayores problemas de los frameworks existentes es es que hay
demasiados:
La elección del framework estará marcada por:
● El tipo de aplicación a desarrollar
● El lenguaje de programación y otras tecnologías concretas: base de datos,
sistema operativo, etc.
● Las necesidades relacionadas con el “time to market”
● En el caso de la aplicaciones móviles el tiempo de desarrollo siempre
busca ser lo más corto posible. (Release early, release often)
● El área de mercado que quiero cubrir:
○ Puede ir relacionado en este caso con los dispositivos a los que se
dirija.
Framework para desarrollo de apps móviles
Patrones de diseño de software
● Proporcionan un catálogo de elementos reusables.
● Evitar la reiteración en la búsqueda de soluciones a
problemas ya conocidos.
● Estandariza el léxico utilizado entre diseñadores.
● Estandarizar el modo en que se realiza el diseño.
Patrones de diseño conocidos:
- MVC
- Proxy
- Intérprete
Framework para desarrollo de apps móviles
Patrones de diseño móvil
● Cada plataforma, vendedor y compañía han establecido sus lineamientos
básicos.
● Podemos ajustarnos a ellos para mantener uniformidad y una experiencia
similar.
● Siempre está la opción de crear un estilo diferente, pero nos enfrentamos
crear rechazo.
○ Tiendas de aplicaciones con políticas que regulan el uso y
funcionamiento de las aplicaciones.
○ Experiencias de usuario a las cuales cada grupo objetivo está
acostumbrado.
Framework para desarrollo de apps móviles
Release early, release often
Framework para desarrollo de apps móviles
● Concepto básico utilizado en el software libre y las
metodologías ágiles.
● No quiere decir liberar algo lleno de bugs (fallos).
● Es la metodología aplicada por la mayoría de las
startups al desarrollar aplicaciones móviles.
● Se expone una funcionalidad al cliente de forma
mucho más rápida (por prototipos semi/funcionales)
para obtener retroalimentación.
● Permite adaptar el desarrollo y hacer cambios de curso
antes de llegar a puntos críticos.
● Se fragmenta las funcionalidades y se las puede
evaluar con mayor rapidez (estableciendo unidades de
prueba).
Ambiente de Integración continua
Framework para desarrollo de apps móviles
Utilizar los elementos de ingeniería de forma “astuta”,
para que sean un apoyo al proceso, no una traba...
● Control de versiones (SCM)
○ Recomendable escoger una herramienta estándar:
git, subversion, mercurial
● Unidades de prueba (SQA)
○ Mientras el lenguaje lo permita (99% de las veces)
● Integración y actualización de código (DevOps)
○ Si no se cuenta con un equipo dedicado, proveer un
espacio que les permita realizar integraciones
generales.
Estándares aplicables y reutilizables
Framework para desarrollo de apps móviles
Un proyecto de aplicación móvil es un proyecto de
software como tal.
Los principios básicos de ingeniería se mantienen y se
aplican, la metodología puede variar, pero no deja de
seguir siendo un proyecto de ingeniería. (Ej: Ing. de
software de Pressman 2010)
Recomendaciones: Scrum + XP (O metodologías ágiles en
general).
Estándares aplicables y reutilizables
Framework para desarrollo de apps móviles
Tendencias actuales:
- Aplicaciones móviles basadas en HTML5 + Javascript +
CSS 3
- Aplicaciones híbridas
- Generadores de código
- Mantenimiento en el tiempo.
Framework para desarrollo de apps móviles
¿Qué formato utilizo para
el diseño?
Lineamientos de diseño
Framework para desarrollo de apps móviles
Lineamientos de diseño
Framework para desarrollo de apps móviles
Los patrones vienen dados por quienes controlan el
software:
Google (Android): Material Design http://www.google.
com/design/spec/material-design/introduction.html
Apple (iOS): Human Interface Guidelines:
https://developer.apple.
com/library/ios/documentation/UserExperience/Concept
ual/MobileHIG/
Lineamientos de diseño
Framework para desarrollo de apps móviles
¿Otras alternativas?
DIY
Construcción de software enfocado
en accesibilidad
Framework para desarrollo de apps móviles
● Las aplicaciones móviles y web pueden ser
interpretadas por dispositivos de ayuda a personas con
capacidades reducidas.
● Capacidades comúnmente relegadas:
○ Visión, movilidad, audición
● Al tomar un estándar podemos establecer pautas que
reduzcan la brecha y aumenten el uso.
● ¿Alguien sabe qué le pasa a un Daltónico al usar una
aplicación con una sola gama de colores?
Construcción de software enfocado
en accesibilidad
Framework para desarrollo de apps móviles
Desarrollo por prototipos
Framework para desarrollo de apps móviles
Funcionales / semifuncionales
- Se parte con el diseño de la experiencia
- Se agregan funcionalidades de forma gradual
- Se prueba rendimiento mientras se avanza.
¿Cómo evaluarlos?
- Se establecen entregables
- Cada elemento pasa por el proceso de validación,
pruebas y verificación.
- Inclusive un dibujo en una hoja de papel es un
entregable que forma parte del proyecto.
Integración de información
Framework para desarrollo de apps móviles
Interoperatividad e independencia de implementación.
● No deberían limitarse a un estándar único:
○ json
○ rest
○ soap
○ xml-rpc
● La información puede tener un repositorio base (en un
formato estándar) y simplemente establecer
consumidores de información (que utilicen los
estándares previos).
Manejo de múltiple plataformas
Framework para desarrollo de apps móviles
Manejo de múltiple plataformas / resoluciones.
- Cómo manejamos todos los tipos de dispositivos
- Cuántos se pueden utilizar como para considerar una
base válida.
- El diseño responsivo (responsive design) es una
opción.
- ¿Cuántos diseños de interfaces de usuario deben
existir?
- ¿Cuántos se deben soportar?
Herramientas aplicables
Framework para desarrollo de apps móviles
● Mockups, Wireframes y prototipos (DIA / Pencil: http:
//pencil.evolus.vn/ )
● Integración contínua (Jenkins: http://jenkins-ci.org/ )
● Unidades de prueba (Cucumber: http://cukes.info/ )
● Revisión de código: ( Gerrit / https://code.google.
com/p/gerrit/ )
● Frameworks de desarrollo: Ionic, Phonegap, Titanium,
Codename One, Angular.js
● SCM, control de versiones: git, subversion
● Metodologías de trabajo: Scrum, XP

Contenu connexe

Tendances

Team Software Process (TSP)
Team Software Process  (TSP)Team Software Process  (TSP)
Team Software Process (TSP)Diana
 
Presentacion fase de lanzamiento tsp
Presentacion fase de lanzamiento tspPresentacion fase de lanzamiento tsp
Presentacion fase de lanzamiento tsplagh
 
Tecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadTecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadGiovani Ramirez
 
Kerberos y samba4
Kerberos y samba4Kerberos y samba4
Kerberos y samba4ottorm9
 
Semana 3 gestion de la configuracion y control de cambios
Semana 3 gestion de la configuracion y control de cambiosSemana 3 gestion de la configuracion y control de cambios
Semana 3 gestion de la configuracion y control de cambiosGiovani Ramirez
 
3.1 ingeniería básica
3.1 ingeniería básica3.1 ingeniería básica
3.1 ingeniería básicaJuan Anaya
 
Calidad en el desarrollo de software
Calidad en el desarrollo de softwareCalidad en el desarrollo de software
Calidad en el desarrollo de softwareLupithaa Guerrero
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas webGeraldyn De Sousa
 
Metodología Estructurada -
Metodología Estructurada - Metodología Estructurada -
Metodología Estructurada - wilmery29
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software AlessandreMndez
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosEduardo Galindo
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 

Tendances (20)

Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Team Software Process (TSP)
Team Software Process  (TSP)Team Software Process  (TSP)
Team Software Process (TSP)
 
Presentacion fase de lanzamiento tsp
Presentacion fase de lanzamiento tspPresentacion fase de lanzamiento tsp
Presentacion fase de lanzamiento tsp
 
Tecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadTecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidad
 
Kerberos y samba4
Kerberos y samba4Kerberos y samba4
Kerberos y samba4
 
Conceptos basicos calidad software
Conceptos basicos calidad softwareConceptos basicos calidad software
Conceptos basicos calidad software
 
Semana 3 gestion de la configuracion y control de cambios
Semana 3 gestion de la configuracion y control de cambiosSemana 3 gestion de la configuracion y control de cambios
Semana 3 gestion de la configuracion y control de cambios
 
3.1 ingeniería básica
3.1 ingeniería básica3.1 ingeniería básica
3.1 ingeniería básica
 
Disciplina de desarrollo rup
Disciplina de desarrollo rupDisciplina de desarrollo rup
Disciplina de desarrollo rup
 
Calidad en el desarrollo de software
Calidad en el desarrollo de softwareCalidad en el desarrollo de software
Calidad en el desarrollo de software
 
¿Que son los microservicios?
¿Que son los microservicios?¿Que son los microservicios?
¿Que son los microservicios?
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas web
 
Metodología Estructurada -
Metodología Estructurada - Metodología Estructurada -
Metodología Estructurada -
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
ISO/IEC 14598
ISO/IEC 14598ISO/IEC 14598
ISO/IEC 14598
 
Gestion De Calidad Cap 26
Gestion De Calidad Cap 26Gestion De Calidad Cap 26
Gestion De Calidad Cap 26
 
Metodologia Diseño Web
Metodologia Diseño WebMetodologia Diseño Web
Metodologia Diseño Web
 

En vedette

Game of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCCGame of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCCCarlos Azaustre
 
De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresIván Campaña Naranjo
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipelinerehoscript
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCarlos Azaustre
 
Emprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaEmprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaIván Campaña Naranjo
 
Desarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónDesarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónYesith Valencia
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScript#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScriptCarlos Azaustre
 
Qué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareQué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareLeanSight Consulting
 
Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7videos
 
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ónYare LoZada
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 

En vedette (17)

Game of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCCGame of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCC
 
Net Framework
Net FrameworkNet Framework
Net Framework
 
De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedores
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipeline
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
Emprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaEmprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadilla
 
Desarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónDesarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales Introducción
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScript#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScript
 
Qué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareQué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto software
 
Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7
 
Proyecto tecnología 2015
Proyecto tecnología 2015Proyecto tecnología 2015
Proyecto tecnología 2015
 
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
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Conceptual and theoretical framework
Conceptual and theoretical frameworkConceptual and theoretical framework
Conceptual and theoretical framework
 

Similaire à Framework para desarrollo de apps móviles

Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesJaqueline Luna
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariaJoshernandezcar
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebMiguel Angel Macias
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...Joel Fernandez
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guiareina vigil
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guiareina vigil
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicionalJesenia Escobar
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebEsteban Saavedra
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rupmireya2022
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofwareluisfe
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software JrJunior Leal
 

Similaire à Framework para desarrollo de apps móviles (20)

Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móviles
 
Conferencia_Introducción a la Ingeniería de Software
Conferencia_Introducción a la Ingeniería de SoftwareConferencia_Introducción a la Ingeniería de Software
Conferencia_Introducción a la Ingeniería de Software
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guia
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guia
 
1057571401
10575714011057571401
1057571401
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones Web
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Framework
FrameworkFramework
Framework
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofware
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software Jr
 

Dernier

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Dernier (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Framework para desarrollo de apps móviles

  • 1. Framework para desarrollo de apps móviles IIG. Iván G. Campaña N. @icampana
  • 2. ¿Qué es un framework de software? ¿Lo necesito? ¿Va a resolver mis problemas?
  • 3. ¿Qué es un framework de software? ● En términos sencillos: ○ Un marco de trabajo que incluye los principios básicos de la ingeniería de software, las mejores prácticas en base a la experiencia de proyectos anteriores y el uso de herramientas de construcción de software para agilizar y estandarizar el proceso. ● Para un ingeniero: ○ Las normativas y estándares a seguir. ● Para un técnico: ○ Las herramientas a utilizar (un componente de software). ● Para un diseñador: ○ Los límites bajo los cuales puedo desarrollar mi trabajo Framework para desarrollo de apps móviles
  • 4. ¿Qué es un framework de software? ● “En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.” http://es.wikipedia.org/wiki/Framework Framework para desarrollo de apps móviles
  • 5. ¿Qué es un framework de software? ● Siempre van asociados a un concepto tomado de la ingeniería de software: ○ Reutilización de componentes ○ OOD ○ UML ○ XP ○ MVC ● Frameworks conocidos: ○ Ruby on Rails ○ .NET ○ Django ○ Laravel ○ Symphony Framework para desarrollo de apps móviles
  • 6. Metodología vs Framework Un framework puede definir un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación: El paradigma MVC (Model-View-Controller) en términos sencillos indica que se debe “separar en tu aplicación el manejo de datos, las operaciones, y la presentación”. Sin embargo, existen frameworks basados en MVC pueden llegar al nivel de definir los nombres archivos, estructura de directorios, las convenciones de programación, etc. La metodología de trabajo normalmente es independiente a cada equipo humano, pero de ser necesario se puede incluir fragmentos de metodología para ayudar a acelerar el proceso y estandarizar como parte del framework. Framework para desarrollo de apps móviles
  • 7. ¿Porqué usar un framework? ● Evitar el efecto NIH (Not Invented Here) y DRY (Don’t Repeat Yourself) ● Tener componentes probados, revisados y validados para cumplir con las normativas de un equipo. ● Evitar el tener que plantear una estructura global, sino definir un “esqueleto” con el cual partir y agregar elementos. ● Establecer un mismo “lenguaje”, esto facilita la colaboración. Permite poder revisar cualquier proyecto en base a un mismo conjunto de métricas. ○ Es más sencillo de entender y modificar. ● Permite desarrollar o encontrar herramientas (utilidades, librerías) que se adapten con facilidad al framework con el cual vamos a trabajar. Framework para desarrollo de apps móviles
  • 8. ¿Porqué usar un framework? Uno de los mayores problemas de los frameworks existentes es es que hay demasiados: La elección del framework estará marcada por: ● El tipo de aplicación a desarrollar ● El lenguaje de programación y otras tecnologías concretas: base de datos, sistema operativo, etc. ● Las necesidades relacionadas con el “time to market” ● En el caso de la aplicaciones móviles el tiempo de desarrollo siempre busca ser lo más corto posible. (Release early, release often) ● El área de mercado que quiero cubrir: ○ Puede ir relacionado en este caso con los dispositivos a los que se dirija. Framework para desarrollo de apps móviles
  • 9. Patrones de diseño de software ● Proporcionan un catálogo de elementos reusables. ● Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos. ● Estandariza el léxico utilizado entre diseñadores. ● Estandarizar el modo en que se realiza el diseño. Patrones de diseño conocidos: - MVC - Proxy - Intérprete Framework para desarrollo de apps móviles
  • 10. Patrones de diseño móvil ● Cada plataforma, vendedor y compañía han establecido sus lineamientos básicos. ● Podemos ajustarnos a ellos para mantener uniformidad y una experiencia similar. ● Siempre está la opción de crear un estilo diferente, pero nos enfrentamos crear rechazo. ○ Tiendas de aplicaciones con políticas que regulan el uso y funcionamiento de las aplicaciones. ○ Experiencias de usuario a las cuales cada grupo objetivo está acostumbrado. Framework para desarrollo de apps móviles
  • 11. Release early, release often Framework para desarrollo de apps móviles ● Concepto básico utilizado en el software libre y las metodologías ágiles. ● No quiere decir liberar algo lleno de bugs (fallos). ● Es la metodología aplicada por la mayoría de las startups al desarrollar aplicaciones móviles. ● Se expone una funcionalidad al cliente de forma mucho más rápida (por prototipos semi/funcionales) para obtener retroalimentación. ● Permite adaptar el desarrollo y hacer cambios de curso antes de llegar a puntos críticos. ● Se fragmenta las funcionalidades y se las puede evaluar con mayor rapidez (estableciendo unidades de prueba).
  • 12. Ambiente de Integración continua Framework para desarrollo de apps móviles Utilizar los elementos de ingeniería de forma “astuta”, para que sean un apoyo al proceso, no una traba... ● Control de versiones (SCM) ○ Recomendable escoger una herramienta estándar: git, subversion, mercurial ● Unidades de prueba (SQA) ○ Mientras el lenguaje lo permita (99% de las veces) ● Integración y actualización de código (DevOps) ○ Si no se cuenta con un equipo dedicado, proveer un espacio que les permita realizar integraciones generales.
  • 13. Estándares aplicables y reutilizables Framework para desarrollo de apps móviles Un proyecto de aplicación móvil es un proyecto de software como tal. Los principios básicos de ingeniería se mantienen y se aplican, la metodología puede variar, pero no deja de seguir siendo un proyecto de ingeniería. (Ej: Ing. de software de Pressman 2010) Recomendaciones: Scrum + XP (O metodologías ágiles en general).
  • 14. Estándares aplicables y reutilizables Framework para desarrollo de apps móviles Tendencias actuales: - Aplicaciones móviles basadas en HTML5 + Javascript + CSS 3 - Aplicaciones híbridas - Generadores de código - Mantenimiento en el tiempo.
  • 15. Framework para desarrollo de apps móviles ¿Qué formato utilizo para el diseño?
  • 16. Lineamientos de diseño Framework para desarrollo de apps móviles
  • 17. Lineamientos de diseño Framework para desarrollo de apps móviles Los patrones vienen dados por quienes controlan el software: Google (Android): Material Design http://www.google. com/design/spec/material-design/introduction.html Apple (iOS): Human Interface Guidelines: https://developer.apple. com/library/ios/documentation/UserExperience/Concept ual/MobileHIG/
  • 18. Lineamientos de diseño Framework para desarrollo de apps móviles ¿Otras alternativas? DIY
  • 19. Construcción de software enfocado en accesibilidad Framework para desarrollo de apps móviles ● Las aplicaciones móviles y web pueden ser interpretadas por dispositivos de ayuda a personas con capacidades reducidas. ● Capacidades comúnmente relegadas: ○ Visión, movilidad, audición ● Al tomar un estándar podemos establecer pautas que reduzcan la brecha y aumenten el uso. ● ¿Alguien sabe qué le pasa a un Daltónico al usar una aplicación con una sola gama de colores?
  • 20. Construcción de software enfocado en accesibilidad Framework para desarrollo de apps móviles
  • 21. Desarrollo por prototipos Framework para desarrollo de apps móviles Funcionales / semifuncionales - Se parte con el diseño de la experiencia - Se agregan funcionalidades de forma gradual - Se prueba rendimiento mientras se avanza. ¿Cómo evaluarlos? - Se establecen entregables - Cada elemento pasa por el proceso de validación, pruebas y verificación. - Inclusive un dibujo en una hoja de papel es un entregable que forma parte del proyecto.
  • 22. Integración de información Framework para desarrollo de apps móviles Interoperatividad e independencia de implementación. ● No deberían limitarse a un estándar único: ○ json ○ rest ○ soap ○ xml-rpc ● La información puede tener un repositorio base (en un formato estándar) y simplemente establecer consumidores de información (que utilicen los estándares previos).
  • 23. Manejo de múltiple plataformas Framework para desarrollo de apps móviles Manejo de múltiple plataformas / resoluciones. - Cómo manejamos todos los tipos de dispositivos - Cuántos se pueden utilizar como para considerar una base válida. - El diseño responsivo (responsive design) es una opción. - ¿Cuántos diseños de interfaces de usuario deben existir? - ¿Cuántos se deben soportar?
  • 24. Herramientas aplicables Framework para desarrollo de apps móviles ● Mockups, Wireframes y prototipos (DIA / Pencil: http: //pencil.evolus.vn/ ) ● Integración contínua (Jenkins: http://jenkins-ci.org/ ) ● Unidades de prueba (Cucumber: http://cukes.info/ ) ● Revisión de código: ( Gerrit / https://code.google. com/p/gerrit/ ) ● Frameworks de desarrollo: Ionic, Phonegap, Titanium, Codename One, Angular.js ● SCM, control de versiones: git, subversion ● Metodologías de trabajo: Scrum, XP