1. UNIVERSIDAD NACIONAL
TORIBIO RODRÍGUEZ DE MENDOZA
DE AMAZONAS
FACULTAD DE INGENIERÍA DE SISTEMAS Y MECÁNICA ELÉCTRICA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
TEMA:
Programación de Aplicaciones Móviles
PROFESOR:
Marco Aurelio Porro Chulli
INTEGRANTES:
Suarez Chavez Jhonathan Noe
Salinas Ponce Natalio Oswaldo
CICLO:
VII
BAGUA – PERÚ
2017
2. Introducción
Los grandes avances en la ciencia y la tecnología han contribuido a la
evolución de los sistemas computarizados, los dispositivos electrónicos
se vuelven cada vez más pequeños y con mayores capacidades a la vez
que su costo disminuye, volviéndose asequibles para la mayoría de la
población. Hoy en día existen dispositivos dotados de capacidades de
procesamiento de datos que caben en la palma de la mano, mismos que
son conocidos como dispositivos móviles. Entre estos dispositivos se
destacan los PDA (ayudante personal digital por sus siglas en inglés) y
los SmartPhones.
Los dispositivos móviles constituyen poderosas herramientas, que
aunadas con recurso humano calificado permiten lograr eficiencia y
efectividad en las actividades de cualquier tipo de organización, ya que
tienden a reducir el tiempo y esfuerzo en la captura de datos lo que
finalmente se traduce en reducción de costos.
3. 1.2. Desarrollo (Nativo, Multiplataforma compilado en nativo y Multiplatforma
basado en HTMLS)
DESARROLLO NATIVO
Está claro que, siempre que puedas, 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 obtienes la máxima flexibilidad, adaptación
total al entorno en el que se ejecuta la aplicación y el máximo
rendimiento.
La desventaja principal es que tienes que dominar muchos
lenguajes y herramientas y que el tiempo de desarrollo se multiplica
mucho, pues es necesario crear desde cero tres versiones diferentes
de la misma aplicación (una para cada plataforma).
Por regla general los programadores se especializan y eligen una
única plataforma, de modo que puedan dar lo mejor de si mismos en
ésta.
4. 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 te 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).
5. DESARROLLO MULTIPLATAFORMA BASADO EN HTML5
Una opción muy popular, sobre todo si eres un programador Web, es
utilizar alguna herramienta basada en HTML que genere aplicaciones para
todas las plataformas. Existen muchas, pero la más conocida
es PhoneGap/Apache Cordova.
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 además
podemos 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 estamos creando.
Entre las desventajas principales están que las aplicaciones 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.
6. Lenguajes de programación para aplicaciones móviles.
JAVA
Java lleva más de 20 años mostrando su potencial a la
comunidad de desarrolladores. Tanto es así, que se estima que
en el mundo al menos nueve millones de programadores confían
en Java como su lenguaje principal.
Si hablamos de Java es principalmente porque es la base sobre
la que se construyen todas las Apps para Android. Es cierto que
el Java que se usa para Android no es exactamente el mismo,
pero se diferencia muy poco del Java original. Por lo que, si
estás interesado en desarrollar aplicaciones para el sistema
operativo de Google, aprender Java es un paso que sí o sí,
tienes que dar.
7. SWIFT
Desde su primera versión, las Apps para iOS han sido
desarrolladas en Objetive C. Sin embargo en un intento
de simplificar el desarrollo de aplicaciones para los
dispositivos de Apple y facilitar la curva de aprendizaje,
en 2014 la empresa de Cupertino presentó Swift, su
propio lenguaje de programación.
Su principal ventaja por supuesto es que está
específicamente orientado para el desarrollo de
aplicaciones tanto en iOS como en Mac OS X , lo cual
redunda en más sencillez a la hora de programar y un
mayor grado de optimización para las plataformas en las
que se va a ejecutar.
8. HTML5 + Javascript
HTML es un lenguaje de marcado para la elaboración
de páginas web. No se puede en este sentido, utilizarlo
para el desarrollo de aplicaciones, pero cuando se
combina HTML5 (su última iteración) con Javascript,
obtenemos algo muy similar a un lenguaje de
programación, viable tanto para crear web apps como
aplicaciones móviles.
El desarrollo de apps en HTML5 puede ser interesante
ya que simplifica la carga de trabajo. Sólo tenemos que
desarrollar una App para después “empaquetarla” para
los distintos sistemas operativos: iOS, Android,
escritorio, etc. Se reducen así los tiempos de desarrollo
y los costes de mantenimiento.
9. RUBY
Ruby es un lenguaje de programación dinámico, reflexivo,
orientado a objetos y de uso general. Es compatible con
múltiples paradigmas de programación, incluyendo el
funcional, el orientado a objetos y el imperativo. También
cuenta con un sistema de tipo dinámico y una
administración de memoria automática.
Hay una pequeña diferencia entre los editores y los
entornos de desarrollo (IDE). Un editor es una herramienta
para añadir, editar y visualizar el contenido de un archivo.
Por otro lado, un IDE o entorno de desarrollo integrado, es
un conjunto de herramientas más o menos centradas en
una tarea común, tales como el desarrollo de Ruby, y
todos incluyen algún tipo de un editor.
10. Aptana Studio
Aptana Studio 3 es una herramienta de desarrollo de código
abierto para programadores que tengan experiencia en Ruby.
Permite a los desarrolladores probar sus aplicaciones web usando
un único entorno. Aptana soporta las últimas tecnologías para
navegadores con HTML5, CSS3, JavaScript, Ruby, Rails, PHP y
Python. Incluye varias características como la integración de
archivos GIF, HTML, CSS y Javascript, un depurador integrado, así
como múltiples opciones para llevar a cabo la personalización del
IDE. Contempla múltiples protocolos como FTP, SFTP, FTPS y
Capistrano. Cuenta con la capacidad para publicar
automáticamente tus aplicaciones Ruby & Rails a servicios de
alojamiento como Heroku y Engine Yard
11. NetBeans
NetBeans es un IDE de código abierto y una plataforma que
ayuda a los desarrolladores a implementar rápidamente
páginas web, aplicaciones de escritorio y aplicaciones para
dispositivos móviles. Suspendieron el soporte a Ruby en
2011, debido a que Oracle introdujo un nuevo kit de Java
Dev, pero lo trajeron de vuelta otra vez para el disfrute y
gozo de todos los programadores que utilizamos este
lenguaje y nos chifla este IDE. En realidad, Net Beans está
pensado para desarrollar en Java, aunque también es
compatible con JavaFX, PHP, JavaScript, Ruby & Ruby on
Rails, Groovy and Grails y C / C ++.
12. VISUAL BASIC.NET
Visual Basic (VB) es un lenguaje de
programación dirigido por eventos, desarrollado
por Alan Cooper para Microsoft. Este lenguaje de
programación es un dialecto de BASIC, con importantes
agregados. Su primera versión fue presentada en 1991,
con la intención de simplificar la programación
utilizando un ambiente de desarrollo que facilitó en
cierta medida la programación misma.
Visual Basic contiene un entorno de desarrollo
integrado o IDE que integra editor de textos para
edición del código fuente, un depurador,
un compilador (y enlazador) y un editor de interfaces
gráficas o GUI.
13. Resumen
Los dispositivos móviles constituyen cada vez más una realidad que
ofrece al usuario, en un mismo y reducido aparato, funciones de
comunicación y procesamiento de datos que van mucho más allá de
las simples llamadas telefónicas o la ejecución de aplicaciones
básicas. El gigante de Internet Google ha presentado un nuevo
sistema operativo para este tipo de dispositivos, Android, que busca ser
una firme alternativa a otros sistemas ya ampliamente extendidos como
Symbian o Windows Mobile.
El presente proyecto busca conocer y comprender las
características y el funcionamiento de este nuevo sistema
operativo, averiguando sus posibilidades y ventajas frente a otras
alternativas. Además, abarca el desarrollo completo de una aplicación
de nombre ContactMap, que permite localizar a los contactos
mediante mapas y con la que se busca ilustrar de forma práctica la
construcción y naturaleza de las aplicaciones para Android.
14. Recomendaciones
Las aplicaciones móviles son programas de software diseñadas para
utilizarse en teléfonos inteligentes, tabletas y otros dispositivos
móviles. Su cadena de valor está integrada por desarrolladores,
publicadores, propietarios de las plataformas, empresas de
telecomunicaciones y dispositivos móviles, inversionistas y usuarios
finales.
El ecosistema que rodea a los dispositivos móviles, ha permitido
que miles de desarrolladores utilicen la plataforma para la
realización de aplicaciones que aprovechen la movilidad y los
beneficios tecnológicos como la pantalla capacitiva, grabación de
video y servicios de localización. Sin embargo, para ello se requiere
también potenciar la cobertura y eficiencia de las redes móviles
que soporten el tráfico de datos a través de tecnologías 3G y 4G.
15. Conclusiones
Las tecnologías para la programación de aplicaciones
para dispositivos móviles, en su grado de desarrollo
actual, permiten emplear metodologías semejantes
a las
aplicadas en el desarrollo de aplicaciones de
computadoras de escritorio, es decir, con todas sus
etapas desde los requerimientos hasta el diseño,
pasando por análisis y pruebas; no haciéndose
necesario el aprendizaje de nuevas metodologías.
16. Apreciación del Equipo
La mayoría de estos aparatos cuentan con un sistema
operativo de mayor o menor complejidad, que permita
realizar las tareas de gestión de memoria y control de
hardware que precisan. En el caso de los ordenadores
portátiles, con tanta o incluso mayor capacidad que los de
sobremesa, los sistemas operativos habituales son
perfectamente compatibles y funcionan sin diferencias.
Sin embargo, en otros dispositivos móviles es preciso
diseñar nuevos sistemas operativos adaptados
específicamente a sus características: restricciones de
memoria y procesamiento, consumo mínimo de energía o gran
estabilidad en su funcionamiento, entre otros.
17. Apreciación del Equipo
La mayoría de estos aparatos cuentan con un sistema
operativo de mayor o menor complejidad, que permita
realizar las tareas de gestión de memoria y control de
hardware que precisan. En el caso de los ordenadores
portátiles, con tanta o incluso mayor capacidad que los de
sobremesa, los sistemas operativos habituales son
perfectamente compatibles y funcionan sin diferencias.
Sin embargo, en otros dispositivos móviles es preciso
diseñar nuevos sistemas operativos adaptados
específicamente a sus características: restricciones de
memoria y procesamiento, consumo mínimo de energía o gran
estabilidad en su funcionamiento, entre otros.