SlideShare una empresa de Scribd logo
1 de 13
Herramientas de
desarrollo para
dispositivos móviles
Juan Fernando Ramírez Hernández
Ing. Software 2817is
Desarrollo de aplicaciones móviles
introducción
• Los rápidos avances tecnológicos, el surgimiento de dispositivos que facilitan la
movilidad de la información y comunicación, así como los cambios de paradigmas en las
sociedades permiten descubrir alternativas innovadoras, que ayudan a eliminar barreras
que impiden el desarrollo académico y el conocimiento en la población, creando nuevos
ambientes de aprendizaje que son el fruto del aprovechamiento tecnológico de esta nueva
era.
• Las necesidades y los retos en la educación actualmente generan la necesidad de diseñar
más y mejores estrategias, utilizando todos los recursos disponibles, ya sean humanos o
tecnológicos. De esa manera, muchas estrategias educativas han adoptado modelos de
aprendizaje que hacen uso de las tecnologías de la información (TIC’S) para reforzar el
proceso de generación del conocimiento. El uso de aplicaciones de software en éste
ámbito, ha originado el desarrollo de múltiples herramientas computacionales en todos
los niveles educativos, que van por ejemplo desde aplicaciones para comprobar conceptos
o fórmulas matemáticas, hasta aplicaciones que dan seguimiento a todo un curso
incluyendo etapas de evaluación del conocimiento.
• Objetivo General Desarrollar un documento monográfico de las
herramientas para el desarrollo de aplicaciones en dispositivos
móviles.
• Objetivo específico Hacer un análisis comparativo de las
herramientas para identificar ventajas y desventajas en el desarrollo
de aplicaciones
Herramientas de desarrollo para
dispositivos móviles.
• En cualquier ámbito de programación, hoy en día se cuenta con infinidad de
herramientas disponibles, lenguajes y entornos para poder desarrollar. Todas
esas opciones hacen que, en ocasiones, sea muy complicado decidirse por una
opción u otra. En el mundo del desarrollo para móviles y tabletas pasa lo mismo.
Actualmente dispones de muchas opciones entre ellas se encuentran:
• 1. Los lenguajes y herramientas nativos de cada plataforma: ObjectiveC/Swift y
XCode en iOS, Java y Android Studio en Android, C#, XAML y Visual Studio en
el caso de Windows Phone y Windows 8....
• 2. Herramientas multiplataforma que compilan a códigonativo. La más conocida
y utilizada es Xamarin.
• 3. Herramientas multiplataforma basadas en HTML. La más conocida es
PhoneGap/Apache Cordova, pero existen muchas más. Desarrollo Nativo Está
claro que, el desarrollo nativo es la mejor gran opción. El problema es que cada
plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas utiliza un
lenguaje de programación diferente, herramientas propias y paradigmas de
programación particulares.
• Las aplicaciones escritas con Xamarin en C# se compilan a código nativo en
cada plataforma, por lo que su rendimiento es exactamente el mismo que el
de una aplicación nativa. Además, ofrece acceso directo nativo a todas las
APIs de cada plataforma, así como a los controles de interfaz de usuario
nativos.
• Desarrollo Nativo
• Está claro que, el desarrollo nativo es la mejor gran opción. El problema es
que cada plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas
utiliza un lenguaje de programación diferente, herramientas propias y
paradigmas de programación particulares. A cambio se obtiene la máxima
flexibilidad, adaptación total al entorno en el que se ejecuta la aplicación y el
máximo rendimiento.
• Desarrollo multiplataforma compilado a nativo
• Una opción de compromiso es utilizar alguna plataforma de desarrollo mixta
que independiza el desarrollo del lenguaje nativo de cada plataforma móvil.
Con este tipo de herramientas se utiliza un único lenguaje y se crean
aplicaciones para todas las plataformas, eso sí, adaptando algunas
cuestiones para poder funcionar en cada caso. Lo bueno es que permite
conocer un solo lenguaje, reutilizar gran parte del código entre todas, y
generar aplicaciones nativas para todos los entornos móviles. La más
conocida es, sin duda, Xamarin. Está basada en el lenguaje C# de Microsoft
y en la plataforma .NET, y gracias a sus herramientas permite crear
aplicaciones para todas las plataformas, reutilizando gran parte del código (a
excepción de la interfaz).
• Las apps escritas en HTML5 y compiladas con PhoneGap, permiten crear la
interfaz usando HTML, CSS y JavaScript, lenguajes muy conocidos y
utilizados, y desplegar a las diferentes plataformas. En cada una se puede
utilizar un “skin” concreto para que el aspecto sea lo más similar posible al
de las aplicaciones nativas. PhoneGap y similares crean un contenedor para
la aplicación que la ejecuta como si estuviesen en un servidor web local.
Además, exponen gran parte de la funcionalidad nativa del dispositivo móvil
a través de librerías JavaScript, de modo que es muy sencillo “engancharse”
desde la aplicación HTML5 que se creando.
• Entre las desventajas principales están que la aplicación no tiene el mismo
rendimiento que una app nativa, ni tampoco te dan acceso a todas las APIs
nativas de cada plataforma. aunque sí a todas las importantes. Además,
aunque algunas bibliotecas como jQuery Mobile te dan la opción de
adaptarse al aspecto de cada sistema operativo móvil, no puedes simular
todos los controles nativos (aunque sí muchos de ellos)
• El sistema operativo Android permite utilizar una variante del lenguaje
Java para programar los dispositivos móviles. En este sentido, muchas de
las librerías Java disponibles para ordenadores de escritorio se pueden
utilizar bajo condiciones de operación Android. Sería el caso, por ejemplo, de
la librería Java Topology Suite (JTS), que ha sido tratada en la sección
correspondiente a librerías. Existen por otra parte librerías específicas
desarrolladas para Android, como es el caso de Mapsforge, pensada para
visualizar información cartográfica en dispositivos Android
• OpenLayers y LeafLet: En ambos casos se trata de librerías Javascript cuyo
objetivo es la visualización de información cartográfica en entornos de Web-
mapping. Los dispositivos móviles disponen de navegadores que interpretan
el Javascript, por lo que, en general, es posible utilizar las librerías
Javascript para visualizaciones desde dispositivos móviles, sean estos
Android, iOS u otros.
• En el caso de OpenLayers versión 2 hay que tener algunas precauciones al
programar las páginas. La futura versión 3 de OpenLayers superará estas
limitaciones. El funcionamiento de estas librerías se ha tratado en la sección
correspondiente a Librerías
• OSMDroid: El objetivo de OSMDroid es proporcionar una librería Java-
Android para visualizar mapas en dispositivos Android. Ofrece una clase
MapView para sustituir a la que viene de serie en Android que permite la
visualización de tiles de OpenStreetMap. Se pueden visualizar tiles en modo
on-line y en modo off-line. También proporciona clases para visualizar e
interactuar con overlays, marcadores y otros. MapsForge: Mapsforge es una
librería Open Source que permite gestionar la visualización de mapas de
OpenStreetMap en los dispositivos Android. Es ligera, ocupa unos 300 Kb.
Los mapas tienen un formato vectorial binario que los hace también ligeros.
Utiliza un elemento MapView similar al del API de Google. Tiene una buena
API para overlays (capas vectoriales superpuestas). Se pueden personalizar
los estilos de renderización de los mapas. Tiene una herramienta para crear
mapas a medida a través de Osmosis. Algunos puntos débiles serían que no
dispone de API para Bubbles y no limita la extensión del mapa.
• GeoPaparazzi: Permite tomar fotografías y notas georeferenciadas desde
dispositivos Android, para poder ser visualizadas posteriormente con otras
herramientas GIS. También proporciona una herramienta de tracking
durante los recorridos.
• gvSIGMini: Es un cliente visualizador de cartografía para Android.
Proporciona clientes WMS y WMS-C. Permite la búsqueda de direcciones y
el cálculo de rutas. Trabaja en modo on-line y off-line. Se pueden superponer
varias capas. Proporciona funciones de navegación GPS y posicionamiento
por GPS o por red telefónica. Se puede compartir la posición a través de las
redes sociales (Twitter, Facebook) o por SMS y eMail. Permite la integración
de Street View.
• OsmSharp: Es una herramienta para trabajar con cartografía de
OpenStreetMap. Permite la visualización de información vectorial y el
cálculo de rutas. Se puede utilizar en Android, iOS y WindowsPhone, así
como en Linux, Windows y OSX.
• Glob3Mobile: El proyecto Glob3 Mobile, desarrollado por IGO SOFTWARE y
ULPGC con el respaldo de organismos públicos y privados españoles. Se
trata de un componente para desarrollar mapas en dispositivos móviles,
nativo y multiplataforma; permite aplicaciones 2D, 2.5D y 3D, tanto Android
como iPhone y en general en cualquier entorno HTML5.
• Conclusión
• La elección de la herramienta a utilizar, solo depende de las necesidades
que la aplicación debe suplir al tener en cuenta aspectos como tipo de
aplicación a desarrollar, los dispositivos en los cuales se instalara,
plataforma de software utilizada IDE entre otros. Existe una gran variedad
de opciones, que facilitara a los desarrolladores a la toma de decisión
tecnológica a la hora de crear la solución. La fragmentación y la
incompatibilidad de plataformas es un problema que afecta a los
desarrolladores de aplicaciones móviles.

