“AÑO DEL
DIÁLOGO Y LA RECONCILIACIÓN NACIONAL”
INGENIERÍA
DE SISTEMAS Y TELEMÁTICA
ELECTIVO
PROGRAMACIÓN DE APLICACIONES MÓVILES
AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin
DOCENTE
PORRO CHULLI, Marco Aurelio
BAGUA GRANDE
- AMAZONAS
2018
INTRODUCCIÓN
El
conocimiento de programación de aplicaciones para móviles ha pasado de manera
muy rápida de ser un conocimiento más, a ser una necesitad debido a la rápida
implantación y evolución de las plataformas móviles.
Esta
rápida evolución crea incertidumbre sobre que tecnologías son las más adecuadas
para la programación de móviles. Una de las arquitecturas más implantada es la
proporcionada por el sistema Android. Si estás empezando en esto del desarrollo
de aplicaciones para móviles, puede que esta entrada te resulte útil, porque
vamos a intentar tratar en ella los aspectos fundamentales para comenzar a
crear tus propias aplicaciones.
Antes
que nada debes plantearte en que plataformas te quieres especializar, a modo
orientativo, a continuación te mostramos una gráfica con el volumen de mercado
de las diferentes plataformas:
A
la vista de la gráfica anterior, puede ser una buena apuesta posicionarte en
desarrollar para android o iphone. Esto tiene sus ventajas y desventajas. Como
ventaja, estás trabajando en un mercado amplio, con demanda, pero como
desventaja, es un mercado donde hay ya muchísima gente trabajando. Así que otra
posible opción es optar por mercados más selectos como RIM o Windows Phone 7.
Todo dependerá de cómo plantees tu estrategia y en qué mercado te vas a sentir
más cómodo.
DESARROLLO (NATIVO, MULTIPLATAFORMA COMPILADO EN NATIVO Y MULTIPLATAFORMA BASADO EN HTML5 E HIBRIDO)
- 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 sí mismos en ésta.
Por
ejemplo, si decides especializarte en iOS y así programar para la popular
plataforma de iPhone e iPad, entonces deberás aprender a programar con
Objective-C o Swift y a utilizar el entorno XCode, comprándote además un
ordenador Mac.
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 sí mismos en ésta.
Por
ejemplo, si decides especializarte en iOS y así programar para la popular
plataforma de iPhone e iPad, entonces deberás aprender a programar con
Objective-C o Swift y a utilizar el entorno XCode, comprándote además un
ordenador Mac.
2.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).
Si
ya conoces C# y .NET, aprender Xamarin te ayuda a aprovechar los conocimientos
que ya posees y con ellos desarrollar para todas las plataformas móviles
relevantes del mercado (iOS, Android y Windows Phone).
3. 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. 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).
4. Desarrollo híbrido
Las
aplicaciones híbridas combinan tecnología de las apps nativas y las
aplicaciones web.
Son
aplicaciones escritas en HTML, Javascript y CSS pero que utilizan un contenedor
nativo creado con herramientas de desarrollo multiplataforma, como PhoneGap.
Este
tipo de desarrollo genera una aplicación como tal, descargable desde las
tiendas de aplicaciones.
LENGUAJES DE PROGRAMACIÓN PARA APLICACIONES MOVILES (JAVA, SWIFT, RUBY, BISUAL VASIC.NET, ETC.)
- Java
Es
el lenguaje nativo que usa Android. Cualquier aplicación que use directamente
el hardware y se comunique con el sistema operativo, usará este código. Es un
lenguaje muy extendido, presente en muchos dispositivos, tanto por la red como
a nivel local y aprender a programar en él, no sólo os permitirá hacer
aplicaciones para el sistema de Google, sino también para otros usos, como
programas de escritorio, o incluso videojuegos. Un claro ejemplo de ello es
Minecraft, el famoso juego de Mojang, comprado por Microsoft haceya algún
tiempo, fue creado en Java. Google no se equivocó al escogerlo, ya que existe
una gran comunidad detrás de él y nunca estaréis sólos.
2. Swift
Introducido
en 2014 y declarado abierto en el año 2015, Swift está rápidamente alcanzando
con desarrolladores móviles. Es muy popular, especialmente entre las nuevas
empresas de desarrollo de iOS. Apple ha añadido algunas características
geniales a este lenguaje, tales como la sintaxis simplificada, la capacidad de
localizar con precisión los errores de programador, etc. Enormes esfuerzos de
Apple para promover Swift indican claramente que quiere que este nuevo lenguaje
para convertirse en el lenguaje de programación convencional para su ecosistema
de aplicaciones.
3. Ruby
Ruby
es un lenguaje de scripting orientado a objetos, influenciado por Ada, C++,
Perl, Python y Lisp. RubyMotion es un gran marco para el desarrollo de
aplicaciones móviles nativas y multiplataforma en Ruby. Es bastante fácil de
aprender Ruby, gracias a su elegante sintaxis se centra en la simplicidad y
productividad.
Hay
una gran legión de programadores que literalmente aman Visual Basic y por lo
tanto optan por Visual Basic .NET ya que en teoría (que no en la realidad) se
supone que la adaptación es más fácil porque la sintaxis es más similar. El
salto de Visual Basic 6 a Visual Basic .NET no es tan sencillo ya que hay
bastantes diferencias entre ambos y tendrás que desaprender cosas de VB6 para
no cometer errores de sintaxis en VB.NET. Lo que en principio parece una
ventaja se termina convirtiendo en un problema. Además, otro gran inconveniente
para los veteranos en Visual Basic 6 es que VB.NET no es retro-compatible con
Visual Basic.
De
todos los lenguajes de programación más populares que puedes usar para
programar en .NET, Visual Basic .NET es el más fácil de usar y es el menos
estricto a la hora de escribir código que otros y aporta la misma funcionalidad
que C# por ejemplo, ya que ambos se compilan a CIL.
ejemplo de desarrollo de aplicación móvil
link de nuestras diapositivas

No hay comentarios:
Publicar un comentario