Más contenido relacionado

La actualidad más candente

Actividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajesActividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajes
Sergio Muñiz
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
Victor Varela
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
David
 

La actualidad más candente (20)

UML
UMLUML
UML
 
Slam Ii
Slam IiSlam Ii
Slam Ii
 
Linea de tiempo HCI
Linea de tiempo HCILinea de tiempo HCI
Linea de tiempo HCI
 
Actividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajesActividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajes
 
Identificadores palabras clave y tipos Java
Identificadores palabras clave y tipos JavaIdentificadores palabras clave y tipos Java
Identificadores palabras clave y tipos Java
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos. Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos.
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
PROGRAMACIÓN DE DISPOSITIVOS MÓVILESPROGRAMACIÓN DE DISPOSITIVOS MÓVILES
PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
 
Programación de dispositivos móviles UNIDAD 5
Programación de dispositivos móviles UNIDAD 5Programación de dispositivos móviles UNIDAD 5
Programación de dispositivos móviles UNIDAD 5
 
1. DBA
1. DBA1. DBA
1. DBA
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
 
sistemas expertos
sistemas expertossistemas expertos
sistemas expertos
 
Ejemplo de Proyecto de Software
Ejemplo de Proyecto de SoftwareEjemplo de Proyecto de Software
Ejemplo de Proyecto de Software
 
Act.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloAct.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrollo
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 

Similar a Herramientas de desarrollo para dispositivos móviles

Similar a Herramientas de desarrollo para dispositivos móviles (20)

Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones moviles
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones moviles
 
Programación de aplicaciones móviles
Programación de aplicaciones móvilesProgramación de aplicaciones móviles
Programación de aplicaciones móviles
 
Programacion de app
Programacion de appProgramacion de app
Programacion de app
 
Programacion de app
Programacion de appProgramacion de app
Programacion de app
 
app
appapp
app
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Marco teorico
Marco teoricoMarco teorico
Marco teorico
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
 
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
 
Herramientas Tecnológicas (Google Docs, php, Second Life, JMeter, PhoneGap)
Herramientas Tecnológicas (Google Docs, php, Second Life, JMeter, PhoneGap)Herramientas Tecnológicas (Google Docs, php, Second Life, JMeter, PhoneGap)
Herramientas Tecnológicas (Google Docs, php, Second Life, JMeter, PhoneGap)
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Creación de apps móviles sin conocimientos de programación
Creación de apps móviles sin conocimientos de programaciónCreación de apps móviles sin conocimientos de programación
Creación de apps móviles sin conocimientos de programación
 
Capitulo 16 LA NUBE MÓVIL Y EL ECOSISTEMA DE APLICACIONES WEB
Capitulo 16 LA NUBE MÓVIL Y EL ECOSISTEMA DE APLICACIONES WEBCapitulo 16 LA NUBE MÓVIL Y EL ECOSISTEMA DE APLICACIONES WEB
Capitulo 16 LA NUBE MÓVIL Y EL ECOSISTEMA DE APLICACIONES WEB
 
Sistemas operativos moviles
Sistemas operativos movilesSistemas operativos moviles
Sistemas operativos moviles
 
Usos y tipos_de_aplicaciones_moviles
Usos y tipos_de_aplicaciones_movilesUsos y tipos_de_aplicaciones_moviles
Usos y tipos_de_aplicaciones_moviles
 
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Diapositivas de desarrollo de programación de aplicaciones moviles
Diapositivas de desarrollo de programación de aplicaciones movilesDiapositivas de desarrollo de programación de aplicaciones moviles
Diapositivas de desarrollo de programación de aplicaciones moviles
 

Más de Fernand Bernowly

Más de Fernand Bernowly (7)

Base de datos moviles
Base de datos movilesBase de datos moviles
Base de datos moviles
 
base de datos orientado a dispositivos moviles
base de datos orientado a dispositivos movilesbase de datos orientado a dispositivos moviles
base de datos orientado a dispositivos moviles
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móviles
 
Ingeniería en software instrucciones y estructuras más importantes
Ingeniería en software instrucciones y estructuras más importantesIngeniería en software instrucciones y estructuras más importantes
Ingeniería en software instrucciones y estructuras más importantes
 
Metodologías para el desarrollo en dispositivos móviles
Metodologías para el desarrollo en dispositivos móvilesMetodologías para el desarrollo en dispositivos móviles
Metodologías para el desarrollo en dispositivos móviles
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Último (20)

Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 

Herramientas de desarrollo para dispositivos móviles

  • 1. Herramientas de desarrollo para dispositivos móviles Juan Fernando Ramírez Hernández Ing. Software 2817is Desarrollo de aplicaciones móviles
  • 2. introducción • Los rápidos avances tecnológicos, el surgimiento de dispositivos que facilitan la movilidad de la información y comunicación, así como los cambios de paradigmas en las sociedades permiten descubrir alternativas innovadoras, que ayudan a eliminar barreras que impiden el desarrollo académico y el conocimiento en la población, creando nuevos ambientes de aprendizaje que son el fruto del aprovechamiento tecnológico de esta nueva era. • Las necesidades y los retos en la educación actualmente generan la necesidad de diseñar más y mejores estrategias, utilizando todos los recursos disponibles, ya sean humanos o tecnológicos. De esa manera, muchas estrategias educativas han adoptado modelos de aprendizaje que hacen uso de las tecnologías de la información (TIC’S) para reforzar el proceso de generación del conocimiento. El uso de aplicaciones de software en éste ámbito, ha originado el desarrollo de múltiples herramientas computacionales en todos los niveles educativos, que van por ejemplo desde aplicaciones para comprobar conceptos o fórmulas matemáticas, hasta aplicaciones que dan seguimiento a todo un curso incluyendo etapas de evaluación del conocimiento.
  • 3. • Objetivo General Desarrollar un documento monográfico de las herramientas para el desarrollo de aplicaciones en dispositivos móviles. • Objetivo específico Hacer un análisis comparativo de las herramientas para identificar ventajas y desventajas en el desarrollo de aplicaciones
  • 4. Herramientas de desarrollo para dispositivos móviles. • En cualquier ámbito de programación, hoy en día se cuenta con infinidad de herramientas disponibles, lenguajes y entornos para poder desarrollar. Todas esas opciones hacen que, en ocasiones, sea muy complicado decidirse por una opción u otra. En el mundo del desarrollo para móviles y tabletas pasa lo mismo. Actualmente dispones de muchas opciones entre ellas se encuentran: • 1. Los lenguajes y herramientas nativos de cada plataforma: ObjectiveC/Swift y XCode en iOS, Java y Android Studio en Android, C#, XAML y Visual Studio en el caso de Windows Phone y Windows 8.... • 2. Herramientas multiplataforma que compilan a códigonativo. La más conocida y utilizada es Xamarin. • 3. Herramientas multiplataforma basadas en HTML. La más conocida es PhoneGap/Apache Cordova, pero existen muchas más. Desarrollo Nativo Está claro que, el desarrollo nativo es la mejor gran opción. El problema es que cada plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas utiliza un lenguaje de programación diferente, herramientas propias y paradigmas de programación particulares.
  • 5. • Las aplicaciones escritas con Xamarin en C# se compilan a código nativo en cada plataforma, por lo que su rendimiento es exactamente el mismo que el de una aplicación nativa. Además, ofrece acceso directo nativo a todas las APIs de cada plataforma, así como a los controles de interfaz de usuario nativos. • Desarrollo Nativo • Está claro que, el desarrollo nativo es la mejor gran opción. El problema es que cada plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas utiliza un lenguaje de programación diferente, herramientas propias y paradigmas de programación particulares. A cambio se obtiene la máxima flexibilidad, adaptación total al entorno en el que se ejecuta la aplicación y el máximo rendimiento.
  • 6. • Desarrollo multiplataforma compilado a nativo • Una opción de compromiso es utilizar alguna plataforma de desarrollo mixta que independiza el desarrollo del lenguaje nativo de cada plataforma móvil. Con este tipo de herramientas se utiliza un único lenguaje y se crean aplicaciones para todas las plataformas, eso sí, adaptando algunas cuestiones para poder funcionar en cada caso. Lo bueno es que permite conocer un solo lenguaje, reutilizar gran parte del código entre todas, y generar aplicaciones nativas para todos los entornos móviles. La más conocida es, sin duda, Xamarin. Está basada en el lenguaje C# de Microsoft y en la plataforma .NET, y gracias a sus herramientas permite crear aplicaciones para todas las plataformas, reutilizando gran parte del código (a excepción de la interfaz).
  • 7. • Las apps escritas en HTML5 y compiladas con PhoneGap, permiten crear la interfaz usando HTML, CSS y JavaScript, lenguajes muy conocidos y utilizados, y desplegar a las diferentes plataformas. En cada una se puede utilizar un “skin” concreto para que el aspecto sea lo más similar posible al de las aplicaciones nativas. PhoneGap y similares crean un contenedor para la aplicación que la ejecuta como si estuviesen en un servidor web local. Además, exponen gran parte de la funcionalidad nativa del dispositivo móvil a través de librerías JavaScript, de modo que es muy sencillo “engancharse” desde la aplicación HTML5 que se creando. • Entre las desventajas principales están que la aplicación no tiene el mismo rendimiento que una app nativa, ni tampoco te dan acceso a todas las APIs nativas de cada plataforma. aunque sí a todas las importantes. Además, aunque algunas bibliotecas como jQuery Mobile te dan la opción de adaptarse al aspecto de cada sistema operativo móvil, no puedes simular todos los controles nativos (aunque sí muchos de ellos)
  • 8. • El sistema operativo Android permite utilizar una variante del lenguaje Java para programar los dispositivos móviles. En este sentido, muchas de las librerías Java disponibles para ordenadores de escritorio se pueden utilizar bajo condiciones de operación Android. Sería el caso, por ejemplo, de la librería Java Topology Suite (JTS), que ha sido tratada en la sección correspondiente a librerías. Existen por otra parte librerías específicas desarrolladas para Android, como es el caso de Mapsforge, pensada para visualizar información cartográfica en dispositivos Android
  • 9. • OpenLayers y LeafLet: En ambos casos se trata de librerías Javascript cuyo objetivo es la visualización de información cartográfica en entornos de Web- mapping. Los dispositivos móviles disponen de navegadores que interpretan el Javascript, por lo que, en general, es posible utilizar las librerías Javascript para visualizaciones desde dispositivos móviles, sean estos Android, iOS u otros. • En el caso de OpenLayers versión 2 hay que tener algunas precauciones al programar las páginas. La futura versión 3 de OpenLayers superará estas limitaciones. El funcionamiento de estas librerías se ha tratado en la sección correspondiente a Librerías
  • 10. • OSMDroid: El objetivo de OSMDroid es proporcionar una librería Java- Android para visualizar mapas en dispositivos Android. Ofrece una clase MapView para sustituir a la que viene de serie en Android que permite la visualización de tiles de OpenStreetMap. Se pueden visualizar tiles en modo on-line y en modo off-line. También proporciona clases para visualizar e interactuar con overlays, marcadores y otros. MapsForge: Mapsforge es una librería Open Source que permite gestionar la visualización de mapas de OpenStreetMap en los dispositivos Android. Es ligera, ocupa unos 300 Kb. Los mapas tienen un formato vectorial binario que los hace también ligeros. Utiliza un elemento MapView similar al del API de Google. Tiene una buena API para overlays (capas vectoriales superpuestas). Se pueden personalizar los estilos de renderización de los mapas. Tiene una herramienta para crear mapas a medida a través de Osmosis. Algunos puntos débiles serían que no dispone de API para Bubbles y no limita la extensión del mapa.
  • 11. • GeoPaparazzi: Permite tomar fotografías y notas georeferenciadas desde dispositivos Android, para poder ser visualizadas posteriormente con otras herramientas GIS. También proporciona una herramienta de tracking durante los recorridos. • gvSIGMini: Es un cliente visualizador de cartografía para Android. Proporciona clientes WMS y WMS-C. Permite la búsqueda de direcciones y el cálculo de rutas. Trabaja en modo on-line y off-line. Se pueden superponer varias capas. Proporciona funciones de navegación GPS y posicionamiento por GPS o por red telefónica. Se puede compartir la posición a través de las redes sociales (Twitter, Facebook) o por SMS y eMail. Permite la integración de Street View.
  • 12. • OsmSharp: Es una herramienta para trabajar con cartografía de OpenStreetMap. Permite la visualización de información vectorial y el cálculo de rutas. Se puede utilizar en Android, iOS y WindowsPhone, así como en Linux, Windows y OSX. • Glob3Mobile: El proyecto Glob3 Mobile, desarrollado por IGO SOFTWARE y ULPGC con el respaldo de organismos públicos y privados españoles. Se trata de un componente para desarrollar mapas en dispositivos móviles, nativo y multiplataforma; permite aplicaciones 2D, 2.5D y 3D, tanto Android como iPhone y en general en cualquier entorno HTML5.
  • 13. • Conclusión • La elección de la herramienta a utilizar, solo depende de las necesidades que la aplicación debe suplir al tener en cuenta aspectos como tipo de aplicación a desarrollar, los dispositivos en los cuales se instalara, plataforma de software utilizada IDE entre otros. Existe una gran variedad de opciones, que facilitara a los desarrolladores a la toma de decisión tecnológica a la hora de crear la solución. La fragmentación y la incompatibilidad de plataformas es un problema que afecta a los desarrolladores de aplicaciones móviles.